Coding

花卉识别与养护

Try it

🌸 AI花卉识别与养护技能。上传花卉/植物照片,自动识别品种,提供浇水/光照/温度/土壤/施肥/病虫害六大维度专业养护指南,生成交互式HTML可视化报告。基于DashScope多模态大模型。覆盖观花植物/观叶植物/多肉/水生植物/藤本/木本等全品类。Triggers: 识花, 这是什么花, 花卉识别, 植物识别...

What it does

上传任意花卉/植物照片,AI自动识别品种并生成专业养护指南。覆盖浇水、光照、温度、土壤、施肥、病虫害防治六大维度,生成包含雷达图、养护卡片和病虫害提示的交互式HTML可视化报告。

The skill document

🌸 花卉识别与养护 Flower Care

AI驱动的花卉识别与养护指导 | 拍照即识 | 6维养护指南 | 可视化报告

概述

上传任意花卉/植物照片,AI自动识别品种并生成专业养护指南。覆盖浇水、光照、温度、土壤、施肥、病虫害防治六大维度,生成包含雷达图、养护卡片和病虫害提示的交互式HTML可视化报告。

触发场景

  • 用户说"这是什么花"、"识别一下这个植物"、"帮我看看这是什么"
  • 用户说"怎么养"、"养护指南"、"这花怎么浇水"
  • 用户说"花生病了"、"叶子黄了"、"长虫了"
  • 用户分享植物照片并询问养护方法
  • 用户询问某类植物的养护要点(可查询内置知识库)

核心功能

功能说明
📸 拍照识花上传照片,AI自动识别植物品种(含学名、科属)
💚 健康评估判断植物健康状态(健康/一般/较差)并预警
🌿 6维养护指南浇水、光照、温度、土壤、施肥、病虫害防治
🛡️ 病虫害防治识别常见病虫害,给出具体防治方案
📊 可视化报告Chart.js雷达图 + 养护卡片 + 健康预警
📚 内置知识库60+常见植物养护数据,可离线查询

执行流程

Step 1: 接收图片

用户提供图片路径或URL。如果用户没有提供路径,询问用户上传或拖拽图片。

如果用户没有图片只是询问养护知识,跳转到 Step 5 使用内置知识库回答。

Step 2: 检查环境与 API Key

首次使用前需配置 DashScope API Key:

/c/Users/PC/.workbuddy/binaries/python/versions/3.13.12/python.exe -c "
import json, os
key = os.environ.get('DASHSCOPE_API_KEY', '')
if not key:
    cfg = os.path.expanduser('~/.workbuddy/config/dashscope.json')
    if os.path.exists(cfg):
        with open(cfg) as f:
            key = json.load(f).get('api_key', '')
print('API Key:', '已配置' if key and 'YOUR_' not in key else '未配置')
"

如果未配置,两种方式设置:

方式一(推荐):编辑配置文件

# 编辑 C:/Users/PC/.workbuddy/config/dashscope.json
# 将 YOUR_DASHSCOPE_API_KEY_HERE 替换为实际的 API Key

方式二:设置环境变量

export DASHSCOPE_API_KEY="sk-xxxxxxxxxxxxx"

获取 API Key: https://dashscope.console.aliyun.com/apiKey

Step 3: 运行花卉识别

使用技能内置脚本 scripts/flower_care.py:

/c/Users/PC/.workbuddy/binaries/python/versions/3.13.12/python.exe \
  /c/Users/PC/.workbuddy/skills/flower-care/scripts/flower_care.py \
  --image "<用户提供的图片路径>" \
  --output "/c/Users/PC/WorkBuddy/2026-06-18-11-18-38/flower_care_report.html"

参数说明:

参数说明
--image PATH植物照片路径(必填)
--output PATHHTML报告输出路径(可选,默认当前目录)
--model NAMEDashScope模型,默认 qwen-vl-max(也可用 qwen-vl-plus)

Step 4: 展示结果

脚本执行完成后:

  1. 在对话中展示识别结果摘要(植物名称+养护要点)
  2. 使用 present_files 预览并交付HTML报告

Step 5: 无需图片的养护咨询(使用内置知识库)

如果用户只是问"绿萝怎么养"、"多肉浇水频率"等,直接参考 references/plant_care_db.md 知识库回答,无需调用API。

