{"id":"c40c22fe-0362-46ee-916d-40976ea5b3df","entityType":"agent","slug":"clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an","name":"Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别","canonicalUrl":"https://www.xpersona.co/agent/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an","canonicalPath":"/agent/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an","generatedAt":"2026-10-10T09:13:36.343Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T00:25:37.027Z","emptyReason":null},"description":"Detects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments. Skill: Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别 Owner: smyx-sunjinhui Summary: Detects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments. Tags: latest:1.0.11 Version history: v1.0.11 | 2026-10-01T07:58:41.810Z | auto - Removed the file: skill-card.md. - Updated configuration in skills/smyx_common/scripts/config.y","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.8K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-indoor-plant-light-stress-detect-analysis","sourceUrl":"https://clawhub.ai/smyx-sunjinhui/smyx-indoor-plant-light-stress-detect-analysis","homepage":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/smyx-sunjinhui/smyx-indoor-plant-light-stress-detect-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":65,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Detects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments. Skill:"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T00:25:37.027Z","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-10T00:25:37.027Z","emptyReason":null},"stars":null,"forks":null,"downloads":1839,"packageName":null,"latestVersion":"1.0.11","tractionLabel":"1.8K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T00:25:37.026Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T00:25:37.027Z","lastCrawledAt":"2026-10-10T00:25:37.026Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T00:25:37.026Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.11","createdAt":"2026-10-01T07:58:41.810Z","changelog":"- Removed the file: skill-card.md. - Updated configuration in skills/smyx_common/scripts/config.yaml. - No changes to core skill functionality or user-facing behavior.","fileCount":31,"zipByteSize":38915},{"version":"1.0.10","createdAt":"2026-09-07T03:57:29.669Z","changelog":"- Removed the file skill-card.md. - No changes to core functionality or user workflows. - Documentation and main usage instructions remain unchanged.","fileCount":31,"zipByteSize":39205},{"version":"1.0.9","createdAt":"2026-08-29T06:24:30.736Z","changelog":"- Updated SKILL.md to version 1.0.11 with minor text and version changes. - Removed skill-card.md from the project. - No changes to underlying logic or API usage; documentation only. - Clarified usage instructions and maintained all key workflows and capabilities.","fileCount":31,"zipByteSize":39101},{"version":"1.0.8","createdAt":"2026-08-21T05:48:29.587Z","changelog":"- Updated skill version to 1.0.9. - Removed redundant file: skill-card.md. - Documentation (SKILL.md) revised; updated version number and minor structural improvements. - No changes to functionality or workflow.","fileCount":31,"zipByteSize":39164},{"version":"1.0.7","createdAt":"2026-08-10T22:08:35.849Z","changelog":"- Removed the file skill-card.md from the project. - No changes to skills, features, APIs, or documentation content. - Version bump from 1.0.7 to 1.0.8 for maintenance/cleanup purposes.","fileCount":31,"zipByteSize":39136},{"version":"1.0.6","createdAt":"2026-08-08T08:49:45.034Z","changelog":"- Updated version number from 1.0.6 to 1.0.8 in SKILL.md. - Removed the file skill-card.md. - No feature, API, logic, or usage changes indicated.","fileCount":31,"zipByteSize":39176},{"version":"1.0.5","createdAt":"2026-08-01T09:19:37.284Z","changelog":"- Version bumped to 1.0.6. - Documentation updated in SKILL.md with no functional changes. - Removed obsolete skill-card.md file for a leaner project structure.","fileCount":31,"zipByteSize":39163},{"version":"1.0.4","createdAt":"2026-07-13T01:10:27.257Z","changelog":"- Version bump: updated version from 1.0.3 to 1.0.5. - Documentation update: SKILL.md revised; minor corrections or clarifications. - Obsolete file removed: deleted skill-card.md. - No changes to core functionality or interface.","fileCount":31,"zipByteSize":39138}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-indoor-plant-light-stress-detect-analysis","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T09:13:36.340Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-indoor-plant-light-stress-detect-an/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T00:25:37.027Z","emptyReason":null},"readme":"Skill: Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n\nOwner: smyx-sunjinhui\n\nSummary: Detects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments.\n\nTags: latest:1.0.11\n\nVersion history:\n\nv1.0.11 | 2026-10-01T07:58:41.810Z | auto\n\n- Removed the file: skill-card.md.\n- Updated configuration in skills/smyx_common/scripts/config.yaml.\n- No changes to core skill functionality or user-facing behavior.\n\nv1.0.10 | 2026-09-07T03:57:29.669Z | auto\n\n- Removed the file skill-card.md.\n- No changes to core functionality or user workflows.\n- Documentation and main usage instructions remain unchanged.\n\nv1.0.9 | 2026-08-29T06:24:30.736Z | auto\n\n- Updated SKILL.md to version 1.0.11 with minor text and version changes.\n- Removed skill-card.md from the project.\n- No changes to underlying logic or API usage; documentation only.\n- Clarified usage instructions and maintained all key workflows and capabilities.\n\nv1.0.8 | 2026-08-21T05:48:29.587Z | auto\n\n- Updated skill version to 1.0.9.\n- Removed redundant file: skill-card.md.\n- Documentation (SKILL.md) revised; updated version number and minor structural improvements.\n- No changes to functionality or workflow.\n\nv1.0.7 | 2026-08-10T22:08:35.849Z | auto\n\n- Removed the file skill-card.md from the project.\n- No changes to skills, features, APIs, or documentation content.\n- Version bump from 1.0.7 to 1.0.8 for maintenance/cleanup purposes.\n\nv1.0.6 | 2026-08-08T08:49:45.034Z | auto\n\n- Updated version number from 1.0.6 to 1.0.8 in SKILL.md.\n- Removed the file skill-card.md.\n- No feature, API, logic, or usage changes indicated.\n\nv1.0.5 | 2026-08-01T09:19:37.284Z | auto\n\n- Version bumped to 1.0.6.\n- Documentation updated in SKILL.md with no functional changes.\n- Removed obsolete skill-card.md file for a leaner project structure.\n\nv1.0.4 | 2026-07-13T01:10:27.257Z | auto\n\n- Version bump: updated version from 1.0.3 to 1.0.5.\n- Documentation update: SKILL.md revised; minor corrections or clarifications.\n- Obsolete file removed: deleted skill-card.md.\n- No changes to core functionality or interface.\n\nv1.0.3 | 2026-07-09T23:58:28.823Z | auto\n\n- Removed the file: skill-card.md.\n- No functional or user-facing changes; this update only affects documentation organization.\n\nv1.0.2 | 2026-07-04T19:49:28.037Z | auto\n\n- Updated version to 1.0.3.\n- Removed redundant file: skill-card.md.\n- Minor updates to SKILL.md, including version and maintenance, with no change to core functionality or usage.\n- Internal code files (config.py, dao.py, util.py) updated for maintainability; no impact on public features or workflow.\n\nv1.0.1 | 2026-06-25T22:38:29.552Z | auto\n\n**Changelog for smyx-indoor-plant-light-stress-detect-analysis v1.0.1**\n\n- Streamlined identity (open-id) handling: now performed internally and automatically; users are no longer prompted to provide or supply any identity parameters.\n- Updated documentation (SKILL.md) to clarify new identity workflow, add license information, and improve overall structure and clarity.\n- Adjusted historical report querying requirements to use only backend/cloud APIs—strictly prohibiting any local or semi-manual data aggregation.\n- Removed the now-unneeded scripts/api_service.py legacy file.\n- Minor script and requirements updates for improved maintainability.\n\nv1.0.0 | 2026-05-23T19:02:49.973Z | auto\n\nInitial release of AI-powered indoor plant light stress detection.\n\n- Detects light stress signs (etiolation, leaf burn, curling, bleaching) in indoor plants from images or video.\n- Optionally integrates lux sensor data to enhance light stress assessment (insufficient, normal, excessive).\n- Provides actionable adjustment suggestions (e.g., move to sunlight, add shading, adjust grow lighting).\n- Includes strict user authentication (open-id) acquisition and usage rules.\n- Enables querying and displaying historical analysis reports in structured Markdown tables.\n- Supports multiple input formats (jpg/png/mp4/avi/mov, up to 10MB) and both smart planter and fixed camera scenarios.\n\nArchive index:\n\nArchive v1.0.11: 31 files, 38915 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (1868b), SKILL.md (12216b), 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 (166b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1790841521810\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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 indoor plant images or videos, with optional light readings, to assess low or excessive light stress and suggest care adjustments.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nHome gardeners, office plant caretakers, and smart-planter users can assess plant light conditions from images or videos, receive care suggestions, and review cloud-hosted reports.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Plant images, videos, or supplied URLs may be sent to the publisher's cloud service.\n\nMitigation: Review the service's retention and deletion practices before use; avoid sensitive home, workplace, child, medical, or internal-network media and URLs.\n\nRisk: The skill silently creates or reuses an account-linked identity and stores tokens for reports.\n\nMitigation: Review account controls before installation and use only when persistent, account-linked report storage is acceptable.\n\n## Reference(s):\n\n- [Skill API reference](references/api_doc.md)\n- [Analysis API reference](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON]\n\n**Output Format:** [Structured analysis results or Markdown report lists, with optional saved text files and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Offers basic, standard, or JSON detail levels.]\n\n## Skill Version(s):\n\n1.0.11 (source: frontmatter, 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.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, 39205 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (2724b), SKILL.md (12216b), 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 (166b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1788753449669\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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: dev\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nDetects indoor plant light stress from images or videos and optional lux data, classifying insufficient, excessive, or normal light and returning care suggestions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users, smart-planter operators, home gardeners, and office plant caretakers use this skill to analyze plant images or videos for light-stress symptoms and receive adjustment guidance. It can also query prior cloud-generated analysis reports associated with the current user context.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security evidence flags privacy and transport-security risk around cloud analysis endpoints and submitted plant images, private URLs, or account identifiers.\n\nMitigation: Review and configure service endpoints before installation; submit sensitive images, private URLs, or account identifiers only when the endpoints are trusted HTTPS services.\n\nRisk: The security evidence flags persistence risk around local token and report-history storage.\n\nMitigation: Review the skill's local identity and report-history storage behavior before deployment, and use only in environments where that persistence is acceptable.\n\nRisk: The security evidence flags payment-redirection and billing-flow risk.\n\nMitigation: Review the service endpoints and billing flow before installation or use.\n\nRisk: The security evidence notes a dependency typo that can affect installation reliability.\n\nMitigation: Fix the dependency typo before relying on the skill in a production environment.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface 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 text with structured JSON analysis content and report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Supports local file or URL input, report-list output, and optional result file writing.]\n\n## Skill Version(s):\n\n1.0.10 (source: server release metadata; artifact frontmatter says 1.0.11)\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, 39101 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (2420b), SKILL.md (12216b), 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 (165b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1787984670736\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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: dev\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nDetects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to analyze indoor plant images or videos, optionally with lux readings, for light stress classification and care adjustment guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends plant images or videos, URLs, report metadata, and an automatically selected user identity to the publisher's remote service.\n\nMitigation: Review before installation and use only when sharing those inputs with the publisher's service is acceptable.\n\nRisk: The skill may create a local database containing reusable tokens.\n\nMitigation: Run in a controlled workspace and remove or protect the local data store according to the deployment's credential-handling policy.\n\nRisk: Development/private HTTP endpoint configuration is present in the artifact.\n\nMitigation: Ask the publisher to correct or explain endpoint configuration before normal use.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis)\n- [Publisher profile](https://clawhub.ai/user/smyx-sunjinhui)\n- [API interface documentation](artifact/references/api_doc.md)\n- [Shared analysis API documentation](artifact/skills/smyx_analysis/references/api_doc.md)\n- [Skill usage demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, files, guidance]\n\n**Output Format:** [Markdown or JSON analysis report with care suggestions and report links; optionally saved to a local output file.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs may include remote report links and historical report listings when requested.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release metadata; artifact frontmatter reports 1.0.11)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.9:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.9:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.8: 31 files, 39164 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (2496b), SKILL.md (12215b), 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 (165b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.9\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1787291309587\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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: dev\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nDetects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and plant-care agents use this skill to analyze indoor plant images or videos, optionally with lux data, and receive light-stress classification plus care adjustment guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Plant images, videos, or supplied URLs are sent to the configured remote analysis service.\n\nMitigation: Use only media appropriate for that service, avoid sensitive backgrounds, and review endpoint configuration before deployment.\n\nRisk: The skill creates or reuses local identity-linked state and may store tokens in a workspace SQLite database.\n\nMitigation: Run the skill in a controlled workspace and restrict access to persisted identity or token state.\n\nRisk: History queries can retrieve remote analysis records under the resolved identity.\n\nMitigation: Enable history lookup only when identity-scoped report retrieval is expected and acceptable.\n\nRisk: The authoritative security verdict is suspicious due to under-disclosed endpoint and persistence behavior.\n\nMitigation: Require security review of endpoint configuration and persistence behavior before production rollout.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API documentation](references/api_doc.md)\n- [SMYX analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown and JSON text, with optional saved file output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include report links and history tables when list mode is used.]\n\n## Skill Version(s):\n\n1.0.8 (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.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, 39136 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (2438b), SKILL.md (12215b), 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 (165b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1786399715849\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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:\n\nDetects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to analyze indoor plant images, videos, or image URLs for light-stress symptoms and receive structured care guidance. It also supports querying prior cloud-hosted analysis reports for the resolved user identity.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Plant images, videos, URLs, and user identifiers may be sent to the lifeemergence cloud service for analysis and report lookup.\n\nMitigation: Use only with plant media and URLs that are appropriate to upload to that service, and avoid submitting unrelated personal or sensitive content.\n\nRisk: The skill can create or reuse an identity and keep returned tokens in a local SQLite record in the workspace data directory.\n\nMitigation: Review the workspace data directory before and after use, restrict local file access where possible, and remove stored tokens when they are no longer needed.\n\nRisk: Values placed in data/smyx-api-key.txt are treated as an identity for remote login.\n\nMitigation: Do not store unrelated secrets in data/smyx-api-key.txt; keep that file limited to the intended identity value.\n\n## Reference(s):\n\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- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Guidance]\n\n**Output Format:** [Markdown text with structured JSON content and optional report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May write the displayed analysis result to a user-specified output file.]\n\n## Skill Version(s):\n\n1.0.7 (source: ClawHub 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.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, 39176 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (2533b), SKILL.md (12215b), 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 (165b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1786178985034\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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:\n\nDetects and analyzes indoor plant light stress from images, videos, URLs, and optional lux data, identifying low-light or excessive-light symptoms and suggesting care adjustments.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nPlant-care users, smart-planter operators, home gardeners, office plant caretakers, and developers can use this skill to analyze plant media for insufficient, excessive, or normal light conditions and receive structured adjustment guidance. The skill can also query cloud-hosted historical light-stress reports associated with the current internal identity.\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 the LifeEmergence cloud service for analysis.\n\nMitigation: Use only media you are comfortable uploading to that service, and avoid sensitive images or videos.\n\nRisk: Reports may be associated with an automatically resolved or created internal identity.\n\nMitigation: Review whether identity-linked cloud report history is acceptable before using analysis or list mode.\n\nRisk: Service tokens and identity values may be stored in the workspace data directory.\n\nMitigation: Review and remove data/smyx-api-key.txt and related workspace data if the identity or token should not be reused.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [API Interface Documentation](artifact/references/api_doc.md)\n- [Analysis API Documentation](artifact/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 text containing structured JSON analysis, care suggestions, report links, or historical report tables.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include cloud report export links and historical report records when list mode is used.]\n\n## Skill Version(s):\n\n1.0.6 (source: server release evidence; artifact 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.6:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.6:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.5: 31 files, 39163 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (2605b), SKILL.md (12215b), 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 (165b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1785575977284\n}\n\nFile v1.0.5: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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.5:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.5:scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nDetects indoor plant light stress from images or video and optional lux data, classifying insufficient, excessive, or normal light and returning adjustment suggestions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and agents use this skill to analyze indoor plant images, videos, or URLs for signs of low-light or excessive-light stress. It returns structured findings, care suggestions, report links, and historical report listings for indoor plant care workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant images, video URLs, and history-report requests are sent to Lifeemergence cloud APIs. <br>\nMitigation: Use the skill only with media and URLs that are appropriate to send to that cloud service, and avoid private or sensitive imagery unless the user has authorized that transfer. <br>\nRisk: The skill silently creates or reuses a local identity and stores or reuses cloud API tokens in a workspace SQLite database. <br>\nMitigation: Run it in a controlled workspace, review the workspace data directory for identity and token storage, and remove or rotate stored tokens when they are no longer needed. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis) <br>\n- [Publisher Profile](https://clawhub.ai/user/smyx-sunjinhui) <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, JSON, shell commands, files, guidance] <br>\n**Output Format:** [Markdown text with structured JSON analysis content, report links, and optional saved output files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can analyze local media files or public media URLs and can list historical cloud reports associated with the resolved local identity.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata; artifact frontmatter reports 1.0.6) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.5:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.5:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.4: 31 files, 39138 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (2493b), SKILL.md (12215b), 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 (165b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783905027257\n}\n\nFile v1.0.4: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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.4:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.4:scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nDetects indoor plant light stress from images, videos, URLs, and optional lux data, then reports whether lighting appears insufficient, excessive, or normal with care suggestions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to analyze indoor plant images, videos, or URLs for signs of low-light or excessive-light stress and receive structured care guidance. It also supports querying cloud-hosted historical light-stress reports associated with the skill's internal identity state. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant images, videos, or supplied URLs may be sent to Life Emergence cloud APIs for analysis. <br>\nMitigation: Use the skill only with media and URLs that are acceptable to process through that cloud service. <br>\nRisk: The skill may create or reuse persistent local and remote identity state for report history. <br>\nMitigation: Review identity and report-retention expectations before enabling historical report queries. <br>\nRisk: Real secrets placed in local API-key files may be mishandled if publisher guidance is unclear. <br>\nMitigation: Avoid storing production secrets in data/smyx-api-key.txt unless the publisher documents that workflow clearly. <br>\n\n\n## Reference(s): <br>\n- [API documentation](artifact/references/api_doc.md) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON-style structured analysis with report links and optional saved output files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May call remote Life Emergence APIs for analysis and historical report retrieval.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release evidence; artifact frontmatter says 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.4:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.4:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.3: 31 files, 39098 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (2636b), SKILL.md (12215b), 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 (165b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.3\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783641508823\n}\n\nFile v1.0.3: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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.3: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.3:scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config.yaml\n\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.3:skill-card.md\n\n## Description: <br>\nDetects indoor plant light stress from plant images or videos and optional lux data, classifying insufficient, excessive, or normal light and returning structured care suggestions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nHome gardeners, office plant caretakers, and developers building smart-planter workflows use this skill to analyze plant photos or videos and optional lux readings for light stress symptoms, then retrieve structured recommendations and report links. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant photos/videos, report metadata, and an open-id or phone-like identifier may be sent to the provider's cloud service. <br>\nMitigation: Avoid sensitive local files unless cloud upload and retention terms are acceptable, and ask the publisher for explicit upload and retention documentation. <br>\nRisk: The security evidence flags under-disclosed cloud upload, identity, login, token, and history-report behavior. <br>\nMitigation: Review provider documentation for token scope, account creation, and report-history access before broad deployment. <br>\nRisk: Credential-like configuration may need review before installation. <br>\nMitigation: Review or remove credential-like config before use, and install only in an environment where provider API access is expected. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API reference](artifact/references/api_doc.md) <br>\n- [Shared API reference](artifact/skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, guidance] <br>\n**Output Format:** [Markdown text with structured JSON-like analysis content, care guidance, and report links; optional file output.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can query historical reports and can save analysis output to a user-provided path.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: frontmatter and server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.3:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.2: 31 files, 39064 bytes\n\nFiles: references/api_doc.md (630b), scripts/__init__.py (63b), scripts/config.py (698b), scripts/config.yaml (3b), scripts/skill.py (579b), scripts/smyx_indoor_plant_light_stress_detect_analysis.py (3552b), skill-card.md (2504b), SKILL.md (12215b), 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 (165b)\n\nFile v1.0.2:SKILL.md\n\n---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.3\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\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_indoor_plant_light_stress_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_indoor_plant_light_stress_detect_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_indoor_plant_light_stress_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看识别/监测结果、风险提示、建议与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络图像/视频 URL 地址（API 服务自动下载） | API 服务自动下载网络资源 |\n| `--pet-type` | 类别标识，植物场景使用 other，默认 other | 按需填写 |\n| `--list` | 显示光照胁迫历史分析报告列表清单（可以输入起始日期参数过滤数据范围） | 用于云端历史报告查询 |\n| `--api-url` | API 服务地址（可选，使用默认值） | 按需填写 |\n| `--detail` | 输出详细程度（basic/standard/json，默认 json） | 输出详细程度 |\n| `--output` | 结果输出文件路径（可选） | 可选 |\n\n## 🗂️ 资源索引 | Resource Index\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_indoor_plant_light_stress_detect_analysis.py`](scripts/smyx_indoor_plant_light_stress_detect_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| 🌐 网络地址 | 传入的网路地址参数，不需要下载本地，默认地址都是公网地址，api 服务会自动下载 |\n| 📜 报告输出 | 当显示历史分析报告清单的时候，从接口返回 json 数据中提取字段  作为超链接地址，且自动转化为如下 Markdown |\n| 📜 报告输出 | 表格输出示例 |\n\n## 🧰 使用示例 | Examples\n```bash\n# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json\n```\n\nFile v1.0.2:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.2\",\n  \"publishedAt\": 1783194568037\n}\n\nFile v1.0.2: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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_ANALYSIS` - 开放平台宠物健康分析\n\nFile v1.0.2: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.2:scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.2:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.2:skills/smyx_common/scripts/config.yaml\n\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.2:skill-card.md\n\n## Description: <br>\nDetects indoor plant light stress from images or videos and optional lux readings, classifies low light, excessive light, or normal conditions, and returns care adjustment suggestions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to analyze indoor plant photos, videos, or submitted URLs for light-stress symptoms and receive structured care guidance and report links. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Plant photos, videos, or submitted URLs may be sent to LifeEmergence/Open API services. <br>\nMitigation: Use non-sensitive plant media, avoid private URLs, and avoid images containing people or sensitive surroundings. <br>\nRisk: The skill may create or reuse a local identity and token database for report history. <br>\nMitigation: Review or remove data/smyx-api-key.txt and the workspace data database if account linkage is not desired. <br>\nRisk: The security evidence says the skill needs human review before installation. <br>\nMitigation: Review and scan the skill before deployment, especially where media upload and persistent identity behavior matter. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-indoor-plant-light-stress-detect-analysis) <br>\n- [API Documentation](references/api_doc.md) <br>\n- [Shared Analysis API Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown or JSON analysis report with optional saved text output] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include report links and historical report tables; artifact documentation states local files or public URLs are supported up to 10 MB.] <br>\n\n## Skill Version(s): <br>\n1.0.2 (source: server release metadata; artifact frontmatter reports 1.0.3) <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.2:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.2:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3","readmeExcerpt":"Skill: Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别 Owner: smyx-sunjinhui Summary: Detects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments. Tags: latest:1.0.11 Version history: v1.0.11 | 2026-10-01T07:58:41.810Z | auto - Removed the file: skill-card.md. - Updated configuration in skills/smyx_common/scripts/config.y","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json"},{"language":"bash","snippet":"python -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list"},{"language":"text","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"# 分析本地室内植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input /path/to/plant.jpg\n\n# 分析网络植物图像/视频\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --url https://example.com/plant.jpg\n\n# 显示历史分析报告/显示分析报告清单列表/显示历史光照报告（自动触发关键词：查看历史光照报告、历史报告、光照胁迫报告清单等）\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --list\n\n# 输出精简报告\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --detail basic\n\n# 保存结果到文件\npython -m scripts.smyx_indoor_plant_light_stress_detect_analysis --input plant.jpg --output result.json"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-indoor-plant-light-stress-detect-analysis\"\ndescription: \"AI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light sensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves, pale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional lux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs adjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor green plant care, home gardening, office plants. | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# ☀️ Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别\n> **智能分析中枢** · 图片/视频智能分析 · 结构化报告 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **室内植物光照不足/过强识别** |\n| 🎯 核心目标 | 通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、识别/监测结果、建议与报告链接 |\n| 🧩 场景码 | `SMYX_INDOOR_PLANT_LIGHT_STRESS_DETECT_ANALYSIS` |\n\nAI-powered indoor plant light stress detection from smart planter or fixed camera images (optionally combined with light\nsensor lux data). Detects morphological anomalies caused by low light (elongated internodes / etiolation, thin leaves,\npale green color) or strong-light damage (leaf burn spots, scorched edges, curling, bleaching). Combined with optional\nlux sensor readings, it determines the current light stress type (insufficient / excessive / normal) and outputs\nadjustment suggestions (e.g. move to window, add shading, adjust grow-light duration). Scenarios: smart planters, indoor\ngreen plant care, home gardening, office plants.\n\n通过智能花盆或固定摄像头拍摄植物整体图像（也可选配光照传感器数据），利用AI视觉分析技术检测植物因光照不足引起的形态异常（如茎节间距拉长—徒长、叶片变薄、颜色浅绿）或因光照过强引起的损伤（叶片灼伤斑、焦边、卷曲、褪绿）。结合可选的光照传感器实时数据（勒克斯值），综合判断植物当前所受的光照胁迫类型（不足/过强/正常），并输出光照调整建议（如\"\n增加光照，可移至窗边\"\"遮阴，避免直射光\"）。应用场景：智能花盆、室内绿植养护、家庭园艺、办公室植物。\n\n## 🤖 AI 角色 | AI Role\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | * *假设你是一个专业的植物光环境健康AI。你的任务是分析室内植物的图像（整体形态及叶片细节），检测因光照不足导致的徒长特征（茎节间距拉长、叶片稀疏、叶色浅绿）或因光照过强导致的灼伤特征（叶片黄褐色枯斑、焦边、卷曲、叶面白化），并可结合可选的光照传感器数据（勒克斯 lux 值），综合评估光照胁迫状态（不足 / 正常 / 过强），输出调整建议。不要提供具体设备参数，仅输出基于视觉（及可选传感器）的判断。** |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n---\n\n## 🎯 任务目标 | Goals\n### 1. 🧩 技能用途\n\n通过室内植物的整体图像或视频进行光照胁迫识别，结合可选的环境光 lux 数据，输出光照胁迫类型评估及调整建议\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 徒长特征识别（节间拉长 / 叶片稀疏 / 颜色浅绿 / 弯向光源） |\n| 2 | 强光灼伤识别（黄褐色枯斑 / 焦边 / 卷曲 / |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|-"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-indoor-plant-light-stress-detect-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1790841521810\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/health-analysis/v2/start-health-analysis` - 启动健康分析任务\n2. `/web/health-analysis/v2/get-health-analysis-result` - 获取分析结果\n3. `/web/health-analysis/page-health-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `OPEN_PET_HEALTH_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":"Detects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments. Skill: Indoor Plant Light Stress Detection | 室内植物光照不足/过强识别 Owner: smyx-sunjinhui Summary: Detects and analyzes indoor plant light stress from images and optional lux data, identifying low or excessive light symptoms and suggesting adjustments. Tags: latest:1.0.11 Version history: v1.0.11 | 2026-10-01T07:58:41.810Z | auto - Removed the file: skill-card.md. - Updated configuration in skills/smyx_common/scripts/config.y","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":919,"uniquenessScore":46,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T00:25:37.027Z","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-10T00:25:37.027Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:13:36.343Z","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"}]}}}