{"id":"a261952f-c41a-42ba-ad16-a9cbc2404438","entityType":"agent","slug":"clawhub-18072937735-smyx-farmland-weed-identification-analysis","name":"Farmland Weed Identification | 农田杂草识别与密度评估","canonicalUrl":"https://www.xpersona.co/agent/clawhub-18072937735-smyx-farmland-weed-identification-analysis","canonicalPath":"/agent/clawhub-18072937735-smyx-farmland-weed-identification-analysis","generatedAt":"2026-10-10T11:54:54.256Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T09:40:34.839Z","emptyReason":null},"description":"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。 Skill: Farmland Weed Identification | 农田杂草识别与密度评估 Owner: 18072937735 Summary: Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。 Tags: latest:1.0.13 Version history: v1.0.13 | 2026-10-01T19:27:33.661Z | auto - Updated version to 1.0.14. - SKILL.md revised with minor documentat","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.5K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-farmland-weed-identification-analysis","sourceUrl":"https://clawhub.ai/18072937735/smyx-farmland-weed-identification-analysis","homepage":"https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/18072937735/smyx-farmland-weed-identification-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":64,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:40:34.839Z","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-10T09:40:34.839Z","emptyReason":null},"stars":null,"forks":null,"downloads":1519,"packageName":null,"latestVersion":"1.0.13","tractionLabel":"1.5K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T09:40:34.839Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T09:40:34.839Z","lastCrawledAt":"2026-10-10T09:40:34.839Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T09:40:34.839Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.13","createdAt":"2026-10-01T19:27:33.661Z","changelog":"- Updated version to 1.0.14. - SKILL.md revised with minor documentation changes. - Removed outdated skill-card.md.","fileCount":31,"zipByteSize":39302},{"version":"1.0.12","createdAt":"2026-09-27T06:29:25.370Z","changelog":"- Bumped version to 1.0.13. - Updated SKILL.md: corrected version number and metadata. - Removed outdated file: skill-card.md. - Minor configuration changes in scripts/config.yaml.","fileCount":31,"zipByteSize":39364},{"version":"1.0.11","createdAt":"2026-09-15T12:28:28.948Z","changelog":"- Updated version number to 1.0.11 in SKILL.md. - Removed the skill-card.md file. - No functional or interface changes; documentation and metadata only.","fileCount":31,"zipByteSize":39786},{"version":"1.0.10","createdAt":"2026-08-24T09:34:30.393Z","changelog":"- Updated SKILL.md: version number increased from 1.0.7 to 1.0.8. - Removed file: skill-card.md. - No feature, capability, or functional changes indicated in the documentation. - Minor maintenance: reflects documentation cleanup and version alignment.","fileCount":31,"zipByteSize":39714},{"version":"1.0.9","createdAt":"2026-08-20T10:19:28.580Z","changelog":"- Version bumped to 1.0.7 in SKILL.md to reflect latest updates. - Minor documentation and metadata updates in SKILL.md. - Removed the redundant file skill-card.md to streamline documentation. - No change to core skill logic or user-facing features.","fileCount":31,"zipByteSize":39535},{"version":"1.0.8","createdAt":"2026-08-10T13:12:39.055Z","changelog":"- Removed the file skill-card.md. - No functional changes to the skill logic or documentation.","fileCount":31,"zipByteSize":39584},{"version":"1.0.7","createdAt":"2026-08-07T05:39:37.710Z","changelog":"- Updated version from 1.0.4 to 1.0.6 in SKILL.md. - Removed skill-card.md file. - No functional or feature changes recorded in documentation. - Documentation and resource references remain essentially unchanged.","fileCount":31,"zipByteSize":39404},{"version":"1.0.6","createdAt":"2026-07-29T01:52:28.222Z","changelog":"- Updated skill documentation in SKILL.md. - Removed skill-card.md from the project files. - No changes to core logic or features; this version focuses on documentation and file organization updates.","fileCount":31,"zipByteSize":39501}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17f8q65zg3y98t86jdg1177g583whq8:smyx-farmland-weed-identification-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-18072937735-smyx-farmland-weed-identification-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-farmland-weed-identification-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-farmland-weed-identification-analysis/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-farmland-weed-identification-analysis/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-farmland-weed-identification-analysis/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-farmland-weed-identification-analysis/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T11:54:54.253Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-farmland-weed-identification-analysis/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-farmland-weed-identification-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-farmland-weed-identification-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-18072937735-smyx-farmland-weed-identification-analysis/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T09:40:34.839Z","emptyReason":null},"readme":"Skill: Farmland Weed Identification | 农田杂草识别与密度评估\n\nOwner: 18072937735\n\nSummary: Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n\nTags: latest:1.0.13\n\nVersion history:\n\nv1.0.13 | 2026-10-01T19:27:33.661Z | auto\n\n- Updated version to 1.0.14.\n- SKILL.md revised with minor documentation changes.\n- Removed outdated skill-card.md.\n\nv1.0.12 | 2026-09-27T06:29:25.370Z | auto\n\n- Bumped version to 1.0.13.\n- Updated SKILL.md: corrected version number and metadata.\n- Removed outdated file: skill-card.md.\n- Minor configuration changes in scripts/config.yaml.\n\nv1.0.11 | 2026-09-15T12:28:28.948Z | auto\n\n- Updated version number to 1.0.11 in SKILL.md.\n- Removed the skill-card.md file.\n- No functional or interface changes; documentation and metadata only.\n\nv1.0.10 | 2026-08-24T09:34:30.393Z | auto\n\n- Updated SKILL.md: version number increased from 1.0.7 to 1.0.8.\n- Removed file: skill-card.md.\n- No feature, capability, or functional changes indicated in the documentation.\n- Minor maintenance: reflects documentation cleanup and version alignment.\n\nv1.0.9 | 2026-08-20T10:19:28.580Z | auto\n\n- Version bumped to 1.0.7 in SKILL.md to reflect latest updates.\n- Minor documentation and metadata updates in SKILL.md.\n- Removed the redundant file skill-card.md to streamline documentation.\n- No change to core skill logic or user-facing features.\n\nv1.0.8 | 2026-08-10T13:12:39.055Z | auto\n\n- Removed the file skill-card.md.\n- No functional changes to the skill logic or documentation.\n\nv1.0.7 | 2026-08-07T05:39:37.710Z | auto\n\n- Updated version from 1.0.4 to 1.0.6 in SKILL.md.\n- Removed skill-card.md file.\n- No functional or feature changes recorded in documentation.\n- Documentation and resource references remain essentially unchanged.\n\nv1.0.6 | 2026-07-29T01:52:28.222Z | auto\n\n- Updated skill documentation in SKILL.md.\n- Removed skill-card.md from the project files.\n- No changes to core logic or features; this version focuses on documentation and file organization updates.\n\nv1.0.5 | 2026-07-15T00:28:28.542Z | auto\n\n- Removed the sample file skill-card.md from the project.\n- No changes to the main skill logic or documentation content.\n\nv1.0.4 | 2026-07-11T18:33:41.152Z | auto\n\n- Updated internal documentation (`SKILL.md`) with minor revisions and versioning changes.\n- Removed legacy documentation file (`skill-card.md`).\n- Adjusted utility script (`util.py`) in the shared scripts directory.\n- Updated skill version metadata in documentation.\n\nv1.0.3 | 2026-07-04T13:05:30.027Z | auto\n\n- Added comprehensive SKILL.md documentation, including feature summary, usage workflow, and privacy policies.\n- Detailed input/output requirements, supported file formats, and standard operating procedures are now clearly specified.\n- Historical report querying behaviors and output formats are explicitly described, with strict guidelines for accessing cloud data only.\n- Provides sample command-line usage examples for all main actions (analysis, report retrieval, output saving).\n- Strongly emphasizes data privacy, internal handling of user identity, and compliance with data security best practices.\n\nArchive index:\n\nArchive v1.0.13: 31 files, 39302 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (1945b), SKILL.md (11963b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (162b)\n\nFile v1.0.13:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.14\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.13:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1790882853661\n}\n\nFile v1.0.13:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放农田杂草识别与密度评估 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` - 农田杂草识别与密度评估\n\nFile v1.0.13:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.13:scripts/config.yaml\n\n{}\n\nFile v1.0.13:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.13:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.13:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.13:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.13:skill-card.md\n\n## Description:\n\nIdentifies weeds and estimates coverage density from field images or video, providing distribution data for precision weeding.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nFarm managers and agricultural advisers use field imagery to identify weeds, assess coverage and distribution, and review past analyses to inform precision weeding decisions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Field media or URLs are sent to a third-party cloud service.\n\nMitigation: Use only with field data approved for cloud processing and review the destination before submitting media.\n\nRisk: A shared fallback identity and locally stored service tokens may expose cloud report history across users in the same workspace.\n\nMitigation: Avoid shared workspaces or use isolated per-user environments and restrict access to locally stored credentials and reports.\n\n## Reference(s):\n\n- [ClawHub skill listing](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis)\n- [API documentation](artifact/references/api_doc.md)\n- [Skill demonstration](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON]\n\n**Output Format:** [Structured analysis results or a Markdown report-list table]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include weed density, distribution data, report links, and an optional saved result file.]\n\n## Skill Version(s):\n\n1.0.13 (source: ClawHub release metadata; bundled SKILL.md says 1.0.14)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.13:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.13:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.12: 31 files, 39364 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (2107b), SKILL.md (11963b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (162b)\n\nFile v1.0.12:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.13\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.12:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.12\",\n  \"publishedAt\": 1790490565370\n}\n\nFile v1.0.12:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放农田杂草识别与密度评估 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` - 农田杂草识别与密度评估\n\nFile v1.0.12:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.12:scripts/config.yaml\n\n{}\n\nFile v1.0.12:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.12:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.12:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.12:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.12:skill-card.md\n\n## Description:\n\nIdentifies weed species and estimates coverage density from overhead field images or videos, producing distribution data to support precision weeding.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nFarm managers and agricultural advisers use field images or videos to assess weed types, coverage, and distribution, and to review previous analysis reports. Results support field-management decisions rather than pesticide recommendations.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Field images, videos, or media URLs are sent to the vendor's cloud service for analysis.\n\nMitigation: Avoid sensitive media unless the provider's account, retention, and deletion practices are acceptable.\n\nRisk: The skill may create or reuse an internal identity, store session tokens locally, and automatically retrieve identity-linked report history.\n\nMitigation: Review identity and local storage behavior before installation, and use only in an environment where that access is appropriate.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis)\n- [API documentation](references/api_doc.md)\n- [Skill demonstration](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON]\n\n**Output Format:** [Structured analysis results or a Markdown table of historical reports]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include weed categories, coverage estimates, distribution data, and report links; results can be saved to a file.]\n\n## Skill Version(s):\n\n1.0.12 (source: server-resolved ClawHub release; bundled SKILL.md lists 1.0.13)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.12:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.12:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.11: 31 files, 39786 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (2953b), SKILL.md (11963b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (472b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (162b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1789475308948\n}\n\nFile v1.0.11:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放农田杂草识别与密度评估 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_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: dev\n\nFile v1.0.11:skill-card.md\n\n## Description:\n\nIdentifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal agricultural users and farm operations teams use this skill to analyze field top-view images or videos for weed species, weed coverage density, distribution areas, heatmap data, and report links that support precision weeding decisions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security scan verdict is suspicious because identity, credential, persistence, HTTP transport, and payment-workflow behaviors need review before installation.\n\nMitigation: Review the skill before installing and do not use real farm media, API keys, or account-linked histories until the publisher documents and hardens those behaviors.\n\nRisk: The artifact resolves or creates an internal user identity and stores token-related user records locally for API calls and report history.\n\nMitigation: Require clear user-visible identity controls and move tokens or account-linked state to a protected secret store before production use.\n\nRisk: The bundled configuration includes HTTP endpoints and a remote API workflow for analysis, report listing, and report export.\n\nMitigation: Use an HTTPS production configuration and verify endpoint ownership before processing real farm media or account-linked report history.\n\nRisk: A 402 API response can direct the user toward a separate payment skill workflow.\n\nMitigation: Confirm the payment workflow, publisher, and billing terms out of band before following payment-related instructions.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface documentation](artifact/references/api_doc.md)\n- [Shared analysis API documentation](artifact/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-like structured text]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Can save analysis output to a file when an output path is supplied; report-list output is formatted from API-returned records.]\n\n## Skill Version(s):\n\n1.0.11 (source: SKILL.md frontmatter and server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39714 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (2831b), SKILL.md (11962b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (472b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (162b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1787564070393\n}\n\nFile v1.0.10:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放农田杂草识别与密度评估 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_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\nIdentifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nAgricultural operators, agronomy teams, and agent users can use this skill to analyze field images or videos for weed species, coverage density, distribution areas, pressure level, heatmap data, and report links. It is intended to support precision weeding decisions, not to provide herbicide or treatment recommendations.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends field images or videos and identity-linked requests to the provider backend.\n\nMitigation: Use only media that is appropriate to share with the provider, and confirm data retention, access, and deletion practices before production use.\n\nRisk: The skill creates or reuses a local identity and stores authentication tokens in a workspace SQLite database.\n\nMitigation: Run the skill in an isolated workspace, protect the workspace data directory, and remove or rotate stored credentials when access is no longer needed.\n\nRisk: The security evidence reports development HTTP endpoint configuration.\n\nMitigation: Ask the publisher to ship production HTTPS endpoint configuration and verify endpoint settings before installation.\n\nRisk: History lookups can retrieve reports associated with the current identity.\n\nMitigation: Require clear user confirmation before report-history queries and avoid exposing report links outside the intended user context.\n\n## Reference(s):\n\n- [Farmland weed analysis API reference](artifact/references/api_doc.md)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Files]\n\n**Output Format:** [Structured text or JSON analysis output, with Markdown tables for history listings and optional saved result files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Returns weed species, coverage density, distribution areas, pressure level, heatmap data, and report links when available.]\n\n## Skill Version(s):\n\n1.0.10 (source: ClawHub release metadata; artifact frontmatter states 1.0.8)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.10:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.10:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.9: 31 files, 39535 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (2601b), SKILL.md (11962b), 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 (161b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.7\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1787221168580\n}\n\nFile v1.0.9:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放农田杂草识别与密度评估 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_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\nIdentifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal farm-management users and agent operators use this skill to analyze field images or videos for weed species, coverage density, distribution areas, heatmap data, and historical weed-analysis reports.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill can upload farm images or videos to configured backend services that are under-disclosed in the release evidence.\n\nMitigation: Use the skill only with media approved for that backend, and confirm the publisher's production HTTPS endpoint and retention policy before installation.\n\nRisk: The skill can use or create an internal account identity, query cloud history, and store authentication tokens in a local SQLite database.\n\nMitigation: Run the skill in an isolated workspace, restrict access to the local data directory, and verify identity scoping before enabling historical report queries.\n\nRisk: The server security guidance reports stale pet/video and image-format mismatches that may confuse users about valid inputs.\n\nMitigation: Validate accepted file formats and parameter defaults in a staging environment before relying on results for field operations.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface 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, JSON, Files]\n\n**Output Format:** [Markdown report or JSON analysis output, with optional saved result files and report links.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs may include weed species lists, coverage-density ratings, distribution areas, heatmap data, analysis timestamps, and links to generated reports.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release metadata; artifact frontmatter says 1.0.7)\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, 39584 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (2682b), SKILL.md (11962b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (161b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1786367559055\n}\n\nFile v1.0.8:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放农田杂草识别与密度评估 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` - 农田杂草识别与密度评估\n\nFile v1.0.8:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.8:scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nIdentifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to send farmland image or video inputs for weed species identification, coverage-density estimation, heatmap-oriented structured results, and historical report lookup. It is intended to support precision weeding decisions, while field treatment choices should be reviewed against agronomic guidance.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Field images, videos, or URLs are sent to lifeemergence.com/open.lifeemergence.com services for analysis and report retrieval.\n\nMitigation: Use only imagery and URLs that are approved for that external service, and avoid sensitive field imagery or private/internal URLs unless this data flow is acceptable.\n\nRisk: The skill may create or reuse a local workspace identity, register or log in with the backend, and store tokens locally for report access.\n\nMitigation: Review the local workspace data and token storage behavior before installation, and rotate or remove stored credentials when the skill is no longer needed.\n\nRisk: The security summary notes mismatched video/pet-analysis remnants that may confuse parameter meaning or review expectations.\n\nMitigation: Confirm the active scene code and command parameters before production use, especially when using category or video-related options.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface documentation](references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance]\n\n**Output Format:** [Markdown and JSON-flavored structured text, with optional report export links and local output files.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May output weed species, coverage density, distribution regions, heatmap data, historical report records, and report links.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release metadata; artifact frontmatter says 1.0.6)\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, 39404 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (2231b), SKILL.md (11962b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (161b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1786081177710\n}\n\nFile v1.0.7:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放农田杂草识别与密度评估 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_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\nIdentifies weed species and coverage density from field top-view images or videos and returns structured heatmap and report data for precision weeding decisions.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[18072937735](https://clawhub.ai/user/18072937735)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nAgricultural operators, agronomists, and developers use this skill to submit field images, videos, or URLs for weed species, coverage density, distribution, and historical report analysis that supports precision weeding decisions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Field images, videos, or URLs are sent to a configured cloud service for analysis.\n\nMitigation: Install only when this data sharing is acceptable, and avoid submitting sensitive or unrelated imagery.\n\nRisk: The skill may create or reuse an internal account identity and store service tokens in the workspace data database.\n\nMitigation: Use a separate workspace for testing and clear data/smyx-common-claw.db when token or identity reuse is not desired.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [Farmland weed API documentation](references/api_doc.md)\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance]\n\n**Output Format:** [Markdown and JSON-like structured text with report links and optional saved output files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Accepts local image/video files or public media URLs; listed file formats and cloud API behavior are governed by the skill scripts and service configuration.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release metadata; artifact frontmatter states 1.0.6)\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, 39501 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (2546b), SKILL.md (11962b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (161b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.4\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1785289948222\n}\n\nFile v1.0.6:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放农田杂草识别与密度评估 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` - 农田杂草识别与密度评估\n\nFile v1.0.6:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.6:scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.6:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.6:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.6:skill-card.md\n\n## Description: <br>\nIdentifies weed species and coverage density from field top-view images or video and returns structured heatmap data for precision weeding decisions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nFarm operators, agronomy teams, and agent users can use this skill to analyze field imagery, estimate weed pressure, and produce structured weed distribution data for precision weeding workflows. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Field images, videos, or media URLs are sent to the LifeEmergence service for analysis. <br>\nMitigation: Install and use the skill only when this transfer is acceptable for the field imagery involved; avoid sensitive farm imagery unless approved. <br>\nRisk: The skill can create or reuse an internal account identity and persist account tokens locally. <br>\nMitigation: Review or remove the automatic identity and token persistence behavior before using the skill in a shared workspace or regulated environment. <br>\nRisk: Weed detection and density results may be incomplete or inaccurate under poor image conditions or crop-specific edge cases. <br>\nMitigation: Use the output as field-management reference data and validate operational or herbicide decisions against agronomy procedures and qualified personnel. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill listing](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands] <br>\n**Output Format:** [Markdown and structured JSON returned from an API-backed analysis workflow] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May include weed species lists, density estimates, heatmap data, historical report records, and report links.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.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, 39550 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (2714b), SKILL.md (11962b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (161b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.2\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1784075308542\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/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_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>\nIdentifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nAgricultural operators, agronomy teams, and developers use this skill to analyze field top-view images or videos for weed species, distribution areas, density levels, heatmap data, and historical weed assessment reports. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Farm images or videos, supplied URLs, and account-linked identifiers may be sent to the lifeemergence.com API for analysis. <br>\nMitigation: Install and run the skill only when that third-party data sharing is acceptable, and avoid submitting sensitive or unnecessary field imagery. <br>\nRisk: The skill can create local SQLite identity state and store service tokens in the workspace data directory. <br>\nMitigation: Use an isolated workspace, protect or clear the workspace data directory after use, and avoid shared workspaces unless identity and report access are separated. <br>\nRisk: Weed analysis results may be incomplete or unsuitable as direct agronomic treatment instructions. <br>\nMitigation: Treat outputs as field-management reference material and confirm operational weeding or herbicide decisions with agronomy procedures or qualified personnel. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [Farmland Weed API documentation](artifact/references/api_doc.md) <br>\n- [Common AI analysis API documentation](artifact/skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance] <br>\n**Output Format:** [Markdown and structured JSON-like analysis text, with optional saved output files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can include weed species lists, density levels, heatmap data, report links, and historical report tables.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata; artifact frontmatter says 1.0.2) <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, 39497 bytes\n\nFiles: references/api_doc.md (687b), scripts/__init__.py (56b), scripts/config.py (690b), scripts/config.yaml (3b), scripts/skill.py (582b), scripts/smyx_farmland_weed_identification_analysis.py (3576b), skill-card.md (2539b), SKILL.md (11962b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (161b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.2\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备田间图像/视频输入 | 提供本地文件路径或网络 URL；确保画面覆盖田面、符合采集要求 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行杂草识别与密度评估 | 调用 `-m scripts.smyx_farmland_weed_identification_analysis` 处理输入（**必须在技能根目录下运行脚本**） |\n| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看杂草种类清单、分区密度等级、热力图数据与报告链接 |\n\n### ⚙️ 脚本参数说明\n\n| 参数 | 含义 | 备注 |\n|---|---|---|\n| `--input` | 本地田间图像/视频文件路径 | 适用于本地文件分析 |\n| `--url` | 网络田间图像/视频 URL 地址 | API 服务自动下载 |\n| `--pet-type` | 类别标识（大田杂草场景保持 other） | 默认 `other`，按需填写 |\n| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |\n| `--api-url` | API 服务地址 | 可选，使用默认值 |\n| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |\n| `--output` | 结果输出文件路径 | 可选 |\n\n---\n\n## 🗂️ 资源索引 | Resource Index\n\n| 资源类型 | 路径 | 用途 | 何时读取 |\n|---|---|---|---|\n| 🐍 必要脚本 | [`scripts/smyx_farmland_weed_identification_analysis.py`](scripts/smyx_farmland_weed_identification_analysis.py) | 调用 API 进行杂草识别与密度评估或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 分析结果仅供田间管理参考，本技能不提供除草剂使用建议或防治方案 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与农田杂草识别直接相关的图像/视频数据，不采集与田块无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨用户汇总或共享 |\n| 5 | 分析结果仅供参考，实际除草作业与用药决策请结合农艺规程与专业农技人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `农田杂草识别与密度评估报告-{记录id}` 形式拼接 |\n| 杂草压力等级 | 从接口返回数据中提取（低 / 中 / 高 / 极高） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 杂草压力等级 | 分析时间 | 点击查看 |\n|----------|--------------|----------|----------|\n| 农田杂草识别与密度评估报告-20260703160500001 | 中 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🌽 分析本地玉米田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg\n```\n\n### 🥜 分析本地花生田块图像\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg\n```\n\n### 🌐 分析网络田间图像/视频\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史杂草识别报告\n\n> 自动触发关键词：查看历史杂草识别报告、历史报告、杂草评估清单等。\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input corn_field.jpg --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --input peanut_field.jpg --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783794821152\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/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_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>\nIdentifies weed species and coverage density from field top-view images and produces weed distribution heatmap data for precision weeding decisions. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[18072937735](https://clawhub.ai/user/18072937735) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, farm managers, and agricultural developers use this skill to submit field top-view images or videos for weed species detection, density assessment, heatmap data, and historical report lookup. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Field images, videos, or private/internal URLs may be sent to or fetched by the Life Emergence cloud service. <br>\nMitigation: Use only media and URLs approved for that service, and avoid private or internal URLs unless the remote fetch behavior is acceptable. <br>\nRisk: The skill silently creates or reuses a local account identity and stores service tokens locally. <br>\nMitigation: Review workspace data storage and token handling before use, and run the skill only where local token persistence is acceptable. <br>\nRisk: Weed species and density outputs are field-management references, not herbicide or treatment prescriptions. <br>\nMitigation: Validate operational weeding or chemical decisions against agronomy procedures and qualified human review. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/18072937735/skills/smyx-farmland-weed-identification-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, files] <br>\n**Output Format:** [Markdown text with JSON-formatted analysis details, report links, and optional saved result files.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Supports local file path or URL input, basic/standard/json detail modes, and historical report listing.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release metadata; artifact frontmatter says 1.0.2) <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","readmeExcerpt":"Skill: Farmland Weed Identification | 农田杂草识别与密度评估 Owner: 18072937735 Summary: Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。 Tags: latest:1.0.13 Version history: v1.0.13 | 2026-10-01T19:27:33.661Z | auto - Updated version to 1.0.14. - SKILL.md revised with minor documentat","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_farmland_weed_identification_analysis --list"},{"language":"txt","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"python -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/corn_field.jpg"},{"language":"bash","snippet":"python -m scripts.smyx_farmland_weed_identification_analysis --input /path/to/peanut_field.jpg"},{"language":"bash","snippet":"python -m scripts.smyx_farmland_weed_identification_analysis --url https://example.com/farmland_topview.mp4"},{"language":"bash","snippet":"python -m scripts.smyx_farmland_weed_identification_analysis --list"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-farmland-weed-identification-analysis\"\ndescription: \"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\"\nversion: \"1.0.14\"\nlicense: \"MIT-0\"\n---\n\n# 🌾 Farmland Weed Identification & Density Assessment | 农田杂草识别与密度评估\n\n> 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。\n>\n> **精准除草决策中枢** · 田间图像智能分析 · 杂草种类识别 · 覆盖密度评估 · 热力图数据 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **农田杂草识别与密度评估** |\n| 🎯 核心目标 | 基于田间俯视图像/视频，识别杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据，辅助玉米、花生等作物的精准除草决策 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、杂草种类清单、覆盖密度、分布区域、热力图数据、报告链接 |\n| 🏢 适用场景 | 玉米/花生等大田作物的精准除草，减少除草剂使用，降低生产成本 |\n| 🧩 场景码 | `SMYX_FARMLAND_WEED_IDENTIFICATION_ANALYSIS` |\n\n## 🎬 技能演示 | Skill Demo\n\n[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)\n\n## 🤖 AI 角色 | AI Role\n\n| 角色要点 | 说明 |\n|---|---|\n| 说明 1 | **你是一个专业的农田杂草管理 AI。你的任务是分析田间俯视图像，识别图像中出现的杂草种类及分布区域，估算杂草覆盖密度，生成杂草分布热力图数据。不要提供除草剂使用建议或防治方案，仅基于视觉特征输出杂草分布与密度评估结果。** |\n\n---\n\n## 🎯 任务目标 | Goals\n\n### 1. 🧩 技能用途\n\n通过田间俯视图像/视频识别杂草种类与分布，估算杂草覆盖密度，输出可用于生成建议除草区域热力图的结构化数据，帮助玉米、花生等作物实现精准除草，减少除草剂使用与生产成本。\n\n### 2. 🛠️ 能力范围\n\n| 序号 | 具体能力 |\n|---:|---|\n| 1 | 田间图像/视频杂草检测与定位 |\n| 2 | 常见杂草种类识别（禾本科 / 阔叶类 / 莎草科 等） |\n| 3 | 杂草与作物区分（玉米、花生等目标作物保留） |\n| 4 | 分区网格覆盖密度估算（低 / 中 / 高） |\n| 5 | 杂草聚集分布区域标注 |\n| 6 | 杂草分布热力图数据输出 |\n| 7 | 田块整体杂草压力等级评估 |\n\n### 3. ⚡ 触发条件\n\n| 触发类型 | 触发规则 |\n|---|---|\n| ✅ 默认触发 | 当用户提供田间俯视图像/视频 URL 或文件需要杂草评估时，默认触发本技能进行杂草识别与密度评估 |\n| 🔎 明确分析意图 | 当用户明确提及杂草识别、田间杂草、杂草密度、精准除草、杂草分布、杂草热力图、玉米除草、花生除草、田间调查等关键词，并且上传了图片或视频文件 |\n| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史杂草识别报告、历史杂草密度报告、杂草识别报告清单、查询田间杂草记录、显示所有杂草评估报告 |\n\n### 4. 🤖 自动行为\n\n| 自动行为 | 执行要求 |\n|---|---|\n| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |\n| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |\n\n#### ⚠️ 强制数据获取规则（次高优先级）\n\n> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。\n\n必须执行：\n\n```bash\npython -m scripts.smyx_farmland_weed_identification_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_farmland_weed_identification_analysis --list` 调用 API 查询云端的历史报告数据 |\n| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |\n| 🚫 严格禁止 | 手动汇总本地记录中的报告 |\n| 🚫 严格禁止 | 从长期记忆中提取报告 |\n| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |\n\n---\n\n## 📦 前置准备 | Requirements\n\n### 依赖说明\n\n`scripts` 脚本所需的依赖包及版本：\n\n```txt\nrequests>=2.28.0\n```\n\n---\n\n## 📷 采集要求 | Capture Requirements\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 优先使用田间俯视或倾斜俯视角度，能清晰覆盖成片田块，便于分区网格评估 |\n| 2 | 拍摄高度建议 1.5m 以上（含无人机低空俯拍），保证画面中同时可见作物行与行间地面 |\n| 3 | 尽量在自然散射光下拍摄，避免强烈阴影、镜头眩光和大面积过曝/欠曝 |\n| 4 | 单张图或短视频（≤10MB）均可，视频建议 5~15 秒平稳巡田拍摄 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 尽量减少人员、机械等大面积遮挡田面，以获得更准确的密度估算 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7e2caqj7pnsvr9r7t8zenghs83xw7n\",\n  \"slug\": \"smyx-farmland-weed-identification-analysis\",\n  \"version\": \"1.0.13\",\n  \"publishedAt\": 1790882853661\n}"},{"path":"references/api_doc.md","content":"# API 接口文档\n\n此处用于存放农田杂草识别与密度评估 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/ai-analysis/v2/start-common-ai-analysis` - 启动农田杂草识别与密度评估分析任务\n2. `/web/ai-analysis/get-common-ai-analysis-result` - 获取分析结果\n3. `/web/ai-analysis/page-common-ai-analysis-result` - 分页查询历史报告\n4. `/health/order/api/getReportDetailExport?id={id}` - 导出完整报告\n\n## 场景代码\n\n- `SMYX_FARMLAND_WEED_IDENTIFICATION_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":"Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。 Skill: Farmland Weed Identification | 农田杂草识别与密度评估 Owner: 18072937735 Summary: Identifies weed species and coverage density from field top-view images, and outputs a weed distribution heatmap dataset to support precision weeding decisions. | 通过田间图像识别杂草种类与覆盖密度，生成除草建议区域热力图。 Tags: latest:1.0.13 Version history: v1.0.13 | 2026-10-01T19:27:33.661Z | auto - Updated version to 1.0.14. - SKILL.md revised with minor documentat","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":754,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T09:40:34.839Z","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-10T09:40:34.839Z","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-10T11:54:54.256Z","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"}]}}}