{"id":"4b1f5a68-cc1d-4cf0-a63f-1374e9bac0b2","entityType":"agent","slug":"clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis","name":"Plant Nutrition Diagnosis Skill | 植物营养诊断技能","canonicalUrl":"https://www.xpersona.co/agent/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis","canonicalPath":"/agent/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis","generatedAt":"2026-10-10T09:12:45.339Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T01:20:18.828Z","emptyReason":null},"description":"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 Skill: Plant Nutrition Diagnosis Skill | 植物营养诊断技能 Owner: smyx-sunjinhui Summary: Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 Tags: latest:1.0.11 Version history: v1.0.11 | 2026-08-27T18:33:58.637Z | auto - Updated version number in SKILL","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.8K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-plant-nutrition-diagnosis-analysis","sourceUrl":"https://clawhub.ai/smyx-sunjinhui/smyx-plant-nutrition-diagnosis-analysis","homepage":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-plant-nutrition-diagnosis-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/smyx-sunjinhui/smyx-plant-nutrition-diagnosis-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-plant-nutrition-diagnosis-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient m"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:20:18.828Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:20:18.828Z","emptyReason":null},"stars":null,"forks":null,"downloads":1810,"packageName":null,"latestVersion":"1.0.11","tractionLabel":"1.8K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:20:18.828Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T01:20:18.828Z","lastCrawledAt":"2026-10-10T01:20:18.828Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T01:20:18.828Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.11","createdAt":"2026-08-27T18:33:58.637Z","changelog":"- Updated version number in SKILL.md from 1.0.14 to 1.0.15. - Removed the file skill-card.md. - No changes to feature set or workflow documented.","fileCount":30,"zipByteSize":38816},{"version":"1.0.10","createdAt":"2026-08-23T02:03:58.902Z","changelog":"- Updated skill version to 1.0.14. - SKILL.md: Version number in metadata and documentation updated from 1.0.12 to 1.0.14. - Removed the unused file `skill-card.md`. - Minor content changes in configuration and documentation files; no workflow or capability changes.","fileCount":30,"zipByteSize":38699},{"version":"1.0.9","createdAt":"2026-08-10T11:39:32.180Z","changelog":"- Removed the file: skill-card.md - No changes to functionality or main documentation - This update only affects bundled documentation files","fileCount":30,"zipByteSize":38572},{"version":"1.0.8","createdAt":"2026-08-08T19:28:30.547Z","changelog":"- Updated version number in documentation to 1.0.12 - Removed the skill-card.md file - No changes to core functionality; documentation cleanup and minor metadata updates only","fileCount":30,"zipByteSize":38647},{"version":"1.0.7","createdAt":"2026-07-31T13:45:31.402Z","changelog":"- Version updated to 1.0.10 in SKILL.md. - Minor documentation adjustments; version number aligned in documentation. - Removed the redundant skill-card.md file for better maintenance. - No functional or interface changes.","fileCount":30,"zipByteSize":38653},{"version":"1.0.6","createdAt":"2026-07-17T23:17:27.054Z","changelog":"- Updated skill version from 1.0.6 to 1.0.9 - SKILL.md revised: improved version metadata and documentation details - Maintenance cleanup: skill-card.md file removed - Internal scripts updated: changes in config.py and util.py in the smyx_common/scripts directory","fileCount":30,"zipByteSize":38471},{"version":"1.0.5","createdAt":"2026-07-03T11:18:41.527Z","changelog":"- Version bump from 1.0.5 to 1.0.6. - Updated documentation in SKILL.md to reflect recent changes and improvements. - Removed outdated file `skill-card.md`. - Internal code modifications in config, dao, and util scripts for maintainability and/or bug fixes (details not specified).","fileCount":30,"zipByteSize":38417},{"version":"1.0.4","createdAt":"2026-06-25T18:13:30.849Z","changelog":"- Major update: User identity handling is now fully automated and hidden, with no user input or exposure of identity parameters required. - All prompts regarding open-id/user identity input or output have been removed; internal scripts now manage identity linkage silently. - Skill documentation rewritten for clarity, conciseness, and improved privacy guidance, emphasizing cloud-only report retrieval and strict privacy guarantees. - Removed any references to legacy/manual memory or report aggregation—history features only use the cloud API. - License info added (“MIT-0”); minor bug fixes and internal consistency improvements.","fileCount":30,"zipByteSize":35344}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-plant-nutrition-diagnosis-analysis","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T09:12:45.334Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-plant-nutrition-diagnosis-analysis/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T01:20:18.828Z","emptyReason":null},"readme":"Skill: Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n\nOwner: smyx-sunjinhui\n\nSummary: Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\n\nTags: latest:1.0.11\n\nVersion history:\n\nv1.0.11 | 2026-08-27T18:33:58.637Z | auto\n\n- Updated version number in SKILL.md from 1.0.14 to 1.0.15.\n- Removed the file skill-card.md.\n- No changes to feature set or workflow documented.\n\nv1.0.10 | 2026-08-23T02:03:58.902Z | auto\n\n- Updated skill version to 1.0.14.\n- SKILL.md: Version number in metadata and documentation updated from 1.0.12 to 1.0.14.\n- Removed the unused file `skill-card.md`.\n- Minor content changes in configuration and documentation files; no workflow or capability changes.\n\nv1.0.9 | 2026-08-10T11:39:32.180Z | auto\n\n- Removed the file: skill-card.md\n- No changes to functionality or main documentation\n- This update only affects bundled documentation files\n\nv1.0.8 | 2026-08-08T19:28:30.547Z | auto\n\n- Updated version number in documentation to 1.0.12\n- Removed the skill-card.md file\n- No changes to core functionality; documentation cleanup and minor metadata updates only\n\nv1.0.7 | 2026-07-31T13:45:31.402Z | auto\n\n- Version updated to 1.0.10 in SKILL.md.\n- Minor documentation adjustments; version number aligned in documentation.\n- Removed the redundant skill-card.md file for better maintenance.\n- No functional or interface changes.\n\nv1.0.6 | 2026-07-17T23:17:27.054Z | auto\n\n- Updated skill version from 1.0.6 to 1.0.9\n- SKILL.md revised: improved version metadata and documentation details\n- Maintenance cleanup: skill-card.md file removed\n- Internal scripts updated: changes in config.py and util.py in the smyx_common/scripts directory\n\nv1.0.5 | 2026-07-03T11:18:41.527Z | auto\n\n- Version bump from 1.0.5 to 1.0.6.\n- Updated documentation in SKILL.md to reflect recent changes and improvements.\n- Removed outdated file `skill-card.md`.\n- Internal code modifications in config, dao, and util scripts for maintainability and/or bug fixes (details not specified).\n\nv1.0.4 | 2026-06-25T18:13:30.849Z | auto\n\n- Major update: User identity handling is now fully automated and hidden, with no user input or exposure of identity parameters required.\n- All prompts regarding open-id/user identity input or output have been removed; internal scripts now manage identity linkage silently.\n- Skill documentation rewritten for clarity, conciseness, and improved privacy guidance, emphasizing cloud-only report retrieval and strict privacy guarantees.\n- Removed any references to legacy/manual memory or report aggregation—history features only use the cloud API.\n- License info added (“MIT-0”); minor bug fixes and internal consistency improvements.\n\nv1.0.3 | 2026-05-25T05:19:36.176Z | auto\n\n- Major codebase refactor: split core functions into `smyx_analysis` and improved project structure.\n- Added new module `skills/smyx_analysis` including API documentation, scripts, and requirements.\n- Removed all files related to the legacy `face_analysis` module.\n- Updated documentation and config to reflect new structure and ensure compatibility.\n- No changes to user-facing API or workflow; all previous usage and APIs remain valid.\n\nv1.0.2 | 2026-05-17T08:19:42.357Z | auto\n\n- Internal improvements to core utility, config, and initialization scripts.\n- No change to skill functionality or usage.\n- Documentation and user workflow remain the same.\n\nv1.0.1 | 2026-05-07T19:40:51.466Z | auto\n\n- Improved configuration management for environment separation (development, test, production) by updating config and YAML files.\n- Enhanced skill compatibility by refactoring code structure in shared modules and main scripts.\n- Updated documentation (SKILL.md) for clearer operation steps and reinforced mandatory memory, open-id, and data retrieval rules.\n- General code clean-up and consistency improvements across configuration and utility files.\n- No breaking changes to user-facing command-line arguments or API usage.\n\nv1.0.0 | 2026-04-18T13:47:32.938Z | auto\n\nInitial release of the plant nutrition diagnosis analysis skill.\n\n- Diagnose plant nutrient deficiencies or excess (N, P, K, trace elements) from leaf images/videos using computer vision and plant physiology.\n- Outputs structured diagnostic reports and targeted fertilization suggestions for precision nutrient management.\n- Strict rules for obtaining and using open-id; analysis and report queries require explicit user identity and must not use local memory.\n- Supports rich use cases: field crops, orchards, greenhouse, household plants, and research.\n- Automatic saving of user-uploaded media, and forces all report queries to pull from cloud API (never local/long-term memory).\n- Returns history reports as markdown tables with direct report links; comprehensive process and constraint documentation included.\n\nArchive index:\n\nArchive v1.0.11: 30 files, 38816 bytes\n\nFiles: scripts/__init__.py (31b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3206b), scripts/skill.py (573b), skill-card.md (2768b), SKILL.md (10910b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (472b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (159b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 🧪 Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物营养诊断技能** |\n| 🎯 核心目标 | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `PLANT_SPECIES_RECOGNITION` |\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片特征提取 |\n| 2 | 营养元素缺乏/过剩诊断 |\n| 3 | 成因分析 |\n| 4 | 施肥建议输出 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 诊断要求 | Diagnosis Requirements\n| 要求项 | 说明 |\n|---|---|\n| 典型症状叶片 | 拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片 |\n| 特征完整展示 | 整张叶片完整出镜，包括叶片基部、尖部和叶缘 |\n| 自然光下拍摄 | 光线均匀，避免严重色差和反光，真实反映叶片颜色 |\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备叶片视频/图片输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行植物营养诊断分析 | 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频/图片文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频/图片 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/plant_nutrition_diagnosis_analysis.py`](scripts/plant_nutrition_diagnosis_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 支持格式：jpg/jpeg/png，最大 20MB |\n| 🧑‍⚖️ 结果性质 | 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 📝 隐私与数据安全声明 | Privacy & Data Security\n| 序号 | 说明 |\n|---:|---|\n| 1 | **数据保密处理** |\n| 2 | 系统基于 用户名/手机号 生成的标识仅作为用户关联信息，**不保存任何可直接识别个人身份的明文信息**。 |\n| 3 | **安全传输** |\n| 4 | 所有数据（包括视频文件及关联标识）均通过 **HTTPS/TLS 加密通道** 发送至云端 API 进行分析，防止数据在传输过程中被窃取或篡改。 |\n| 5 | **数据留存策略** |\n| 6 | 云端服务器遵循“最小必要原则”，**分析任务完成后即刻删除原始视频数据，不进行持久化存储**，确保用户隐私数据不被留存或滥用。 |\n## 🧰 使用示例 | Examples\n```bash\n# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json\n```\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1787855638637\n}\n\nFile v1.0.11:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.11:scripts/config.yaml\n\n{}\n\nFile v1.0.11:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.11:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.11:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.11:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.11:skill-card.md\n\n## Description:\n\nDiagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nGrowers, agronomy advisors, and agents can use this skill to analyze plant leaf images or videos for nutrient deficiencies, excesses, likely physiological causes, and fertilization suggestions. It can also query account-linked historical diagnosis reports from the cloud service.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Plant images, videos, or URLs are sent to a Life Emergence cloud service for analysis.\n\nMitigation: Install only when cloud processing is acceptable, disclose the upload behavior to users, and confirm production HTTPS endpoints before deployment.\n\nRisk: The skill can silently create or reuse cloud identities and query account-linked history.\n\nMitigation: Require explicit consent for account and history actions, and disclose how report history is associated with users.\n\nRisk: Local workspace data may store identity records and tokens.\n\nMitigation: Review token storage before approval and remove or restrict persistent local credentials unless they are essential.\n\nRisk: Plant nutrition diagnosis may be incomplete or misleading without soil testing and local agronomic context.\n\nMitigation: Treat results as fertilization guidance and confirm recommendations with soil tests or local agricultural extension advice.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-plant-nutrition-diagnosis-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and JSON-oriented text with shell command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include structured diagnosis results, fertilization guidance, cloud report links, and Markdown tables for history queries.]\n\n## Skill Version(s):\n\n1.0.11 (source: release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.11:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.11:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.10: 30 files, 38699 bytes\n\nFiles: scripts/__init__.py (31b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3206b), scripts/skill.py (573b), skill-card.md (2503b), SKILL.md (10910b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (472b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (159b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.14\"\nlicense: \"MIT-0\"\n---\n\n# 🧪 Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物营养诊断技能** |\n| 🎯 核心目标 | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `PLANT_SPECIES_RECOGNITION` |\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片特征提取 |\n| 2 | 营养元素缺乏/过剩诊断 |\n| 3 | 成因分析 |\n| 4 | 施肥建议输出 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 诊断要求 | Diagnosis Requirements\n| 要求项 | 说明 |\n|---|---|\n| 典型症状叶片 | 拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片 |\n| 特征完整展示 | 整张叶片完整出镜，包括叶片基部、尖部和叶缘 |\n| 自然光下拍摄 | 光线均匀，避免严重色差和反光，真实反映叶片颜色 |\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备叶片视频/图片输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行植物营养诊断分析 | 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频/图片文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频/图片 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/plant_nutrition_diagnosis_analysis.py`](scripts/plant_nutrition_diagnosis_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 支持格式：jpg/jpeg/png，最大 20MB |\n| 🧑‍⚖️ 结果性质 | 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 📝 隐私与数据安全声明 | Privacy & Data Security\n| 序号 | 说明 |\n|---:|---|\n| 1 | **数据保密处理** |\n| 2 | 系统基于 用户名/手机号 生成的标识仅作为用户关联信息，**不保存任何可直接识别个人身份的明文信息**。 |\n| 3 | **安全传输** |\n| 4 | 所有数据（包括视频文件及关联标识）均通过 **HTTPS/TLS 加密通道** 发送至云端 API 进行分析，防止数据在传输过程中被窃取或篡改。 |\n| 5 | **数据留存策略** |\n| 6 | 云端服务器遵循“最小必要原则”，**分析任务完成后即刻删除原始视频数据，不进行持久化存储**，确保用户隐私数据不被留存或滥用。 |\n## 🧰 使用示例 | Examples\n```bash\n# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1787450638902\n}\n\nFile v1.0.10:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.10:scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nDiagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal growers, agronomists, and developers use this skill to diagnose plant nutrient deficiency or excess from leaf images or videos, generate structured analysis, and retrieve cloud-hosted diagnosis history. The results support precision fertilization decisions but should be checked against soil tests and local agricultural guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill automatically links a local or cloud identity and persists account tokens.\n\nMitigation: Install only if the publisher and backend service are trusted, and review account linkage and token storage behavior before use.\n\nRisk: Plant media and report history requests are sent to backend services with incomplete and inconsistent disclosure.\n\nMitigation: Review configured backend URLs, retention, and account behavior before deployment, and avoid submitting sensitive media unless that storage model is acceptable.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-plant-nutrition-diagnosis-analysis)\n- [Publisher Profile](https://clawhub.ai/user/smyx-sunjinhui)\n- [API Documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, guidance]\n\n**Output Format:** [Markdown text with structured JSON report content and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May upload plant media to backend services and query cloud report history associated with an automatically resolved identity.]\n\n## Skill Version(s):\n\n1.0.10 (source: server release metadata; artifact frontmatter says 1.0.14)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.10:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.10:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.9: 30 files, 38572 bytes\n\nFiles: scripts/__init__.py (31b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3206b), scripts/skill.py (573b), skill-card.md (2567b), SKILL.md (10910b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (158b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.12\"\nlicense: \"MIT-0\"\n---\n\n# 🧪 Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物营养诊断技能** |\n| 🎯 核心目标 | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `PLANT_SPECIES_RECOGNITION` |\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片特征提取 |\n| 2 | 营养元素缺乏/过剩诊断 |\n| 3 | 成因分析 |\n| 4 | 施肥建议输出 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 诊断要求 | Diagnosis Requirements\n| 要求项 | 说明 |\n|---|---|\n| 典型症状叶片 | 拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片 |\n| 特征完整展示 | 整张叶片完整出镜，包括叶片基部、尖部和叶缘 |\n| 自然光下拍摄 | 光线均匀，避免严重色差和反光，真实反映叶片颜色 |\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备叶片视频/图片输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行植物营养诊断分析 | 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频/图片文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频/图片 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/plant_nutrition_diagnosis_analysis.py`](scripts/plant_nutrition_diagnosis_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 支持格式：jpg/jpeg/png，最大 20MB |\n| 🧑‍⚖️ 结果性质 | 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 📝 隐私与数据安全声明 | Privacy & Data Security\n| 序号 | 说明 |\n|---:|---|\n| 1 | **数据保密处理** |\n| 2 | 系统基于 用户名/手机号 生成的标识仅作为用户关联信息，**不保存任何可直接识别个人身份的明文信息**。 |\n| 3 | **安全传输** |\n| 4 | 所有数据（包括视频文件及关联标识）均通过 **HTTPS/TLS 加密通道** 发送至云端 API 进行分析，防止数据在传输过程中被窃取或篡改。 |\n| 5 | **数据留存策略** |\n| 6 | 云端服务器遵循“最小必要原则”，**分析任务完成后即刻删除原始视频数据，不进行持久化存储**，确保用户隐私数据不被留存或滥用。 |\n## 🧰 使用示例 | Examples\n```bash\n# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1786361972180\n}\n\nFile v1.0.9:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.9:scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nDiagnoses plant nutrient deficiency or excess from leaf imagery using computer vision and plant physiology, and outputs targeted fertilization suggestions for precision nutrient management.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, growers, and agricultural support teams use this skill to analyze plant leaf images or videos for nutrient deficiency or excess indicators and receive structured diagnosis, cause analysis, report links, and fertilization guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Plant images or videos, report metadata, and an internal user identifier may be sent to Life Emergence cloud services for analysis.\n\nMitigation: Use only with clear user consent for cloud processing, and avoid sensitive farm, facility, or personal imagery unless the deployment has approved data handling terms.\n\nRisk: The skill can silently create or reuse cloud-linked identities and stores identity and token data locally.\n\nMitigation: Review local account and token storage before deployment, define cleanup procedures, and avoid shared workspaces unless token isolation is confirmed.\n\nRisk: Historical cloud reports can be retrieved without a clear confirmation step.\n\nMitigation: Require explicit user confirmation before historical report queries and verify that report access is scoped to the intended user or workspace.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-plant-nutrition-diagnosis-analysis)\n- [API interface documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, shell commands, files]\n\n**Output Format:** [Markdown or JSON analysis report with optional saved result file]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs may include diagnosis summaries, cause analysis, fertilization suggestions, report links, and historical report tables retrieved from cloud services.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release metadata; artifact frontmatter reports 1.0.12)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.9:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.9:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.8: 30 files, 38647 bytes\n\nFiles: scripts/__init__.py (31b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3206b), scripts/skill.py (573b), skill-card.md (2773b), SKILL.md (10910b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (158b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.12\"\nlicense: \"MIT-0\"\n---\n\n# 🧪 Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物营养诊断技能** |\n| 🎯 核心目标 | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `PLANT_SPECIES_RECOGNITION` |\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片特征提取 |\n| 2 | 营养元素缺乏/过剩诊断 |\n| 3 | 成因分析 |\n| 4 | 施肥建议输出 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 诊断要求 | Diagnosis Requirements\n| 要求项 | 说明 |\n|---|---|\n| 典型症状叶片 | 拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片 |\n| 特征完整展示 | 整张叶片完整出镜，包括叶片基部、尖部和叶缘 |\n| 自然光下拍摄 | 光线均匀，避免严重色差和反光，真实反映叶片颜色 |\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备叶片视频/图片输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行植物营养诊断分析 | 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频/图片文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频/图片 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/plant_nutrition_diagnosis_analysis.py`](scripts/plant_nutrition_diagnosis_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 支持格式：jpg/jpeg/png，最大 20MB |\n| 🧑‍⚖️ 结果性质 | 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 📝 隐私与数据安全声明 | Privacy & Data Security\n| 序号 | 说明 |\n|---:|---|\n| 1 | **数据保密处理** |\n| 2 | 系统基于 用户名/手机号 生成的标识仅作为用户关联信息，**不保存任何可直接识别个人身份的明文信息**。 |\n| 3 | **安全传输** |\n| 4 | 所有数据（包括视频文件及关联标识）均通过 **HTTPS/TLS 加密通道** 发送至云端 API 进行分析，防止数据在传输过程中被窃取或篡改。 |\n| 5 | **数据留存策略** |\n| 6 | 云端服务器遵循“最小必要原则”，**分析任务完成后即刻删除原始视频数据，不进行持久化存储**，确保用户隐私数据不被留存或滥用。 |\n## 🧰 使用示例 | Examples\n```bash\n# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1786217310547\n}\n\nFile v1.0.8:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.8:scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nDiagnoses plant nutrient deficiency or excess from plant leaf images, videos, or URLs and returns structured findings with fertilization suggestions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nGrowers, agronomists, and agent developers use this skill to analyze plant leaf media for nutrient deficiency or excess and receive structured diagnostic results, likely causes, fertilization suggestions, and report links. It can also retrieve prior cloud reports for the resolved user identity.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Media files or media URLs are sent to external cloud services for diagnosis.\n\nMitigation: Use only images, videos, or URLs that the user is permitted to upload to the configured service, and avoid sensitive or private plant-site imagery unless that cloud processing is acceptable.\n\nRisk: The skill can create or reuse an account-linked identity and persist tokens locally.\n\nMitigation: Install only in workspaces where local credential persistence is acceptable, and review or clear stored identity material before sharing the workspace.\n\nRisk: The skill can retrieve prior cloud report history for the resolved identity.\n\nMitigation: Confirm that report history access is intended for the current user or workspace before running report-list commands.\n\nRisk: Plant nutrition diagnoses and fertilization recommendations may be incomplete or unsuitable for local growing conditions.\n\nMitigation: Treat results as advisory and combine them with soil testing, crop context, and local agricultural guidance before changing fertilization plans.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-plant-nutrition-diagnosis-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, files, shell commands, guidance]\n\n**Output Format:** [Markdown and JSON-like structured text, with optional saved result files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include diagnostic findings, physiological cause analysis, fertilization suggestions, report lists, and report export links.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release metadata; artifact frontmatter says 1.0.12)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.8:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.8:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.7: 30 files, 38653 bytes\n\nFiles: scripts/__init__.py (31b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3206b), scripts/skill.py (573b), skill-card.md (2832b), SKILL.md (10910b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (158b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.10\"\nlicense: \"MIT-0\"\n---\n\n# 🧪 Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物营养诊断技能** |\n| 🎯 核心目标 | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `PLANT_SPECIES_RECOGNITION` |\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片特征提取 |\n| 2 | 营养元素缺乏/过剩诊断 |\n| 3 | 成因分析 |\n| 4 | 施肥建议输出 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 诊断要求 | Diagnosis Requirements\n| 要求项 | 说明 |\n|---|---|\n| 典型症状叶片 | 拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片 |\n| 特征完整展示 | 整张叶片完整出镜，包括叶片基部、尖部和叶缘 |\n| 自然光下拍摄 | 光线均匀，避免严重色差和反光，真实反映叶片颜色 |\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备叶片视频/图片输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行植物营养诊断分析 | 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频/图片文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频/图片 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/plant_nutrition_diagnosis_analysis.py`](scripts/plant_nutrition_diagnosis_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 支持格式：jpg/jpeg/png，最大 20MB |\n| 🧑‍⚖️ 结果性质 | 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 📝 隐私与数据安全声明 | Privacy & Data Security\n| 序号 | 说明 |\n|---:|---|\n| 1 | **数据保密处理** |\n| 2 | 系统基于 用户名/手机号 生成的标识仅作为用户关联信息，**不保存任何可直接识别个人身份的明文信息**。 |\n| 3 | **安全传输** |\n| 4 | 所有数据（包括视频文件及关联标识）均通过 **HTTPS/TLS 加密通道** 发送至云端 API 进行分析，防止数据在传输过程中被窃取或篡改。 |\n| 5 | **数据留存策略** |\n| 6 | 云端服务器遵循“最小必要原则”，**分析任务完成后即刻删除原始视频数据，不进行持久化存储**，确保用户隐私数据不被留存或滥用。 |\n## 🧰 使用示例 | Examples\n```bash\n# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1785505531402\n}\n\nFile v1.0.7:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.7:scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.7:skill-card.md\n\n## Description: <br>\nDiagnoses plant nutrient deficiency or excess from plant media using computer vision and plant physiology, then returns targeted fertilization suggestions for precision nutrient management. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, growers, and agricultural support teams use this skill to analyze plant leaf images or videos for nutrient deficiency or excess and receive structured fertilization guidance. Agents can also retrieve cloud-hosted historical diagnosis reports for the associated user identity. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant media and associated identifiers are sent to external Life Emergence APIs for cloud processing. <br>\nMitigation: Use the skill only with media and identifiers approved for cloud processing, and avoid sensitive or unrelated imagery. <br>\nRisk: The skill may silently create or reuse an account identity and store user and token records locally. <br>\nMitigation: Run it only in trusted workspaces, review local workspace data retention practices, and clear local records when they are no longer needed. <br>\nRisk: Historical report retrieval is cloud-backed and tied to the associated identity. <br>\nMitigation: Enable history lookup only when cloud retrieval of prior reports is acceptable for the user and deployment context. <br>\nRisk: Fertilization recommendations may be incomplete without local agronomic context. <br>\nMitigation: Treat results as decision support and confirm final fertilization plans with soil testing, crop conditions, and local agricultural guidance. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-plant-nutrition-diagnosis-analysis) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [API Interface Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, json, files] <br>\n**Output Format:** [Markdown text with structured JSON report content and optional saved output files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include diagnosis details, fertilization suggestions, cloud report links, or cloud history records.] <br>\n\n## Skill Version(s): <br>\n1.0.7 (source: server release metadata; SKILL.md frontmatter reports 1.0.10) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.7:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.7:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.6: 30 files, 38471 bytes\n\nFiles: scripts/__init__.py (31b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3206b), scripts/skill.py (573b), skill-card.md (2356b), SKILL.md (10909b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (158b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.9\"\nlicense: \"MIT-0\"\n---\n\n# 🧪 Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物营养诊断技能** |\n| 🎯 核心目标 | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `PLANT_SPECIES_RECOGNITION` |\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片特征提取 |\n| 2 | 营养元素缺乏/过剩诊断 |\n| 3 | 成因分析 |\n| 4 | 施肥建议输出 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 诊断要求 | Diagnosis Requirements\n| 要求项 | 说明 |\n|---|---|\n| 典型症状叶片 | 拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片 |\n| 特征完整展示 | 整张叶片完整出镜，包括叶片基部、尖部和叶缘 |\n| 自然光下拍摄 | 光线均匀，避免严重色差和反光，真实反映叶片颜色 |\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备叶片视频/图片输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行植物营养诊断分析 | 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频/图片文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频/图片 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/plant_nutrition_diagnosis_analysis.py`](scripts/plant_nutrition_diagnosis_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 支持格式：jpg/jpeg/png，最大 20MB |\n| 🧑‍⚖️ 结果性质 | 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 📝 隐私与数据安全声明 | Privacy & Data Security\n| 序号 | 说明 |\n|---:|---|\n| 1 | **数据保密处理** |\n| 2 | 系统基于 用户名/手机号 生成的标识仅作为用户关联信息，**不保存任何可直接识别个人身份的明文信息**。 |\n| 3 | **安全传输** |\n| 4 | 所有数据（包括视频文件及关联标识）均通过 **HTTPS/TLS 加密通道** 发送至云端 API 进行分析，防止数据在传输过程中被窃取或篡改。 |\n| 5 | **数据留存策略** |\n| 6 | 云端服务器遵循“最小必要原则”，**分析任务完成后即刻删除原始视频数据，不进行持久化存储**，确保用户隐私数据不被留存或滥用。 |\n## 🧰 使用示例 | Examples\n```bash\n# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1784330247054\n}\n\nFile v1.0.6:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.6:scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.6:skill-card.md\n\n## Description: <br>\nDiagnoses plant nutrient deficiency or excess from plant leaf images or videos and returns structured fertilization guidance for precision nutrient management. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and agents use this skill to analyze plant leaf media, identify likely nutrient deficiency or excess, and receive structured diagnostic findings with fertilization suggestions. It can also query cloud-hosted historical diagnosis reports associated with the skill's internal account identity. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends plant media to a cloud service and should not be treated as an offline-only image-analysis helper. <br>\nMitigation: Use it only with media approved for that cloud workflow, and confirm the service's data handling meets the installing organization's requirements. <br>\nRisk: The skill may silently create or reuse a cloud-linked identity and store authentication tokens locally. <br>\nMitigation: Run it in an appropriate workspace, protect or remove local identity and token storage according to policy, and review account linkage before deployment. <br>\n\n\n## Reference(s): <br>\n- [API Interface Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill usage demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance] <br>\n**Output Format:** [Structured Markdown report text or JSON, with optional saved output file.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Outputs may include diagnostic findings, physiological cause analysis, fertilization suggestions, report links, or a Markdown table of historical reports.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: server release metadata; artifact frontmatter states 1.0.9) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.6:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.6:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.5: 30 files, 38417 bytes\n\nFiles: scripts/__init__.py (31b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3206b), scripts/skill.py (573b), skill-card.md (2696b), SKILL.md (10909b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (23721b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (158b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# 🧪 Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物营养诊断技能** |\n| 🎯 核心目标 | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `PLANT_SPECIES_RECOGNITION` |\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片特征提取 |\n| 2 | 营养元素缺乏/过剩诊断 |\n| 3 | 成因分析 |\n| 4 | 施肥建议输出 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 诊断要求 | Diagnosis Requirements\n| 要求项 | 说明 |\n|---|---|\n| 典型症状叶片 | 拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片 |\n| 特征完整展示 | 整张叶片完整出镜，包括叶片基部、尖部和叶缘 |\n| 自然光下拍摄 | 光线均匀，避免严重色差和反光，真实反映叶片颜色 |\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备叶片视频/图片输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行植物营养诊断分析 | 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频/图片文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频/图片 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/plant_nutrition_diagnosis_analysis.py`](scripts/plant_nutrition_diagnosis_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 支持格式：jpg/jpeg/png，最大 20MB |\n| 🧑‍⚖️ 结果性质 | 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 📝 隐私与数据安全声明 | Privacy & Data Security\n| 序号 | 说明 |\n|---:|---|\n| 1 | **数据保密处理** |\n| 2 | 系统基于 用户名/手机号 生成的标识仅作为用户关联信息，**不保存任何可直接识别个人身份的明文信息**。 |\n| 3 | **安全传输** |\n| 4 | 所有数据（包括视频文件及关联标识）均通过 **HTTPS/TLS 加密通道** 发送至云端 API 进行分析，防止数据在传输过程中被窃取或篡改。 |\n| 5 | **数据留存策略** |\n| 6 | 云端服务器遵循“最小必要原则”，**分析任务完成后即刻删除原始视频数据，不进行持久化存储**，确保用户隐私数据不被留存或滥用。 |\n## 🧰 使用示例 | Examples\n```bash\n# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1783077521527\n}\n\nFile v1.0.5:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.5:scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nDiagnoses plant nutrient deficiency or excess from leaf images or video and returns structured analysis, report links, and targeted fertilization suggestions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nGrowers, agronomists, and agent users provide plant leaf images, videos, or URLs to diagnose nutrient imbalance and receive structured fertilization guidance. Users can also ask for cloud-hosted historical diagnosis reports associated with the skill's internal identity handling. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant media is sent to a remote service for analysis. <br>\nMitigation: Install only when cloud processing is acceptable, avoid sensitive media, and confirm the remote service is trusted for the intended deployment. <br>\nRisk: The skill can silently create or reuse a local identity, perform remote login or registration, and store service tokens locally. <br>\nMitigation: Use isolated workspaces and accounts, restrict access to local token storage, and review identity and token handling before deployment. <br>\nRisk: Nutrition diagnosis and fertilization suggestions may be inaccurate or incomplete for a specific crop, soil, or local condition. <br>\nMitigation: Treat outputs as advisory and validate recommendations with soil testing or local agricultural expertise before acting. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-plant-nutrition-diagnosis-analysis) <br>\n- [Publisher Profile](https://clawhub.ai/user/smyx-sunjinhui) <br>\n- [API Documentation](artifact/skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, configuration] <br>\n**Output Format:** [Structured text or JSON, with Markdown tables for historical report lists and optional file output.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Outputs may include diagnosis details, risk notes, fertilization suggestions, and report export links.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata; artifact frontmatter lists 1.0.6) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.5:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.5:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.4: 30 files, 35344 bytes\n\nFiles: scripts/__init__.py (31b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3206b), scripts/skill.py (573b), skill-card.md (2510b), SKILL.md (10909b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22801b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (13468b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (23409b), _meta.json (158b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 🧪 Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物营养诊断技能** |\n| 🎯 核心目标 | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `PLANT_SPECIES_RECOGNITION` |\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片特征提取 |\n| 2 | 营养元素缺乏/过剩诊断 |\n| 3 | 成因分析 |\n| 4 | 施肥建议输出 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 诊断要求 | Diagnosis Requirements\n| 要求项 | 说明 |\n|---|---|\n| 典型症状叶片 | 拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片 |\n| 特征完整展示 | 整张叶片完整出镜，包括叶片基部、尖部和叶缘 |\n| 自然光下拍摄 | 光线均匀，避免严重色差和反光，真实反映叶片颜色 |\n\n## 🚀 操作步骤 | Workflow\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达“查看历史报告/报告清单”等意图 |\n\n---\n\n### 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备叶片视频/图片输入 | 提供本地文件路径或网络 URL；确保输入内容清晰、符合技能场景要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行植物营养诊断分析 | 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地视频/图片文件路径 | 适用于本地文件分析 |\n| `--url` | 网络视频/图片 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--list` | 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/plant_nutrition_diagnosis_analysis.py`](scripts/plant_nutrition_diagnosis_analysis.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 🐍 必要脚本 | [`scripts/config.py`](scripts/config.py) | 调用 API、执行分析或查询历史报告 | 执行分析或查询时使用 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n## ⚠️ 注意事项 | Notes\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 支持格式：jpg/jpeg/png，最大 20MB |\n| 🧑‍⚖️ 结果性质 | 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 📝 隐私与数据安全声明 | Privacy & Data Security\n| 序号 | 说明 |\n|---:|---|\n| 1 | **数据保密处理** |\n| 2 | 系统基于 用户名/手机号 生成的标识仅作为用户关联信息，**不保存任何可直接识别个人身份的明文信息**。 |\n| 3 | **安全传输** |\n| 4 | 所有数据（包括视频文件及关联标识）均通过 **HTTPS/TLS 加密通道** 发送至云端 API 进行分析，防止数据在传输过程中被窃取或篡改。 |\n| 5 | **数据留存策略** |\n| 6 | 云端服务器遵循“最小必要原则”，**分析任务完成后即刻删除原始视频数据，不进行持久化存储**，确保用户隐私数据不被留存或滥用。 |\n## 🧰 使用示例 | Examples\n```bash\n# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1782411210849\n}\n\nFile v1.0.4:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.4:scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nDiagnoses plant nutrient deficiency or excess from plant leaf images or videos using computer vision and plant physiology, then outputs structured fertilization guidance. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and agricultural operators use this skill to analyze plant leaf media for nutrient deficiency or excess and receive structured diagnosis, cause analysis, and fertilization recommendations. Agents can also use it to query cloud-hosted historical diagnosis reports associated with the current user identity. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant media or URLs are sent to a third-party cloud service for analysis. <br>\nMitigation: Use only media appropriate for third-party processing and review the publisher's data handling and retention practices before deployment. <br>\nRisk: The skill can silently create or reuse an identity and associate cloud reports with that identity. <br>\nMitigation: Deploy only where silent account association is acceptable and disclose this behavior in the hosting agent's user-facing policy. <br>\nRisk: Local account tokens may be kept in a workspace database. <br>\nMitigation: Run in a controlled workspace, restrict access to local storage, and clear workspace data when reports should no longer be accessible. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-plant-nutrition-diagnosis-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown or JSON analysis reports with report links and optional shell-command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include cloud report links and historical report tables.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.4:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.4:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.3: 30 files, 34269 bytes\n\nFiles: scripts/__init__.py (31b), scripts/api_service.py (1553b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3175b), scripts/skill.py (573b), SKILL.md (11019b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (2094b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1857b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (11394b), skills/smyx_analysis/scripts/smyx_analysis.py (3691b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (45b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2518b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (22493b), skills/smyx_common/scripts/config.yaml (463b), skills/smyx_common/scripts/dao.py (11119b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (18384b), _meta.json (158b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.1\"\n---\n\n# Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 演示案例\n\n- [🔗 通过网路视频进行识别分析](https://www.coze.cn/s/2ZxZUcLbebI/)\n- [🔗 通过上传视频进行识别分析](https://www.coze.cn/s/sNRmBMdQgew/)\n- [🔗 显示历史分析报告](https://www.coze.cn/s/e-SBiWG0rlc/)\n\n## ⚠️ 强制记忆规则（最高优先级）\n\n**本技能明确约定：**\n\n- **绝对禁止读取任何本地记忆文件**：包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件\n- **绝对禁止从 LanceDB 长期记忆中检索信息**\n- **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据\n- 即使技能调用失败或接口异常，也不得回退到本地记忆汇总\n\n## 任务目标\n\n- 本 Skill 用于：通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n- 能力包含：叶片特征提取、营养元素缺乏/过剩诊断、成因分析、施肥建议输出\n- 支持场景：\n    - **大田作物营养诊断**：指导大田作物精准施肥，提高肥料利用率\n    - **果园蔬菜施肥管理**：果树蔬菜营养失衡快速诊断\n    - **设施园艺**：温室作物营养状况监测与矫正\n    - **居家绿植养护**：家庭盆栽黄叶、长势差等问题营养诊断\n    - **农业科研试验**：作物营养试验症状自动化记录与诊断\n- 触发条件:\n    1. **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能\n    2. 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能\n    3. 当用户提及以下关键词时，**自动触发历史报告查询功能**\n       ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告\n- 自动行为：\n    1. 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件\n    2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如\"查看所有诊断报告\"、\"\n       显示所有植物营养诊断\"、\"\n       查看历史报告\"等），**必须**：\n        - 直接使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list --open-id` 参数调用 API\n          查询云端的历史报告数据\n        - **严格禁止**：从本地 memory 目录读取历史会话信息、严格禁止手动汇总本地记录中的报告、严格禁止从长期记忆中提取报告\n        - **必须统一**从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果\n\n## 前置准备\n\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 诊断要求（获得准确结果的前提）\n\n为了获得准确的营养诊断，请确保：\n\n1. **典型症状叶片**：拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片\n2. **特征完整展示**：整张叶片完整出镜，包括叶片基部、尖部和叶缘\n3. **自然光下拍摄**：光线均匀，避免严重色差和反光，真实反映叶片颜色\n\n## 操作步骤\n\n### 🔒 open-id 获取流程控制（强制执行，防止遗漏）\n\n**在执行植物营养诊断分析前，必须按以下优先级顺序获取 open-id：**\n\n```\n第 1 步：【最高优先级】检查技能所在目录的配置文件（优先）\n        路径：skills/smyx_common/scripts/config.yaml（相对于技能根目录）\n        完整路径示例：${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置/api-key 为空)\n第 2 步：检查 workspace 公共目录的配置文件\n        路径：${OPENCLAW_WORKSPACE}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置)\n第 3 步：检查用户是否在消息中明确提供了 open-id\n        ↓ (未提供)\n第 4 步：❗ 必须暂停执行，明确提示用户提供用户名或手机号作为 open-id\n```\n\n**⚠️ 关键约束：**\n\n- **禁止**自行假设,自行推导,自行生成 open-id 值（如 openclaw-control-ui、default、plant123、id456 等）\n- **禁止**跳过 open-id 验证直接调用 API\n- **必须**在获取到有效 open-id 后才能继续执行分析\n- 如果用户拒绝提供 open-id，说明用途（用于保存和查询诊断报告记录），并询问是否继续\n\n---\n\n- 标准流程:\n    1. **准备叶片视频/图片输入**\n        - 提供本地视频/图片文件路径或网络 URL\n        - 确保具有典型症状的叶片完整清晰\n    2. **获取 open-id（强制执行）**\n        - 按上述流程控制获取 open-id\n        - 如无法获取，必须提示用户提供用户名或手机号\n    3. **执行植物营养诊断分析**\n        - 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**）\n        - 参数说明:\n            - `--input`: 本地视频/图片文件路径\n            - `--url`: 网络视频/图片 URL 地址（API 服务自动下载）\n            - `--open-id`: 当前用户的 open-id（必填，按上述流程获取）\n            - `--list`: 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围）\n            - `--api-key`: API 访问密钥（可选）\n            - `--api-url`: API 服务地址（可选，使用默认值）\n            - `--detail`: 输出详细程度（basic/standard/json，默认 json）\n            - `--output`: 结果输出文件路径（可选）\n    4. **查看分析结果**\n        - 接收结构化的植物营养诊断报告\n        - 包含：输入基本信息、诊断营养元素、失衡类型（缺乏/过剩）、症状匹配度、成因分析、矫正施肥建议\n\n## 资源索引\n\n- 必要脚本：见 [scripts/plant_nutrition_diagnosis_analysis.py](scripts/plant_nutrition_diagnosis_analysis.py)\n  (用途：调用 API 进行植物营养诊断分析，本地文件上传，网络 URL 由 API 服务自动下载)\n\n- 配置文件：见 [scripts/config.py](scripts/config.py)(用途：配置 API 地址、默认参数和格式限制)\n- 领域参考：见 [references/api_doc.md](references/api_doc.md)(何时读取：需要了解 API 接口详细规范和错误码时)\n\n## 注意事项\n\n- 仅在需要时读取参考文档，保持上下文简洁\n- 支持格式：jpg/jpeg/png，最大 20MB\n- API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权\n- 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议\n- 禁止临时生成脚本，只能用技能本身的脚本\n- 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载\n- 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段 reportImageUrl 作为超链接地址，且自动转化为如下 Markdown\n  表格格式输出，包含\"\n  报告名称\"、\"诊断植株数\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`植物营养诊断报告-{记录id}`形式拼接, \"点击查看\"\n  列使用\n  `[🔗 查看报告](reportImageUrl)`\n  格式的超链接，用户点击即可直接跳转到对应的完整报告页面。\n- 表格输出示例：\n  | 报告名称 | 诊断植株数 | 分析时间 | 点击查看 |\n  |----------|----------|----------|----------|\n  | 植物营养诊断报告-20260414233200001 | 1株 | 2026-04-14 23:32:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n## 使用示例\n\n```bash\n# 诊断本地视频/图片中植物的营养状况（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4 --open-id openclaw-control-ui\n\n# 诊断网络视频/图片（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4 --open-id openclaw-control-ui\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list --open-id openclaw-control-ui\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --open-id your-open-id --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --open-id your-open-id --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1779686376176\n}\n\nFile v1.0.3:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口地址\n\n`POST https://your-api-server.com/api/v1/common-analysis`\n\n## 请求头\n\n| 字段           | 必选 | 说明                            |\n|--------------|----|-------------------------------|\n| X-API-Key    | 是  | API访问密钥                       |\n| Content-Type | 是  | 文件上传或 application/json（URL模式） |\n\n## 请求参数\n\n### 1. 文件上传模式\n\n| 字段           | 类型     | 必选 | 说明                                    |\n|--------------|--------|----|---------------------------------------|\n| video        | file   | 是  | MP4视频文件                               |\n| detail_level | string | 否  | 输出详细程度：basic/standard/full，默认standard |\n\n### 2. URL模式\n\n| 字段           | 类型     | 必选 | 说明                                    |\n|--------------|--------|----|---------------------------------------|\n| video_url    | string | 是  | 可公开访问的视频URL                           |\n| detail_level | string | 否  | 输出详细程度：basic/standard/full，默认standard |\n\n## 响应格式\n\n```json\n{\n  \"code\": 200,\n  \"message\": \"success\",\n  \"data\": {\n    \"analysis_time\": \"2026-03-10 15:30:00\",\n    \"face_detection\": {\n      \"status\": \"success\",\n      \"face_count\": 1,\n      \"quality_score\": 95\n    },\n    \"diagnosis\": {\n      \"overall_constitution\": \"平和质\",\n      \"organ_condition\": {\n        \"liver\": \"正常\",\n        \"heart\": \"轻微火旺\",\n        \"spleen\": \"略虚\",\n        \"lung\": \"正常\",\n        \"kidney\": \"正常\"\n      },\n      \"color_analysis\": {\n        \"complexion\": \"微黄\",\n        \"correspondence\": \"脾胃功能略弱\"\n      }\n    },\n    \"health_warnings\": [\n      \"注意休息，避免熬夜\"\n    ],\n    \"suggestions\": [\n      \"饮食清淡，减少辛辣食物摄入\"\n    ]\n  }\n}\n```\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.3:scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config.yaml\n\nenv: prod\n\nApiEnum:\n  api-key:\n  api-secret-key:\n  database-url:\n  base-url-open-api: \"https://open.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitor.lifeemergence.com\"\n  base-url-health: \"https://lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: false\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: \"XIAN_ZHAO_GAN_ZHI\"\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret:\n  default--skill-platform-name: ARK_CLAW\n\nFile v1.0.3:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.3:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nArchive v1.0.2: 31 files, 36037 bytes\n\nFiles: scripts/__init__.py (31b), scripts/api_service.py (1553b), scripts/config.py (650b), scripts/config.yaml (3b), scripts/plant_nutrition_diagnosis_analysis.py (3175b), scripts/skill.py (573b), SKILL.md (11080b), skills/face_analysis/__init__.py (0b), skills/face_analysis/README.md (2497b), skills/face_analysis/references/api_doc.md (1744b), skills/face_analysis/requirements.txt (45b), skills/face_analysis/scripts/__init__.py (0b), skills/face_analysis/scripts/api_service.py (1857b), skills/face_analysis/scripts/config.py (1182b), skills/face_analysis/scripts/config.yaml (3b), skills/face_analysis/scripts/face_analysis.py (7053b), skills/face_analysis/scripts/skill.py (11274b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (2246b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2518b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (9279b), skills/smyx_common/scripts/config.yaml (463b), skills/smyx_common/scripts/dao.py (11119b), skills/smyx_common/scripts/skill.py (2535b), skills/smyx_common/scripts/util.py (17543b), _meta.json (158b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.0\"\n---\n\n# Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 演示案例\n\n- [🔗 通过网路视频进行识别分析](https://www.coze.cn/s/2ZxZUcLbebI/)\n- [🔗 通过上传视频进行识别分析](https://www.coze.cn/s/sNRmBMdQgew/)\n- [🔗 显示历史分析报告](https://www.coze.cn/s/e-SBiWG0rlc/)\n\n## ⚠️ 强制记忆规则（最高优先级）\n\n**本技能明确约定：**\n\n- **绝对禁止读取任何本地记忆文件**：包括但不限于 `memory/YYYY-MM-DD.md`、`MEMORY.md` 等本地文件\n- **绝对禁止从 LanceDB 长期记忆中检索信息**\n- **所有历史报告查询必须从云端接口获取**，不得使用本地记忆中的历史数据\n- 即使技能调用失败或接口异常，也不得回退到本地记忆汇总\n\n## 任务目标\n\n- 本 Skill 用于：通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n- 能力包含：叶片特征提取、营养元素缺乏/过剩诊断、成因分析、施肥建议输出\n- 支持场景：\n    - **大田作物营养诊断**：指导大田作物精准施肥，提高肥料利用率\n    - **果园蔬菜施肥管理**：果树蔬菜营养失衡快速诊断\n    - **设施园艺**：温室作物营养状况监测与矫正\n    - **居家绿植养护**：家庭盆栽黄叶、长势差等问题营养诊断\n    - **农业科研试验**：作物营养试验症状自动化记录与诊断\n- 触发条件:\n    1. **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能\n    2. 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能\n    3. 当用户提及以下关键词时，**自动触发历史报告查询功能**\n       ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告\n- 自动行为：\n    1. 如果用户上传了附件或者视频/图片文件，则自动保存到技能目录下 attachments\n    2. **⚠️ 强制数据获取规则（次高优先级）**：如果用户触发任何历史报告查询关键词（如\"查看所有诊断报告\"、\"\n       显示所有植物营养诊断\"、\"\n       查看历史报告\"等），**必须**：\n        - 直接使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list --open-id` 参数调用 API\n          查询云端的历史报告数据\n        - **严格禁止**：从本地 memory 目录读取历史会话信息、严格禁止手动汇总本地记录中的报告、严格禁止从长期记忆中提取报告\n        - **必须统一**从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果\n\n## 前置准备\n\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 诊断要求（获得准确结果的前提）\n\n为了获得准确的营养诊断，请确保：\n\n1. **典型症状叶片**：拍摄具有典型症状的叶片，避免完全正常或完全坏死无法辨认的叶片\n2. **特征完整展示**：整张叶片完整出镜，包括叶片基部、尖部和叶缘\n3. **自然光下拍摄**：光线均匀，避免严重色差和反光，真实反映叶片颜色\n\n## 操作步骤\n\n### 🔒 open-id 获取流程控制（强制执行，防止遗漏）\n\n**在执行植物营养诊断分析前，必须按以下优先级顺序获取 open-id：**\n\n```\n第 1 步：【最高优先级】检查技能所在目录的配置文件（优先）\n        路径：skills/smyx_common/scripts/config.yaml（相对于技能根目录）\n        完整路径示例：${OPENCLAW_WORKSPACE}/skills/{当前技能目录}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置/api-key 为空)\n第 2 步：检查 workspace 公共目录的配置文件\n        路径：${OPENCLAW_WORKSPACE}/skills/smyx_common/scripts/config.yaml\n        → 如果文件存在且配置了 api-key 字段，则读取 api-key 作为 open-id\n        ↓ (未找到/未配置)\n第 3 步：检查用户是否在消息中明确提供了 open-id\n        ↓ (未提供)\n第 4 步：❗ 必须暂停执行，明确提示用户提供用户名或手机号作为 open-id\n```\n\n**⚠️ 关键约束：**\n\n- **禁止**自行假设,自行推导,自行生成 open-id 值（如 openclaw-control-ui、default、plant123、id456 等）\n- **禁止**跳过 open-id 验证直接调用 API\n- **必须**在获取到有效 open-id 后才能继续执行分析\n- 如果用户拒绝提供 open-id，说明用途（用于保存和查询诊断报告记录），并询问是否继续\n\n---\n\n- 标准流程:\n    1. **准备叶片视频/图片输入**\n        - 提供本地视频/图片文件路径或网络 URL\n        - 确保具有典型症状的叶片完整清晰\n    2. **获取 open-id（强制执行）**\n        - 按上述流程控制获取 open-id\n        - 如无法获取，必须提示用户提供用户名或手机号\n    3. **执行植物营养诊断分析**\n        - 调用 `-m scripts.plant_nutrition_diagnosis_analysis` 处理输入（**必须在技能根目录下运行脚本**）\n        - 参数说明:\n            - `--input`: 本地视频/图片文件路径（使用 multipart/form-data 方式上传）\n            - `--url`: 网络视频/图片 URL 地址（API 服务自动下载）\n            - `--open-id`: 当前用户的 open-id（必填，按上述流程获取）\n            - `--list`: 显示历史植物营养诊断分析报告列表清单（可以输入起始日期参数过滤数据范围）\n            - `--api-key`: API 访问密钥（可选）\n            - `--api-url`: API 服务地址（可选，使用默认值）\n            - `--detail`: 输出详细程度（basic/standard/json，默认 json）\n            - `--output`: 结果输出文件路径（可选）\n    4. **查看分析结果**\n        - 接收结构化的植物营养诊断报告\n        - 包含：输入基本信息、诊断营养元素、失衡类型（缺乏/过剩）、症状匹配度、成因分析、矫正施肥建议\n\n## 资源索引\n\n- 必要脚本：见 [scripts/plant_nutrition_diagnosis_analysis.py](scripts/plant_nutrition_diagnosis_analysis.py)\n  (用途：调用 API 进行植物营养诊断分析，本地文件使用 multipart/form-data 方式上传，网络 URL 由 API 服务自动下载)\n\n- 配置文件：见 [scripts/config.py](scripts/config.py)(用途：配置 API 地址、默认参数和格式限制)\n- 领域参考：见 [references/api_doc.md](references/api_doc.md)(何时读取：需要了解 API 接口详细规范和错误码时)\n\n## 注意事项\n\n- 仅在需要时读取参考文档，保持上下文简洁\n- 支持格式：jpg/jpeg/png，最大 20MB\n- API 密钥可选，如果通过参数传入则必须确保调用鉴权成功，否则忽略鉴权\n- 诊断结果仅供施肥参考，具体施肥方案请结合土壤检测结果和当地农业技术推广部门建议\n- 禁止临时生成脚本，只能用技能本身的脚本\n- 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载\n- 当显示历史分析报告清单的时候，从数据 json 中提取字段 reportImageUrl 作为超链接地址，使用 Markdown 表格格式输出，包含\"\n  报告名称\"、\"诊断植株数\"、\"分析时间\"、\"点击查看\"四列，其中\"报告名称\"列使用`植物营养诊断报告-{记录id}`形式拼接, \"点击查看\"\n  列使用\n  `[🔗 查看报告](reportImageUrl)`\n  格式的超链接，用户点击即可直接跳转到对应的完整报告页面。\n- 表格输出示例：\n  | 报告名称 | 诊断植株数 | 分析时间 | 点击查看 |\n  |----------|----------|----------|----------|\n  | 植物营养诊断报告-20260414233200001 | 1株 | 2026-04-14 23:32:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n## 使用示例\n\n```bash\n# 诊断本地视频/图片中植物的营养状况（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4 --open-id openclaw-control-ui\n\n# 诊断网络视频/图片（以下只是示例，禁止直接使用openclaw-control-ui 作为 open-id）\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4 --open-id openclaw-control-ui\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list --open-id openclaw-control-ui\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --open-id your-open-id --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --open-id your-open-id --output result.json\n```\n\nFile v1.0.2:skills/face_analysis/README.md\n\n# 中医面诊分析工具 (face-analysis)\n\n## 技能介绍\n这是一个基于AI的中医面诊分析技能，可以通过面部视频自动分析健康状况，返回结构化的诊断结果和养生建议。\n\n## 快速开始\n### 1. 配置API信息\n编辑 `scripts/config.py`，设置你的API地址和密钥：\n```python\nDEFAULT_API_URL = \"https://your-api-server.com/api/v1/face-analysis\"\nDEFAULT_API_KEY = \"your-api-key-here\"\n```\n\n### 2. 分析本地视频\n```bash\npython scripts/face_analysis.py --input /path/to/your/video.mp4\n```\n\n### 3. 分析网络视频\n```bash\npython scripts/face_analysis.py --url https://example.com/video.mp4\n```\n\n## 功能特性\n- ✅ 支持本地MP4视频上传\n- ✅ 支持网络视频URL分析\n- ✅ 三种输出详细程度：精简/标准/完整\n- ✅ 结构化JSON结果输出\n- ✅ 自动保存结果到文件\n- ✅ 内置视频格式和大小校验\n\n## 目录结构\n```\nface-analysis/\n├── SKILL.md              # 技能说明文件（系统自动加载）\n├── README.md             # 本说明文件\n├── scripts/\n│   ├── face_analysis.py  # 主程序\n│   └── config.py         # 配置文件\n├── references/\n│   ├── api_doc.md        # API接口文档\n│   ├── tcm_theory.md     # 中医面诊理论参考\n│   └── faq.md            # 常见问题\n└── assets/\n    └── template.json     # 返回结果模板\n```\n\n## 使用示例\n### 标准输出\n```\n📊 中医面诊分析报告\n==================================================\n⏰ 分析时间: 2026-03-10 15:30:00\n🎯 人脸检测: success (置信度: 95分)\n\n🔍 诊断结果:\n  整体体质: 平和质\n  脏腑状况:\n    liver: 正常\n    heart: 轻微火旺\n    spleen: 略虚\n    lung: 正常\n    kidney: 正常\n  面色分析: 微黄\n  对应提示: 脾胃功能略弱\n\n⚠️ 健康警示:\n  ⚠️  注意休息，避免熬夜\n\n💡 养生建议:\n  💡 饮食清淡，减少辛辣食物摄入\n  💡 保持规律作息，每晚11点前入睡\n  💡 适当进行有氧运动，如散步、太极拳\n==================================================\n```\n\n### 输出到JSON文件\n```bash\npython scripts/face_analysis.py --input video.mp4 --detail full --output result.json\n```\n\n## 注意事项\n1. 视频要求：清晰正面面部，光线充足，时长5-30秒为宜\n2. 支持格式：mp4、avi、mov，最大100MB\n3. API需要自行部署或接入第三方服务\n4. 结果仅供参考，不能替代专业医生诊断\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1779005982357\n}\n\nFile v1.0.2:skills/face_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口地址\n`POST https://your-api-server.com/api/v1/face-analysis`\n\n## 请求头\n| 字段 | 必选 | 说明 |\n|------|------|------|\n| X-API-Key | 是 | API访问密钥 |\n| Content-Type | 是 | multipart/form-data（文件上传）或 application/json（URL模式） |\n\n## 请求参数\n### 1. 文件上传模式\n| 字段 | 类型 | 必选 | 说明 |\n|------|------|------|------|\n| video | file | 是 | MP4视频文件 |\n| detail_level | string | 否 | 输出详细程度：basic/standard/full，默认standard |\n\n### 2. URL模式\n| 字段 | 类型 | 必选 | 说明 |\n|------|------|------|------|\n| video_url | string | 是 | 可公开访问的视频URL |\n| detail_level | string | 否 | 输出详细程度：basic/standard/full，默认standard |\n\n## 响应格式\n```json\n{\n  \"code\": 200,\n  \"message\": \"success\",\n  \"data\": {\n    \"analysis_time\": \"2026-03-10 15:30:00\",\n    \"face_detection\": {\n      \"status\": \"success\",\n      \"face_count\": 1,\n      \"quality_score\": 95\n    },\n    \"diagnosis\": {\n      \"overall_constitution\": \"平和质\",\n      \"organ_condition\": {\n        \"liver\": \"正常\",\n        \"heart\": \"轻微火旺\",\n        \"spleen\": \"略虚\",\n        \"lung\": \"正常\",\n        \"kidney\": \"正常\"\n      },\n      \"color_analysis\": {\n        \"complexion\": \"微黄\",\n        \"correspondence\": \"脾胃功能略弱\"\n      }\n    },\n    \"health_warnings\": [\n      \"注意休息，避免熬夜\"\n    ],\n    \"suggestions\": [\n      \"饮食清淡，减少辛辣食物摄入\"\n    ]\n  }\n}\n```\n\n## 错误码说明\n| 错误码 | 说明 |\n|--------|------|\n| 400 | 请求参数错误 |\n| 401 | API密钥无效 |\n| 403 | 权限不足 |\n| 413 | 文件过大 |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误 |\n\nFile v1.0.2:scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/face_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config.yaml\n\nenv: prod\n\nApiEnum:\n  api-key:\n  api-secret-key:\n  database-url:\n  base-url-open-api: \"https://open.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitor.lifeemergence.com\"\n  base-url-health: \"https://lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: false\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: \"XIAN_ZHAO_GAN_ZHI\"\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret:\n  default--skill-platform-name: ARK_CLAW\n\nFile v1.0.2:skills/face_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.2:skills/smyx_common/requirements.txt\n\naltgraph==0.17.5\nannotated-doc==0.0.4\nannotated-types==0.7.0\nanyio==4.12.1\nAPScheduler==3.11.2\nastroid==3.1.0\nAuthlib==1.6.6\nblinker==1.4\ncachetools==6.2.6\ncertifi==2026.1.4\ncffi==2.0.0\nchardet==5.2.0\ncharset-normalizer==3.4.4\nclick==8.3.1\ncoverage==7.13.2\ncoze-workload-identity==0.1.7\ncozeloop==0.1.19\ncryptography==3.4.8\nCython==3.2.4\ndbus-python==1.2.18\ndill==0.4.1\ndistro==1.7.0\ndistro-info==1.1+ubuntu0.2\net_xmlfile==2.0.0\nfastapi==0.121.2\ngitdb==4.0.12\ngitignore_parser==0.1.13\nGitPython==3.1.45\ngreenlet==3.3.1\nh11==0.16.0\nhttpcore==1.0.9\nhttplib2==0.20.2\nhttpx==0.28.1\nhttpx-ws==0.8.2\nidna==3.11\nimportlib-metadata==4.6.4\ninflect==7.5.0\niniconfig==2.3.0\nisort==5.13.2\njeepney==0.7.1\nJinja2==3.1.6\njiter==0.12.0\njsonpatch==1.33\njsonpointer==3.0.0\nkeyring==23.5.0\nlangchain==1.0.3\nlangchain-core==1.0.2\nlangchain-openai==1.0.1\nlanggraph==1.0.2\nlanggraph-checkpoint==3.0.0\nlanggraph-prebuilt==1.0.2\nlanggraph-sdk==0.2.9\nlangsmith==0.4.39\nlaunchpadlib==1.10.16\nlazr.restfulclient==0.14.4\nlazr.uri==1.0.6\nmarkdown-it-py==4.0.0\nMarkupSafe==3.0.3\nmccabe==0.7.0\nmdurl==0.1.2\nmore-itertools==8.10.0\nnumpy==2.4.1\noauthlib==3.2.0\nopenai==2.16.0\nopenpyxl==3.1.5\norjson==3.11.5\normsgpack==1.12.2\npackaging==25.0\npandas==2.3.3\nplatformdirs==4.5.1\npluggy==1.6.0\npsutil==7.1.3\npsycopg2-binary==2.9.11\npycparser==3.0\npydantic==2.12.4\npydantic_core==2.41.5\npydash==8.0.6\nPygments==2.19.2\nPyGObject==3.42.1\npyinstaller==6.18.0\npyinstaller-hooks-contrib==2026.0\nPyJWT==2.10.1\npylint==3.1.0\nPyMySQL==1.1.2\npyparsing==2.4.7\npytest==9.0.1\npytest-asyncio==1.3.0\npytest-cov==7.0.0\npytest-mock==3.15.1\npython-apt==2.4.0+ubuntu4.1\npython-dateutil==2.9.0.post0\npytz==2025.2\nPyYAML==6.0.3\nregex==2026.1.15\nrequests==2.32.5\nrequests-toolbelt==1.0.0\nrich==14.2.0\nSecretStorage==3.3.1\nsetuptools==80.9.0\nsix==1.16.0\nsmmap==5.0.2\nsniffio==1.3.1\nsqlacodegen==3.2.0\nSQLAlchemy==2.0.46\nstarlette==0.49.3\nsupervisor==4.2.1\ntenacity==9.1.2\ntiktoken==0.12.0\ntomlkit==0.14.0\ntqdm==4.67.1\ntypeguard==4.4.4\ntyping-inspection==0.4.2\ntyping_extensions==4.15.0\ntzdata==2025.3\ntzlocal==5.3.1\nunattended-upgrades==0.1\nurllib3==2.6.3\nuvicorn==0.38.0\nwadllib==1.3.6\nwatchdog==6.0.0\nwebsockets==15.0.1\nwheel==0.45.1\nwsproto==1.3.2\nxlrd==2.0.2\nxxhash==3.6.0\nzipp==1.0.0\nzstandard==0.25.0","readmeExcerpt":"Skill: Plant Nutrition Diagnosis Skill | 植物营养诊断技能 Owner: smyx-sunjinhui Summary: Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 Tags: latest:1.0.11 Version history: v1.0.11 | 2026-08-27T18:33:58.637Z | auto - Updated version number in SKILL","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.plant_nutrition_diagnosis_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json"},{"language":"bash","snippet":"python -m scripts.plant_nutrition_diagnosis_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 诊断本地视频/图片中植物的营养状况\npython -m scripts.plant_nutrition_diagnosis_analysis --input /path/to/leaf.mp4\n\n# 诊断网络视频/图片\npython -m scripts.plant_nutrition_diagnosis_analysis --url https://example.com/yellow-leaf.mp4\n\n# 显示历史诊断报告/显示诊断报告清单列表/显示历史植物营养诊断（自动触发关键词：查看历史诊断报告、历史报告、诊断报告清单等）\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n\n# 输出精简报告\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.plant_nutrition_diagnosis_analysis --input leaf.jpg --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"plant-nutrition-diagnosis-analysis\"\ndescription: \"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 🧪 Plant Nutrition Diagnosis Skill | 植物营养诊断技能\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物营养诊断技能** |\n| 🎯 核心目标 | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `PLANT_SPECIES_RECOGNITION` |\n\nBased on computer vision technology combined with professional plant physiology knowledge, this skill accurately\ndiagnoses nutrient imbalance disorders such as nitrogen, phosphorus, potassium deficiency or excess, as well as trace\nelement abnormalities by analyzing the color, texture and morphological characteristics of plant leaves. The system\nquickly locates the type of nutrient imbalance based on \"symptom location\" (such as the difference between old leaves\nand new leaves) and \"visual pattern\" (such as interveinal chlorosis, leaf margin scorch), and outputs a structured\ndiagnostic report including nutrient deficiency judgment, physiological cause analysis, and targeted fertilization\nsuggestions. It provides scientific basis for precision fertilization and crop health management, helping growers\nquickly correct nutrient disorders and maintain healthy plant growth.\n\n本技能结合计算机视觉技术与专业植物生理学知识，通过分析植物叶片的颜色、纹理和形态特征，能够精准诊断氮、磷、钾大量元素缺乏或过剩以及微量元素异常等营养失衡病症。系统依据\"\n症状发生部位\"（如老叶与新叶的差异）及\"视觉表现模式\"\n（如叶脉间失绿、叶缘焦枯），快速定位营养失衡类型，输出包含缺乏元素判断、生理成因分析及针对性施肥建议的结构化诊断报告，为精准施肥与作物健康管理提供科学依据，帮助种植者快速矫正营养失调，维持植物健康生长。\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过叶片视频/图片诊断植物营养状况，判断缺乏或过剩的营养元素，输出科学施肥建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片特征提取 |\n| 2 | 营养元素缺乏/过剩诊断 |\n| 3 | 成因分析 |\n| 4 | 施肥建议输出 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | **默认触发**：当用户提供植物叶片视频/图片需要诊断营养状况时，默认触发本技能 |\n| 🔎 明确分析意图 | 当用户明确需要植物营养诊断、缺肥判断时，提及叶子发黄、叶片失绿、缺氮缺磷、怎么施肥、营养诊断等关键词，并且上传了视频/图片，自动触发本技能 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能** ：查看历史诊断报告、营养诊断报告清单、诊断报告列表、查询历史诊断报告、显示所有诊断报告、植物营养分析报告，查询植物营养诊断分析报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.plant_nutrition_diagnosis_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.plant_nutrition_diagnosis_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\n  ```\n\n## 📸 诊断要求"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-plant-nutrition-diagnosis-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1787855638637\n}"},{"path":"skills/smyx_analysis/references/api_doc.md","content":"# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |"},{"path":"scripts/config.yaml","content":"{}"},{"path":"skills/smyx_analysis/scripts/config.yaml","content":"{}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 Skill: Plant Nutrition Diagnosis Skill | 植物营养诊断技能 Owner: smyx-sunjinhui Summary: Diagnoses plant nutrient deficiency or excess based on computer vision and plant physiology, outputs targeted fertilization suggestions for precision nutrient management. | 植物营养诊断技能，基于计算机视觉与植物生理学，通过叶片特征诊断氮磷钾及微量元素缺乏或过剩，输出精准施肥建议 Tags: latest:1.0.11 Version history: v1.0.11 | 2026-08-27T18:33:58.637Z | auto - Updated version number in SKILL","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":902,"uniquenessScore":52,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T01:20:18.828Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T01:20:18.828Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:12:45.339Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}