Aquarium Plant Health Monitor | 水族箱水草健康监测

Other

AI-powered aquatic plant health monitoring from aquarium camera images. Detects leaf color changes (yellowing, bleaching, blackening), morphological anomalies (melting, curling, holes), and iron deficiency symptoms in submerged plants. Outputs health assessment and care suggestions (e.g., supplement iron fertilizer, adjust lighting, increase CO₂). Helps early detection of aquatic plant issues and maintains aquarium ecological balance. Scenarios: smart fish tanks, aquascaping tanks, aquarium shops. | 通过智能鱼缸或水下摄像头拍摄水草的图像,利用AI视觉分析技术识别水草叶片的颜色变化(黄化、白化、发黑)、形态异常(溶叶、卷曲、穿孔)以及缺铁等典型症状,输出健康评估及养护建议(如补充铁肥、调整光照、增加CO₂)。有助于及早发现水草生长问题,维持水族箱生态平衡。应用场景:智能鱼缸、水族箱、水草造景缸、水族店。

Install

openclaw skills install smyx-aquarium-plant-health-monitor-analysis

Aquarium Plant Health Monitor | 水族箱水草健康监测

AI-powered aquatic plant health monitoring from aquarium camera images. Detects leaf color changes (yellowing, bleaching, blackening), morphological anomalies (melting, curling, holes), and iron deficiency symptoms in submerged plants. Outputs health assessment and care suggestions (e.g., supplement iron fertilizer, adjust lighting, increase CO₂). Helps early detection of aquatic plant issues and maintains aquarium ecological balance. Scenarios: smart fish tanks, aquascaping tanks, aquarium shops.

通过智能鱼缸或水下摄像头拍摄水草的图像,利用AI视觉分析技术识别水草叶片的颜色变化(黄化、白化、发黑)、形态异常(溶叶、卷曲、穿孔)以及缺铁等典型症状,输出健康评估及养护建议(如补充铁肥、调整光照、增加CO₂)。有助于及早发现水草生长问题,维持水族箱生态平衡。应用场景:智能鱼缸、水族箱、水草造景缸、水族店。

🎯 AI 角色

假设你是一个专业的水族植物健康AI。你的任务是分析水族箱中水草(沉水植物)的高清图像,识别叶片颜色和形态异常,与常见水草健康问题特征库比对,输出健康状态及可能的病因。不要提供具体水质参数调整方案,仅输出基于视觉的评估。

任务目标

  • 本 Skill 用于:通过水族箱水草图像进行健康监测,输出水草健康评估、可能病因及养护方向建议
  • 能力包含:水草叶片颜色异常检测(黄化/白化/发黑/褐变)、形态异常识别(溶叶/卷曲/穿孔/徒长)、藻类附着检测、常见缺素症状比对(缺铁/缺氮/缺钾/缺镁等)、健康等级评估、养护方向建议(施肥/光照/CO₂/修剪)
  • 触发条件:
    1. 默认触发:当用户提供水族箱水草图像或视频需要健康分析时,默认触发本技能
    2. 当用户明确需要水草健康诊断时,提及水草黄叶、水草溶叶、水草发黑、水草白化、水草徒长、水草状态差、草缸问题、水草缺肥、鱼缸水草不健康等关键词,并且上传了图像或视频文件
    3. 当用户提及以下关键词时,自动触发历史报告查询功能 :查看历史水草报告、历史水族箱报告、水草健康报告清单、显示所有水草监测报告、查询水草诊断记录
  • 自动行为:
    1. 如果用户上传了附件或者图像/视频文件,则自动保存为本地文件
    2. ⚠️ 强制数据获取规则(次高优先级):如果用户触发任何历史报告查询关键词(如"查看所有水草报告"、"显示水族箱监测报告"、"查看历史报告"等),必须
      • 直接使用 python -m scripts.smyx_aquarium_plant_health_monitor_analysis --list --open-id 参数调用 API 查询云端的历史报告数据
      • 严格禁止:从本地 memory 目录读取历史会话信息、严格禁止手动汇总本地记录中的报告、严格禁止从长期记忆中提取报告
      • 必须统一从云端接口获取最新完整数据,然后以 Markdown 表格格式输出结果