知识库覆盖 60+ 常见植物,按类别索引:

  • 观花植物 (#1-15):月季、玫瑰、茉莉、栀子、兰花、蝴蝶兰等
  • 观叶植物 (#16-30):绿萝、吊兰、虎皮兰、龟背竹、琴叶榕等
  • 多肉植物 (#31-33):多肉通用、仙人掌、玉露
  • 香草/食用 (#34-36):薄荷、迷迭香、薰衣草
  • 其他:水生植物、空气净化植物、年宵花、藤本、盆景、网红植物

查询方式:用 grep 在知识库中搜索植物名:

grep -A 10 "^### .*绿萝" /c/Users/PC/.workbuddy/skills/flower-care/references/plant_care_db.md

API 配置

脚本自动从以下位置读取 DashScope API Key(按优先级):

  1. 环境变量 DASHSCOPE_API_KEY
  2. 环境变量 OPENAI_API_KEY(兼容模式)
  3. 配置文件 ~/.workbuddy/config/dashscope.json

DashScope API 端点:

POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
Model: qwen-vl-max (推荐,识别最准确) 或 qwen-vl-plus (更快更省)

养护维度说明

维度Emoji说明
浇水 💧浇水频率、方法、注意事项
光照 ☀️光照需求、每日时长、摆放位置
温度 🌡️适宜范围、最低/最高耐受、季节调整
土壤 🪴土壤类型、酸碱度、透气排水要求
施肥 🧪施肥频率、肥料类型、休眠期停肥
病虫害 🛡️常见病害、典型症状、防治药剂和方法

独立使用(直接调用 API)

不运行脚本时,可直接用以下代码调用 DashScope API 进行花卉识别:

import base64, json, os
import urllib.request

def identify_flower(image_path):
    api_key = os.environ.get("DASHSCOPE_API_KEY", "")
    if not api_key:
        cfg = os.path.expanduser("~/.workbuddy/config/dashscope.json")
        if os.path.exists(cfg):
            with open(cfg) as f:
                api_key = json.load(f).get("api_key", "")

    with open(image_path, "rb") as f:
        img_b64 = base64.b64encode(f.read()).decode()

    ext = os.path.splitext(image_path)[1].lower()
    mime_map = {".jpg": "jpeg", ".jpeg": "jpeg", ".png": "png", ".webp": "webp"}
    mime = mime_map.get(ext, "jpeg")

    prompt = """你是一位资深园艺师。请识别图片中的植物并提供养护建议。
返回JSON:{"plant_name":"","scientific_name":"","family":"","plant_type":"",
"health_status":"健康/一般/较差","difficulty":"容易/中等/较难",
"water":{"frequency":"","method":"","note":""},
"light":{"requirement":"","hours":"","note":""},
"temperature":{"range":"","min":"","note":""},
"soil":{"type":"","ph":"","note":""},
"fertilizer":{"schedule":"","type":"","note":""},
"diseases":[{"name":"","symptom":"","treatment":""}],
"tips":[""],"description":"",
"care_score":{"watering":0.5,"light":0.5,"temperature":0.5,"soil":0.5,"fertilizer":0.5,"pest_control":0.5}}"""

    payload = json.dumps({
        "model": "qwen-vl-max",
        "messages": [{"role": "user", "content": [
            {"type": "image_url", "image_url": {"url": f"data:image/{mime};base64,{img_b64}"}},
            {"type": "text", "text": prompt}
        ]}],
        "temperature": 0.3, "max_tokens": 1500
    }).encode()

    req = urllib.request.Request(
        "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
        data=payload,
        headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
    )
    with urllib.request.urlopen(req, timeout=60) as resp:
        return json.loads(resp.read())

文件结构

flower-care/
├── SKILL.md                       # 本文件
├── scripts/
│   └── flower_care.py             # 主脚本:图片→API→报告
├── assets/
│   └── report_template.html       # HTML报告模板(含雷达图+养护卡片)
└── references/
    └── plant_care_db.md           # 60+常见植物养护知识库

常见问题

Q: 识别不准确怎么办?

  • 确保照片清晰、光线充足,花朵/叶片特征明显
  • 尽量包含花朵和叶片,多角度拍摄效果更好
  • 避免背景过于杂乱

Q: API Key 从哪里获取?

Q: 没有图片也能用吗?

  • 可以!直接说出植物名称(如"绿萝怎么养"),会从内置知识库查询养护指南

Related skills

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

More from bettermen

Browse all skills

AI-powered memory guardian for Windows. Manage system memory, kill high-risk processes, monitor in background, and view real-time Web GUI dashboard. Triggers...

by bettermen5 installs1 stars

AI开发工程师全流程工作流。覆盖需求分析→技术选型→数据处理→AI核心开发(Prompt/Agent/RAG/微调)→后端服务→前端交互→测试评估→部署运维→性能优化→LLMOps→安全护栏10大阶段。面向LLM应用开发全链路,提供代码模板、架构决策框架、调试排查指南。触发词: AI开发, AI工程师, AI全栈...

by bettermen5 installs1 stars

AI产品经理全流程助手。覆盖需求洞察→竞品分析→PRD方案设计→AI能力设计(Prompt/Agent/RAG)→上线评估→迭代优化6大阶段。融合模型边界管理、Prompt工程、Agent编排、RAG数据工程、AI评估五大核心能力。触发词: AI产品经理, AI PM, 写PRD, 竞品分析, Prompt设计,...

by bettermen4 installs1 stars

MetricHub多租户指标平台全流程编排:指标目录浏览、查询构建执行(九条铁律/九条消歧规则/快速计算语法)、数据可视化推荐、仪表盘编排。触发:查询指标、同环比、占比、排名、时间限定、metricDefinitions、timeConstraint、filters、dimensions、查看指标目录、创建仪表盘...

by bettermen5 installs

为文章规划并生成可读性强的极简强线条手绘配图。先建立文章地图,识别段落适合流程图、架构图、对比图、关系图、结构图还是概念插图,再通过构思卡组织单一命题、原文指纹、信息单位、阅读顺序和固定橙白圆猫角色。构思通过可读性测试后默认直接生成。用户说配图、手绘配图、给文章配图、文章插图、技术文章插图、流程图、架构图、关系图...

by bettermen4 installs

绂诲搴旇瘔鎸囧崡AI鍔╂墜銆傚綋鐢ㄦ埛琚捣璇夌濠氶渶瑕佸簲璇夊府鍔╂椂锛屾彁渚涘叏娴佺▼鎸囧锛? 搴旇瘔娴佺▼瀵艰埅銆佺瓟杈╃姸鐢熸垚銆佹劅鎯呯牬瑁傝瘉鎹噯澶囥€佽储浜у垎鍓插垎鏋愩€佸瓙濂虫姎鍏绘潈璇勪及銆? 搴旇瘔绛栫暐寤鸿銆佹硶寰嬫潯鏂囬€熸煡銆傝鐩栦粠鏀跺埌璧疯瘔鐘跺壇鏈埌鍒ゅ喅鎵ц鐨勫...

by bettermen4 installs