{"id":"9d3de081-f04b-451f-9481-37ff03b8bf52","entityType":"agent","slug":"clawhub-18072937735-smyx-plant-wilting-quantification-analysis","name":"Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）","canonicalUrl":"https://www.xpersona.co/agent/clawhub-18072937735-smyx-plant-wilting-quantification-analysis","canonicalPath":"/agent/clawhub-18072937735-smyx-plant-wilting-quantification-analysis","generatedAt":"2026-10-10T06:44:45.674Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:05:41.512Z","emptyReason":null},"description":"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。","descriptionLabel":"Source description","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 s17f8q65zg3y98t86jdg1177g583whq8:smyx-plant-wilting-quantification-analysis","sourceUrl":"https://clawhub.ai/18072937735/smyx-plant-wilting-quantification-analysis","homepage":"https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/18072937735/smyx-plant-wilting-quantification-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多） technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trus"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:05:41.512Z","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:05:41.512Z","emptyReason":null},"stars":null,"forks":null,"downloads":1818,"packageName":null,"latestVersion":"1.0.16","tractionLabel":"1.8K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:05:41.453Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T01:05:41.512Z","lastCrawledAt":"2026-10-10T01:05:41.453Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T01:05:41.453Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.16","createdAt":"2026-09-27T22:22:45.206Z","changelog":"- Removed the file `skill-card.md`. - No changes to features, functionality, or documentation in SKILL.md.","fileCount":31,"zipByteSize":39672},{"version":"1.0.15","createdAt":"2026-09-25T05:43:07.371Z","changelog":"- Version updated to 1.0.15. - Documentation in SKILL.md revised and updated; version and descriptive content now current. - Obsolete or redundant file skill-card.md removed. - Minor updates in configuration files to align documentation and internal references.","fileCount":31,"zipByteSize":39728},{"version":"1.0.13","createdAt":"2026-08-23T23:04:31.244Z","changelog":"- Updated version number in SKILL.md from 1.0.10 to 1.0.12. - Removed the file `skill-card.md`. - No functional or workflow changes; documentation and version metadata updates only.","fileCount":31,"zipByteSize":39927},{"version":"1.0.12","createdAt":"2026-08-17T17:02:29.147Z","changelog":"- Updated version to 1.0.12. - Changed metadata in SKILL.md (version field updated). - Removed redundant file: skill-card.md. - Minor configuration tweaks in skills/smyx_common/scripts/config.yaml. - No major user-facing feature changes.","fileCount":31,"zipByteSize":39879},{"version":"1.0.11","createdAt":"2026-08-11T11:15:35.327Z","changelog":"- Updated SKILL.md version from 1.0.8 to 1.0.9 - Removed the file: skill-card.md - No functional or technical changes to features or usage were introduced - Documentation and metadata now better reflect the current skill state","fileCount":31,"zipByteSize":39832},{"version":"1.0.10","createdAt":"2026-08-05T06:05:28.677Z","changelog":"- Updated SKILL.md with version and documentation changes. - Version incremented from 1.0.7 to 1.0.8. - Outdated skill-card.md file removed.","fileCount":31,"zipByteSize":39930},{"version":"1.0.9","createdAt":"2026-07-31T16:29:31.810Z","changelog":"- Updated version to 1.0.9 and incremented from 1.0.7 in SKILL.md. - Updated version number in SKILL.md metadata only; no other functional/content changes to the main documentation. - Removed the file skill-card.md from the repository.","fileCount":31,"zipByteSize":39941},{"version":"1.0.8","createdAt":"2026-07-15T07:34:32.137Z","changelog":"smyx-plant-wilting-quantification-analysis 1.0.8 - Updated internal utility script (`util.py`) in the shared scripts directory to improve or fix functionality. - Removed the `skill-card.md` file from the project. - No changes to user-facing skill description or workflow in SKILL.md.","fileCount":31,"zipByteSize":39897}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-plant-wilting-quantification-analysis","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-plant-wilting-quantification-analysis` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/18072937735/smyx-plant-wilting-quantification-analysis before using production credentials."],"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-18072937735-smyx-plant-wilting-quantification-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-plant-wilting-quantification-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-plant-wilting-quantification-analysis/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-plant-wilting-quantification-analysis/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-plant-wilting-quantification-analysis/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-plant-wilting-quantification-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-10T06:44:45.669Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-plant-wilting-quantification-analysis/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-plant-wilting-quantification-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-plant-wilting-quantification-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-plant-wilting-quantification-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":"medium","updatedAt":"2026-10-10T01:05:41.512Z","emptyReason":null},"readme":"Skill: Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n\nOwner: 18072937735\n\nSummary: AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\nTags: latest:1.0.16\n\nVersion history:\n\nv1.0.16 | 2026-09-27T22:22:45.206Z | auto\n\n- Removed the file `skill-card.md`.\n- No changes to features, functionality, or documentation in SKILL.md.\n\nv1.0.15 | 2026-09-25T05:43:07.371Z | auto\n\n- Version updated to 1.0.15.\n- Documentation in SKILL.md revised and updated; version and descriptive content now current.\n- Obsolete or redundant file skill-card.md removed.\n- Minor updates in configuration files to align documentation and internal references.\n\nv1.0.13 | 2026-08-23T23:04:31.244Z | auto\n\n- Updated version number in SKILL.md from 1.0.10 to 1.0.12.\n- Removed the file `skill-card.md`.\n- No functional or workflow changes; documentation and version metadata updates only.\n\nv1.0.12 | 2026-08-17T17:02:29.147Z | auto\n\n- Updated version to 1.0.12.\n- Changed metadata in SKILL.md (version field updated).\n- Removed redundant file: skill-card.md.\n- Minor configuration tweaks in skills/smyx_common/scripts/config.yaml.\n- No major user-facing feature changes.\n\nv1.0.11 | 2026-08-11T11:15:35.327Z | auto\n\n- Updated SKILL.md version from 1.0.8 to 1.0.9\n- Removed the file: skill-card.md\n- No functional or technical changes to features or usage were introduced\n- Documentation and metadata now better reflect the current skill state\n\nv1.0.10 | 2026-08-05T06:05:28.677Z | auto\n\n- Updated SKILL.md with version and documentation changes.\n- Version incremented from 1.0.7 to 1.0.8.\n- Outdated skill-card.md file removed.\n\nv1.0.9 | 2026-07-31T16:29:31.810Z | auto\n\n- Updated version to 1.0.9 and incremented from 1.0.7 in SKILL.md.\n- Updated version number in SKILL.md metadata only; no other functional/content changes to the main documentation.\n- Removed the file skill-card.md from the repository.\n\nv1.0.8 | 2026-07-15T07:34:32.137Z | auto\n\nsmyx-plant-wilting-quantification-analysis 1.0.8\n\n- Updated internal utility script (`util.py`) in the shared scripts directory to improve or fix functionality.\n- Removed the `skill-card.md` file from the project.\n- No changes to user-facing skill description or workflow in SKILL.md.\n\nv1.0.7 | 2026-07-06T13:13:28.783Z | auto\n\nsmyx-plant-wilting-quantification-analysis 1.0.7\n\n- Updated skill documentation in SKILL.md with minor content and version changes.\n- Removed deprecated file: skill-card.md.\n- Updated configuration script (skills/smyx_common/scripts/config.py).\n- No core analytic or user-visible behavior changes; primarily maintenance and documentation updates.\n\nv1.0.6 | 2026-06-30T04:57:29.237Z | auto\n\n# smyx-plant-wilting-quantification-analysis v1.0.6 Changelog\n\n- Updated documentation and version information in SKILL.md.\n- Internal script logic improved in `dao.py` and `util.py`.\n- Removed outdated `skill-card.md` file.\n- Minor refinements and clean-up for better maintainability.\n\nv1.0.5 | 2026-06-26T06:33:39.686Z | auto\n\n**Identity handling and skill workflow refactored for a more streamlined user experience.**\n\n- Removed any requirement for users to input or expose open-id or identity information; identity association is handled automatically by the system.\n- Updated documentation to clarify that scripts now manage user identity internally and never prompt for or display IDs.\n- Streamlined the operating procedure—users only provide images/videos or request history; authentication is transparent.\n- Enforced stricter requirements: all historical report queries must use the online API with no local or manual report gathering.\n- Removed deprecated files and refactored references for improved maintainability.\n- Usage examples, capability scope, and constraints updated for improved clarity.\n\nv1.0.4 | 2026-06-18T09:58:47.229Z | auto\n\n- Workflow for open-id acquisition now prioritizes scripts/config.yaml in the skill's root scripts/ directory, instead of skills/smyx_common/scripts/.\n- Updated documentation to reflect new open-id config paths, examples, and process details.\n- Removed legacy documentation file (skill-card.md).\n- Code updated to align with new config location and handling logic.\n- Various scripts updated for consistent configuration access and refactoring.\n\nv1.0.3 | 2026-06-14T15:13:23.291Z | auto\n\n- Updated core scripts and utilities for improved processing and config handling.\n- Revised open-id acquisition logic for stricter enforcement and reliability.\n- Improved documentation and usage guidance in SKILL.md.\n- Removed deprecated skill-card.md file for clarity and maintenance.\n- Minor bug fixes and internal structure refinements.\n\nv1.0.0 | 2026-05-23T16:05:12.008Z | auto\n\nInitial release of smyx-plant-wilting-quantification-analysis:\n\n- Quantifies plant wilting severity (0-100%) from full-plant images using AI analysis of leaf-stem angle, stem straightness, and leaf turgidity.\n- Optionally integrates soil-moisture sensor data to distinguish between underwatering and waterlogging, providing precise intervention suggestions.\n- Supports both image and video input from smart pots or fixed cameras; suitable for home gardening, greenhouses, plant factories, and smart pots.\n- Enforces strict open-id retrieval workflow for API operations and historical report queries; only cloud data allowed for historical reports.\n- Automatically outputs Markdown tables with report links when showing historical data.\n- Output includes only degree of wilting and possible cause, with no specific watering amounts provided.\n- Full documentation and setup instructions in Mandarin and English included.\n\nArchive index:\n\nArchive v1.0.16: 31 files, 39672 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2040b), SKILL.md (13254b), 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 (162b)\n\nFile v1.0.16:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.16:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1790547765206\n}\n\nFile v1.0.16:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\n\nFile v1.0.16: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.16:scripts/config.yaml\n\n{}\n\nFile v1.0.16:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.16: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.16: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.16: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.16:skill-card.md\n\n## Description:\n\nAnalyzes plant images or videos to estimate wilting severity and suggest whether underwatering or overwatering may be involved.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nGardeners, growers, and developers use plant images or videos to assess wilting, review possible causes, and obtain watering or drainage guidance and historical reports.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Plant images and videos are sent to external analysis services.\n\nMitigation: Avoid sensitive media and confirm the provider's data retention practices before use.\n\nRisk: An automatically managed identity links analysis with cloud report history.\n\nMitigation: Review account handling and report access with the publisher before using personal or shared media.\n\nRisk: Authentication tokens are stored in a local workspace database.\n\nMitigation: Avoid shared workspaces unless token storage and access protections are understood.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis)\n- [Plant wilting API documentation](artifact/references/api_doc.md)\n- [Skill usage demonstration](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, Guidance]\n\n**Output Format:** [Structured analysis report or Markdown history table with report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Wilting severity, possible cause, and suggested intervention; optional saved report.]\n\n## Skill Version(s):\n\n1.0.16 (source: ClawHub release metadata; bundled SKILL.md lists 1.0.15)\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.16:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.16:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.15: 31 files, 39728 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2176b), SKILL.md (13254b), 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 (162b)\n\nFile v1.0.15:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.15:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.15\",\n  \"publishedAt\": 1790314987371\n}\n\nFile v1.0.15:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\n\nFile v1.0.15: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.15:scripts/config.yaml\n\n{}\n\nFile v1.0.15:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.15: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.15: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.15: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.15:skill-card.md\n\n## Description:\n\nAnalyzes plant images or video to estimate wilting severity and suggest whether underwatering or overwatering may be responsible.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nGardeners, greenhouse operators, and developers can assess wilting from plant images or video, review possible watering-related causes, and retrieve historical reports. Soil-moisture information, when available, can help distinguish underwatering from overwatering.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Persistent identities and service tokens in a shared workspace can expose account data or report history across users.\n\nMitigation: Install only in a single-user or tightly isolated workspace until identity isolation is fixed; protect local workspace data and tokens.\n\nRisk: Plant media or media URLs are sent to an external service, and report history is fetched from the cloud.\n\nMitigation: Inform users of cloud processing and avoid submitting sensitive images or URLs without authorization.\n\nRisk: Visual symptoms alone may not reliably distinguish underwatering from overwatering.\n\nMitigation: Check soil moisture before acting on watering or drainage advice.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis)\n- [Plant wilting API documentation](references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Guidance]\n\n**Output Format:** [Structured analysis report or JSON result; Markdown table for report history]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include a report link and watering or drainage guidance.]\n\n## Skill Version(s):\n\n1.0.15 (source: skill frontmatter and server-resolved release)\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.15:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.15:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.13: 31 files, 39927 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2648b), SKILL.md (13254b), 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 (162b)\n\nFile v1.0.13:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.12\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.13:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1787526271244\n}\n\nFile v1.0.13:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\n\nFile v1.0.13: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.13:scripts/config.yaml\n\n{}\n\nFile v1.0.13:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.13: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.13: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.13: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.13:skill-card.md\n\n## Description:\n\nAnalyzes full-plant images or videos to quantify wilting severity and suggest whether symptoms point to underwatering or overwatering, optionally using soil-moisture context.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nGardeners, greenhouse operators, plant-factory teams, and agents managing smart-pot or fixed-camera workflows use this skill to turn plant media into wilting severity reports and intervention guidance. It also supports cloud history lookup for prior analysis reports tied to the resolved account context.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Plant images, videos, URLs, sender identifiers, report history, and locally stored tokens may be associated with a remote Life Emergence account.\n\nMitigation: Confirm account, consent, retention, and deletion expectations before installation or use.\n\nRisk: Security evidence reports insecure default network configuration and private development URLs in the release materials.\n\nMitigation: Use HTTPS-only production endpoints and remove private development URLs before deployment.\n\nRisk: The skill persists tokens locally.\n\nMitigation: Protect local token storage or avoid token persistence where operationally possible.\n\nRisk: The skill can submit remote media URLs for cloud analysis.\n\nMitigation: Validate remote URLs and avoid sending private or untrusted media sources.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis)\n- [Publisher profile](https://clawhub.ai/user/18072937735)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [Plant wilting API documentation](references/api_doc.md)\n- [Analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance]\n\n**Output Format:** [Markdown and structured JSON report text, with report links when available]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include wilting severity, likely cause, intervention direction, historical report data, and exported report image links.]\n\n## Skill Version(s):\n\n1.0.13 (source: server release evidence; 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.13:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.13:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.12: 31 files, 39879 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2487b), SKILL.md (13254b), 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 (162b)\n\nFile v1.0.12:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.10\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.12:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.12\",\n  \"publishedAt\": 1786986149147\n}\n\nFile v1.0.12:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\n\nFile v1.0.12: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.12:scripts/config.yaml\n\n{}\n\nFile v1.0.12:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.12: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.12: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.12: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.12:skill-card.md\n\n## Description:\n\nQuantifies plant wilting severity from plant images or videos and can use soil-moisture context to help distinguish underwatering from overwatering.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and plant-care operators can use this skill to analyze full-plant media from smart pots, fixed cameras, home gardens, greenhouses, or plant factories. It produces a wilting score, likely cause, intervention direction, and optional history reports.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Uploaded plant images, videos, and media URLs may be sent to a remote analysis service.\n\nMitigation: Review media sensitivity before use and avoid submitting private or regulated content unless the remote service and data handling are approved.\n\nRisk: The skill silently creates or reuses internal identities and stores service token or user data locally.\n\nMitigation: Review local workspace storage before deployment, scope credentials appropriately, and clear stored identity data when sharing or rotating workspaces.\n\nRisk: Default development HTTP endpoints and hidden account/token handling may be unexpected in production use.\n\nMitigation: Confirm the configured endpoints, transport security, and account behavior before installing or using the skill with private media.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis)\n- [API documentation](references/api_doc.md)\n- [Analysis 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, shell commands, guidance]\n\n**Output Format:** [Markdown or JSON text containing structured analysis results, report links, and history-list output.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include a report export URL and optional file output when the skill is run with an output path.]\n\n## Skill Version(s):\n\n1.0.12 (source: server 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.12:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.12:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.11: 31 files, 39832 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2407b), SKILL.md (13253b), 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 (162b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.9\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1786446935327\n}\n\nFile v1.0.11:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\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: prod\n\nFile v1.0.11:skill-card.md\n\n## Description:\n\nAnalyzes full-plant images or videos to quantify wilting severity, assess likely underwatering or overwatering causes when supporting signals are available, and return structured guidance for plant care workflows.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers can use this skill to evaluate plant wilting from uploaded plant media or URLs, review structured analysis results, and retrieve prior cloud-generated wilting reports. It is intended for smart pots, home gardening, greenhouses, and plant factory monitoring workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Plant images, videos, or media URLs are sent to external Life Emergence cloud endpoints for analysis.\n\nMitigation: Use only non-sensitive plant media and avoid private URLs unless the publisher documents retention, deletion, and access controls.\n\nRisk: The skill creates or reuses local account/token state for report history with limited user-facing controls.\n\nMitigation: Deploy only where local identity persistence and cloud report history are acceptable, and document how operators can review or disable that behavior before release.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis)\n- [API documentation](references/api_doc.md)\n- [Analysis 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, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and JSON-style structured analysis text, with optional saved output files and report links.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May return wilting scores, likely cause labels, intervention direction, cloud report history, and exported report links.]\n\n## Skill Version(s):\n\n1.0.11 (source: server release metadata; artifact frontmatter reports 1.0.9)\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: 31 files, 39930 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2572b), SKILL.md (13253b), 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 (162b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1785909928677\n}\n\nFile v1.0.10:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\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: prod\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nAnalyzes full-plant images or videos to estimate wilting severity from visual posture indicators, optionally using soil-moisture context to distinguish likely underwatering from overwatering.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, developers, and gardening or greenhouse operators use this skill to submit plant media for wilting quantification, likely cause assessment, intervention-direction guidance, and cloud report lookup.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Cloud-connected analysis may upload plant media or submit media URLs to a third-party service.\n\nMitigation: Review network/service use before installation and avoid submitting sensitive images, videos, URLs, or surrounding scene details.\n\nRisk: The skill creates or reuses identity/session values and persists service tokens locally.\n\nMitigation: Run in an isolated workspace or user profile, review persisted account data after use, and clear local tokens when continued service association is not desired.\n\nRisk: History report lookup can retrieve prior cloud-stored analysis records associated with the resolved identity.\n\nMitigation: Use only with accounts and environments where report history access is expected, and avoid sharing generated report links outside the intended audience.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [Plant Wilting API Documentation](references/api_doc.md)\n- [Common Analysis API Documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance]\n\n**Output Format:** [Markdown and structured JSON-like analysis reports, with optional report links and command examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can write an analysis result file when an output path is supplied; historical report queries return a structured report list.]\n\n## Skill Version(s):\n\n1.0.10 (source: server release metadata; artifact SKILL.md frontmatter reports 1.0.8)\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: 31 files, 39941 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2733b), SKILL.md (13253b), 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 (161b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.7\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1785515371810\n}\n\nFile v1.0.9:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\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: <br>\nQuantifies plant wilting from full-plant images or video by estimating wilting severity and likely underwatering or overwatering causes, with optional soil-moisture context for smart pots, home gardens, greenhouses, and plant factories. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to analyze plant images or videos, generate structured wilting reports, and distinguish likely dehydration from possible waterlogging. It is aimed at smart-pot, home gardening, greenhouse, and plant-factory monitoring workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant images, video URLs, and identity-linked analysis data are sent to remote cloud services. <br>\nMitigation: Use the skill only when that data sharing is acceptable, and avoid submitting private home images or private URLs. <br>\nRisk: The skill creates or reuses a persistent identity, stores session tokens locally, and can query cloud history automatically. <br>\nMitigation: Review the backend trust relationship and token storage behavior before installation, especially in shared workspaces. <br>\nRisk: Wilting-cause classification can be uncertain without soil-moisture context or clear side-view imagery. <br>\nMitigation: Confirm soil condition manually or with sensor data before acting on underwatering or overwatering guidance. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API interface documentation](artifact/references/api_doc.md) <br>\n- [Analysis API documentation](artifact/skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON structured analysis report with optional report links and saved output files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Supports local media files or media URLs, optional basic/standard/json detail levels, and cloud-backed history listing.] <br>\n\n## Skill Version(s): <br>\n1.0.9 (source: server release evidence; artifact frontmatter says 1.0.7) <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.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: 31 files, 39897 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2644b), SKILL.md (13253b), 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 (161b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1784100872137\n}\n\nFile v1.0.8:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\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: <br>\nAnalyzes full-plant images or videos to quantify wilting severity, identify likely underwatering or overwatering signals, and produce structured irrigation guidance. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to analyze plant media from smart pots, fixed cameras, home gardens, greenhouses, or plant factories and receive a wilting score, likely cause, and intervention direction. It is intended to support plant-care decisions, not to prescribe exact watering quantities. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant images, videos, and supplied URLs are sent to lifeemergence.com services for analysis. <br>\nMitigation: Use only media and URLs that are acceptable to share with that service, and avoid private images or internal network URLs unless the publisher's data handling is approved. <br>\nRisk: Cloud report history is associated with an internal identifier. <br>\nMitigation: Confirm the intended identity context before use and review the publisher's retention and account behavior before using the history feature. <br>\nRisk: The skill may store user and token data in a local workspace database. <br>\nMitigation: Run it in an isolated workspace when evaluating it and remove local workspace data after testing if the account context should not persist. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [Plant Wilting API Documentation](references/api_doc.md) <br>\n- [Shared Analysis API Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance] <br>\n**Output Format:** [Markdown text containing structured JSON-style analysis, report links, and command examples.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May write analysis output to a user-specified local file.] <br>\n\n## Skill Version(s): <br>\n1.0.8 (source: server release metadata; artifact frontmatter reports 1.0.5) <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.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: 31 files, 39808 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2653b), SKILL.md (13253b), 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 (28605b), _meta.json (161b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1783343608783\n}\n\nFile v1.0.7:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\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>\nAnalyzes full-plant images or videos to quantify wilting severity and, when soil-moisture context is available, distinguish likely underwatering from overwatering. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, developers, and operators of smart pots, home-gardening systems, greenhouses, or plant factories use this skill to analyze plant media, estimate wilting severity, identify a likely watering-related cause, and receive report-oriented intervention guidance. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant media or URLs may be uploaded to external lifeemergence.com services. <br>\nMitigation: Use the skill only with media approved for external processing, and prefer a local-only alternative when images, videos, or URLs are sensitive. <br>\nRisk: The skill may automatically create or reuse a persistent identity and query cloud-linked report history. <br>\nMitigation: Confirm that account-linked history is acceptable before use, and avoid the history-listing workflow when cloud report retrieval is not desired. <br>\nRisk: Authentication tokens may persist in the workspace. <br>\nMitigation: Run the skill in an isolated workspace and remove local credential or state files after use when persistence is not required. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown and JSON-style structured analysis reports with optional shell commands and file output] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include wilting severity, likely underwatering or overwatering cause, intervention guidance, report links, and historical report tables.] <br>\n\n## Skill Version(s): <br>\n1.0.7 (source: server release evidence; artifact frontmatter reports 1.0.5) <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: 31 files, 39464 bytes\n\nFiles: references/api_doc.md (689b), scripts/__init__.py (56b), scripts/config.py (700b), scripts/config.yaml (3b), scripts/skill.py (592b), scripts/smyx_plant_wilting_quantification_analysis.py (3469b), skill-card.md (2355b), SKILL.md (13253b), 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 (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (161b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.4\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_plant_wilting_quantification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n## 📦 前置准备 | Requirements\n- 依赖说明:scripts 脚本所需的依赖包及版本\n  ```\n  requests>=2.28.0\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.smyx_plant_wilting_quantification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看量化结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地植物图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络植物图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 对象类型，植物场景默认 other | 按需填写 |\n| `--list` | 显示萎蔫量化历史报告列表清单 | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 📐 萎蔫指数量化指标\n\n| 指标 | 测量方式 | 健康状态 | 轻度萎蔫 | 重度萎蔫 |\n|------|----------|----------|----------|----------|\n| 叶片-茎秆夹角 | 叶片与茎秆夹角 | 30°-60°（向上展开） | 60°-90°（水平） | >90°（下垂） |\n| 茎秆挺直度 | 茎秆弯曲程度 | 笔直 | 轻微弯曲 | 明显弯曲/倒伏 |\n| 叶片舒展度 | 叶片展开面积比 | 充分展开 | 边缘卷曲 | 严重卷缩/干枯 |\n\n> 萎蔫指数 = f(叶片夹角, 茎秆挺直度, 叶片舒展度)，综合三项指标加权计算 0-100%。\n\n## 📊 萎蔫程度分级\n\n| 萎蔫指数 | 程度 | 视觉表现 | 建议 |\n|----------|------|----------|------|\n| 0%-15% | 🟢 健康 | 叶片挺拔舒展，茎秆笔直 | 无需干预 |\n| 16%-35% | 🟡 轻度 | 叶片轻微下垂，边缘微卷 | 关注，观察 1-2 小时是否恢复 |\n| 36%-60% | 🟠 中度 | 叶片明显下垂，茎秆微弯 | 需要干预，判断缺水/水涝后处理 |\n| 61%-100% | 🔴 重度 | 叶片严重下垂/卷缩，茎秆弯曲倒伏 | ⚠️ 紧急处理，重度萎蔫可能不可逆 |\n\n## 🚰 缺水 vs 水涝：关键区别\n\n| 特征 | 缺水（干旱） | 水涝（过湿） |\n|------|--------------|--------------|\n| 叶片表现 | 从边缘开始干枯、卷曲、变脆 | 整体发黄、柔软、易脱落 |\n| 茎秆 | 可能偏软但通常保持挺直 | 基部发软、发黑 |\n| 土壤 | 干燥、开裂 | 湿润、积水、可能有异味 |\n| 根系 | 根尖干枯 | 根部腐烂、发黑发臭 |\n| 恢复速度 | 浇水后数小时内恢复 | 需排水+通风，恢复较慢 |\n| 常见误区 | — | 看到萎蔫就浇水，可能加重水涝 |\n\n> **关键**：水涝导致的萎蔫与缺水外观相似，但处理方式完全相反！错误浇水会加速植物死亡。\n\n## 🔧 智能设备联动参考\n\n| 联动设备 | 缺水场景 | 水涝场景 |\n|----------|----------|----------|\n| 💧 自动灌溉 | 启动浇水 | 停止浇水 |\n| 🌡️ 土壤湿度传感器 | 确认土壤干燥 | 确认土壤过湿 |\n| 💨 排风扇/通风 | — | 启动通风加速蒸发 |\n| 🔦 补光灯 | — | 关闭（减少蒸腾） |\n| 📱 APP 推送 | \"缺水，请浇水\" | \"水涝，请停止浇水并松土\" |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_plant_wilting_quantification_analysis.py`](scripts/smyx_plant_wilting_quantification_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/png/mp4/avi/mov 格式，最大 10MB |\n| 🔎 使用提醒 | **拍摄要求**：侧视图最佳，需清晰看到叶片与茎秆关系；俯视图无法准确评估下垂角度 |\n| 🔎 使用提醒 | **仅输出萎蔫程度和可能原因，不提供具体浇水量** |\n| 🔎 使用提醒 | 无土壤湿度数据时，缺水/水涝判断为推测，建议结合手动检查土壤确认 |\n| 🔎 使用提醒 | 高温午间萎蔫为正常蒸腾萎蔫，傍晚可自行恢复，无需紧急浇水 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数，不需要下载本地，默认地址都是公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 当显示历史量化报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1782795449237\n}\n\nFile v1.0.6:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）\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>\nQuantifies plant wilting from full-plant images or videos and returns severity, likely underwatering or overwatering cause, guidance, and report links. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to analyze plant images, videos, or URLs for wilting severity, possible water-stress cause, intervention direction, and historical report access. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant photos, videos, or supplied URLs may be processed by the publisher's cloud service. <br>\nMitigation: Avoid sending sensitive indoor footage or private/internal URLs unless that processing is acceptable. <br>\nRisk: The skill can silently create or reuse an identity and link reports to that identity. <br>\nMitigation: Review identity handling before installation and use a controlled workspace or account boundary for testing. <br>\nRisk: The skill may persist user records and authentication tokens locally for report history access. <br>\nMitigation: Review local workspace data files and token storage before deployment and clean them according to the environment's retention policy. <br>\n\n\n## Reference(s): <br>\n- [Plant Wilting Quantification API Documentation](references/api_doc.md) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [ClawHub Skill Page](https://clawhub.ai/18072937735/skills/smyx-plant-wilting-quantification-analysis) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown or JSON text with report links and optional saved output files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May call publisher cloud APIs for analysis and historical report retrieval.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: server-resolved release metadata) <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","readmeExcerpt":"Skill: Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多） Owner: 18072937735 Summary: AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. water","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_plant_wilting_quantification_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_plant_wilting_quantification_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --input /path/to/plant_side.jpg\n\n# 分析网络植物图像\npython -m scripts.smyx_plant_wilting_quantification_analysis --url https://example.com/plant.jpg\n\n# 显示历史量化报告/显示报告清单列表\npython -m scripts.smyx_plant_wilting_quantification_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_plant_wilting_quantification_analysis --input plant.jpg --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-plant-wilting-quantification-analysis\"\ndescription: \"AI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories. | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\"\nversion: \"1.0.15\"\nlicense: \"MIT-0\"\n---\n\n# 🥀 Plant Wilting Quantification (Underwatering / Overwatering) | 植物萎蔫程度量化（缺水/水多）\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **植物萎蔫程度量化（缺水/水多）** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` |\n\nAI-powered plant wilting quantification from full-plant images via smart pots or fixed cameras. Detects leaf-stem angle (leaf droop), stem straightness, and leaf turgidity to quantify wilting severity (0-100%). Optionally fuses soil-moisture sensor data to discriminate dehydration (underwatering) vs. waterlogging (root hypoxia), and auto-triggers watering or drainage prompts for precision irrigation. Scenarios: smart pots, home gardening, greenhouses, plant factories.\n\n通过智能花盆或固定摄像头拍摄植物整体图像，利用AI视觉分析技术检测叶片与茎秆的夹角（叶片下垂角度）、茎秆挺直程度以及叶片舒展度，量化萎蔫程度（0-100%）。可选结合土壤湿度传感器数据，综合判断萎蔫原因是缺水还是水涝（根部缺氧导致）。可自动触发灌溉或排水提示，帮助用户精准浇水。应用场景：智能花盆、家庭园艺、温室大棚、植物工厂。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **假设你是一个专业的植物生理健康AI。你的任务是分析植物的整体图像（侧视图最佳），计算萎蔫指数（基于叶片与茎秆夹角、茎秆弯曲度等），并可结合土壤湿度数据（若提供）判断萎蔫原因（缺水或水涝）。不要提供具体浇水量，仅输出萎蔫程度和可能原因。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过植物整体图像量化萎蔫程度，并结合可选土壤湿度数据判断萎蔫原因，输出干预方向建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 叶片下垂角度检测 |\n| 2 | 茎秆挺直程度评估 |\n| 3 | 叶片舒展度分析 |\n| 4 | 萎蔫指数综合评分（0-100%） |\n| 5 | 缺水/水涝原因判别（结合可选土壤湿度） |\n| 6 | 灌溉/排水方向建议 |\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.smyx_plant_wilting_quantification_analysis --list\n```\n\n|"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-plant-wilting-quantification-analysis\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1790547765206\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放植物萎蔫程度量化 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动通用 AI 分析任务（植物萎蔫量化）\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_PLANT_WILTING_QUANTIFICATION_ANALYSIS` - 植物萎蔫程度量化（缺水/水多）"},{"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":"{}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":941,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T01:05:41.512Z","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:05:41.512Z","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-10T06:44:45.674Z","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"}]}}}