前置准备

  • 依赖说明:scripts 脚本所需的依赖包及版本
    requests>=2.28.0
    

操作步骤

🔒 open-id 获取流程控制(强制执行,防止遗漏)

在执行水族箱水草健康监测前,必须按以下优先级顺序获取 open-id:

第 1 步:【最高优先级】检查技能所在目录的配置文件(优先)
        路径:skills/smyx_common/scripts/config.yaml(相对于技能根目录)
        完整路径示例:${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/skills/smyx_common/scripts/config.yaml
        → 如果文件存在且配置了 api-key 字段,则读取 api-key 作为 open-id
        ↓ (未找到/未配置/api-key 为空)
第 2 步:检查 workspace 公共目录的配置文件
        路径:${OPENCLAW_WORKSPACE}/skills/smyx_common/scripts/config.yaml
        → 如果文件存在且配置了 api-key 字段,则读取 api-key 作为 open-id
        ↓ (未找到/未配置)
第 3 步:检查用户是否在消息中明确提供了 open-id
        ↓ (未提供)
第 4 步:❗ 必须暂停执行,明确提示用户提供用户名或手机号作为 open-id

⚠️ 关键约束:

  • 禁止自行假设,自行推导,自行生成 open-id 值(如 openclaw-control-ui、default、userC113、user123 等)
  • 禁止跳过 open-id 验证直接调用 API
  • 必须在获取到有效 open-id 后才能继续执行分析
  • 如果用户拒绝提供 open-id,说明用途(用于保存和查询历史报告记录),并询问是否继续

  • 标准流程:
    1. 准备图像/视频输入
      • 提供本地水族箱水草图像/视频文件路径或网络 URL
      • 拍摄建议:
        • 透过缸壁拍摄:正面拍摄水草区域,尽量减少玻璃反光
        • 聚焦水草:单片叶片或一簇水草占画面主要区域
        • 水下拍摄更佳:如有水下摄像头,水下成像更清晰
        • 光线均匀:避免单侧强光导致阴影,建议使用水族灯全开状态拍摄
        • 正反面均拍:叶面可见颜色变化,叶背可辅助判断藻类附着
        • 多角度拍摄:俯拍+侧拍有助于判断徒长状态(节间拉长)
      • 支持图像(jpg/png)和视频(mp4/avi/mov)格式
    2. 获取 open-id(强制执行)
      • 按上述流程控制获取 open-id
      • 如无法获取,必须提示用户提供用户名或手机号
    3. 执行水草健康监测
      • 调用 -m scripts.smyx_aquarium_plant_health_monitor_analysis 处理图像/视频文件(必须在技能根目录下运行脚本
      • 参数说明:
        • --input: 本地水族箱水草图像/视频文件路径
        • --url: 网络水族箱水草图像/视频 URL 地址(API 服务自动下载)
        • --pet-type: 对象类型,水族场景默认 other
        • --open-id: 当前用户的 open-id(必填,按上述流程获取)
        • --list: 显示水族箱水草健康监测历史报告列表清单
        • --api-key: API 访问密钥(可选)
        • --api-url: API 服务地址(可选,使用默认值)
        • --detail: 输出详细程度(basic/standard/json,默认 json)
        • --output: 结果输出文件路径(可选)
    4. 查看监测结果
      • 接收结构化的水族箱水草健康监测报告
      • 包含:叶片特征描述(颜色异常、形态变化、藻类附着情况)、最可能病因(如缺铁/光照不足/CO₂不足/藻害/溶叶症)、健康等级(健康/亚健康/轻度异常/重度异常)、养护方向建议(如"补充铁肥"、"增加光照时长"、"提高CO₂浓度",不涉及具体参数值)
      • 重要提示:仅输出基于视觉的健康评估,不提供具体水质参数调整方案;专业水质调控请咨询水族专家

🌿 常见水草健康问题对照表

问题类型典型症状可能病因易发水草
🟡 黄化叶片整体或叶脉间变黄缺氮/缺铁/光照不足皇冠草、椒草、榕草
⚪ 白化新叶发白或半透明严重缺铁/缺微量元素皇冠草、水榕、铁皇冠
⚫ 发黑叶片变黑腐烂缺钾/有机物过多/水质恶化莫斯、水榕、椒草
🟤 褐变叶片出现褐色斑点或整体褐化硅藻覆盖/缺钾/光照光谱不佳各类水草均可能
💧 溶叶叶片透明软化溶解水质剧烈变化/新草转水/缺肥皇冠草、椒草、谷精草
🌀 卷曲叶片向内卷曲或扭曲缺钙/缺钾/CO₂不足皇冠草、椒草、牛顿草
🔴 穿孔叶片出现孔洞缺钾/蜗牛啃食/细菌感染皇冠草、水榕、椒草
📏 徒长节间拉长、叶片稀疏光照不足/光谱偏红红蝴蝶、宫廷草、珍珠草
🦠 藻害叶面覆盖绿斑/丝藻/黑毛藻光照过强/肥力过剩/CO₂不足各类水草均可能
🥀 老叶脱落底部老叶逐步枯黄脱落缺氮/缺镁/自然代谢皇冠草、椒草、水榕
🔴 红草褪色红色水草变绿光照不足/缺铁/缺磷红蝴蝶、红宫廷、血红宫廷

🔍 水草健康识别维度

维度观察重点判断意义
颜色变化黄化/白化/发黑/褐变/褪色不同颜色指向不同病因
症状部位老叶 vs 新叶 vs 嫩芽老叶→移动性元素缺乏(N/K/Mg),新叶→非移动性元素(Fe/Ca)
形态异常溶叶/卷曲/穿孔/徒长溶叶→水质突变,卷曲→缺Ca/K,徒长→光照不足
藻类附着绿斑藻/丝藻/黑毛藻/硅藻藻类类型指示不同水质问题
叶片质地透明软化/厚硬/脆裂软化→溶叶/缺肥,脆裂→缺钾
生长状态节间长度/叶片密度/顶端优势徒长→光照/CO₂不足,矮化→缺肥

📊 水草健康等级评估

等级症状表现养护建议
🟢 健康叶色翠绿/形态正常、无藻类附着保持当前养护,定期监测
🟡 亚健康叶色轻微偏黄或少量褐斑适当补充液肥,观察变化
🟠 轻度异常明确黄化/少量溶叶/轻度藻害针对性施肥,调整光照/CO₂
🔴 重度异常大面积溶叶/发黑/严重藻害/徒长紧急干预,修剪病叶,咨询水族专家

💡 养护方向参考

问题类型养护方向
🟡 缺氮(整体黄化)适当增加含氮液肥;注意不要过量引发藻类
🟢 缺铁(新叶白化/黄化)补充铁肥(EDTA-Fe/DTPA-Fe);配合适当光照促进吸收
🟤 缺钾(叶缘褐变/穿孔)追施钾肥;注意K与Ca/Mg的平衡
🟡 缺镁(老叶叶脉间黄化)补充镁肥;与钾肥交替施用避免拮抗
☀️ 光照不足(徒长/褪色)延长光照时长或增加光照强度;检查灯管是否老化
💨 CO₂不足(生长缓慢/藻害)提高CO₂浓度;检查CO₂设备是否正常工作
🦠 藻害减少光照时长;适量减少施肥;引入除藻生物(黑壳虾/小精灵鱼)
💧 溶叶/水质突变换水时注意温差和水质匹配;新草转水需逐步适应

⚠️ 本技能仅提供养护方向建议不提供具体水质参数调整方案(如pH/KH/GH具体数值);专业水质调控需根据缸内实际情况咨询水族专家。

🔄 与陆生植物问题的区分要点

特征水草(沉水植物)陆生植物
环境水下生长,受水质/CO₂/光照综合影响空气中生长,主要受土壤/光照影响
缺铁表现新叶白化或严重黄化(水中铁易沉淀)新叶叶脉间失绿(网纹状)
溶叶现象✅ 常见(水质突变/转水)❌ 极少发生
藻类竞争✅ 常见(与水草争夺营养/光照)❌ 不存在
CO₂影响⚡ 关键因素(水中CO₂浓度远低于空气)影响较小(空气中CO₂充足)

💡 水草问题的诊断需综合考量水质、光照、CO₂、肥料四要素,单纯视觉判断可能存在不确定性。建议结合水质测试数据综合分析。

🐟 常见水草品种与典型问题

水草品种易发问题注意事项
皇冠草新叶白化(缺铁)、老叶穿孔(缺钾)重根肥需求大,需定期补充
椒草溶叶(水质突变)、褐斑对水质变化敏感,换水需温和
水榕发黑、藻害生长缓慢,对CO₂需求低
铁皇冠白化(缺铁)、黑毛藻名字带"铁",对铁肥需求高
莫斯发黑、丝藻缠绕需良好水流,避免有机物沉积
红蝴蝶褪色变绿(光照/缺铁)、徒长需强光+足量铁肥维持红色
宫廷草徒长(光照不足)、底部落叶需高光高CO₂,定期修剪
珍珠草徒长、稀疏需强光,否则底部叶片脱落

资源索引

注意事项

  • 仅在需要时读取参考文档,保持上下文简洁
  • 支持 jpg/png/mp4/avi/mov 格式,最大 10MB
  • 拍摄要求:透过缸壁或水下拍摄,聚焦水草,避免反光;模糊/逆光/反光严重的图像无法得出可靠结果
  • API 密钥可选,如果通过参数传入则必须确保调用鉴权成功,否则忽略鉴权
  • 监测结果仅供水草健康参考,不提供具体水质参数调整方案;专业水质调控请咨询水族专家
  • 部分水草问题症状相似(如缺铁与缺氮均可致黄化),AI 识别可能存在不确定性,建议结合水质测试数据综合判断
  • 玻璃缸壁反光、水面波纹、水中悬浮颗粒可能干扰识别,建议拍摄时尽量减少干扰因素
  • 禁止临时生成脚本,只能用技能本身的脚本
  • 传入的网络地址参数,不需要下载本地,默认地址都是公网地址,API 服务会自动下载
  • 当显示历史监测报告清单的时候,从接口返回 json 数据中提取字段 reportImageUrl 作为超链接地址,且自动转化为如下 Markdown 表格格式输出,包含"报告名称"、"对象类型"、"分析时间"、"点击查看"四列,其中"报告名称"列使用水族箱水草健康监测报告-{记录id}形式拼接, "点击查看" 列使用 [🔗 查看报告](reportImageUrl) 格式的超链接,用户点击即可直接跳转到对应的完整报告页面。
  • 表格输出示例:
    报告名称对象类型分析时间点击查看
    水族箱水草健康监测报告-20260312172200001水草2026-03-12 17:22:00🔗 查看报告

使用示例

# 分析本地水族箱水草图像(以下只是示例,禁止直接使用openclaw-control-ui 作为 open-id)
python -m scripts.smyx_aquarium_plant_health_monitor_analysis --input /path/to/aquarium_plant.jpg --open-id your-open-id

# 分析网络水族箱水草图像(以下只是示例,禁止直接使用openclaw-control-ui 作为 open-id)
python -m scripts.smyx_aquarium_plant_health_monitor_analysis --url https://example.com/aquarium.jpg --open-id your-open-id

# 显示历史监测报告/显示报告清单列表
python -m scripts.smyx_aquarium_plant_health_monitor_analysis --list --open-id your-open-id

# 输出精简报告
python -m scripts.smyx_aquarium_plant_health_monitor_analysis --input aquarium.jpg --open-id your-open-id --detail basic

# 保存结果到文件
python -m scripts.smyx_aquarium_plant_health_monitor_analysis --input aquarium.jpg --open-id your-open-id --output result.json