{"id":"f256f3d6-44d1-4f40-8fab-2b2a19bf6957","entityType":"agent","slug":"clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis","name":"Livestock Counting | 养殖场盘点计数","canonicalUrl":"https://www.xpersona.co/agent/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis","canonicalPath":"/agent/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis","generatedAt":"2026-10-10T23:49:09.791Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T21:19:08.904Z","emptyReason":null},"description":"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。 Skill: Livestock Counting | 养殖场盘点计数 Owner: smyx-sunjinhui Summary: Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。 Tags: latest:1.0.11 Version history: v1.0.11 | 2026-09-29T02:30:32.506Z | auto - Version updated to 1.0.12. - Improved documentation and skill instructions i","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.3K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-livestock-counting-analysis","sourceUrl":"https://clawhub.ai/smyx-sunjinhui/smyx-livestock-counting-analysis","homepage":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/smyx-sunjinhui/smyx-livestock-counting-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:19:08.904Z","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-10T21:19:08.904Z","emptyReason":null},"stars":null,"forks":null,"downloads":1255,"packageName":null,"latestVersion":"1.0.11","tractionLabel":"1.3K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T21:19:08.831Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T21:19:08.904Z","lastCrawledAt":"2026-10-10T21:19:08.831Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T21:19:08.831Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.11","createdAt":"2026-09-29T02:30:32.506Z","changelog":"- Version updated to 1.0.12. - Improved documentation and skill instructions in SKILL.md. - Removed redundant skill-card.md file for simplification. - No changes to code or core features.","fileCount":31,"zipByteSize":39334},{"version":"1.0.10","createdAt":"2026-09-23T10:13:42.257Z","changelog":"- Updated version to 1.0.11. - Documentation updates: SKILL.md updated with minor text and metadata changes. - Removed redundant file: skill-card.md. - Minor configuration adjustments in skills/smyx_common/scripts/config.yaml.","fileCount":31,"zipByteSize":39341},{"version":"1.0.9","createdAt":"2026-08-28T08:08:31.330Z","changelog":"- Removed the file skill-card.md. - No functional or documentation changes to the skill itself. - Version remains unchanged in SKILL.md.","fileCount":31,"zipByteSize":39513},{"version":"1.0.8","createdAt":"2026-08-22T00:37:44.014Z","changelog":"- Updated version to 1.0.8. - SKILL.md revised and updated. - Removed obsolete file: skill-card.md. - Minor adjustments to configuration in config.yaml.","fileCount":31,"zipByteSize":39388},{"version":"1.0.7","createdAt":"2026-08-12T20:03:34.418Z","changelog":"- Updated SKILL.md with minor version increment (1.0.5 → 1.0.6). - Removed the redundant skill-card.md file. - No changes to features or workflow; documentation and file structure update only.","fileCount":31,"zipByteSize":39493},{"version":"1.0.6","createdAt":"2026-07-29T11:59:27.982Z","changelog":"- Updated version metadata in SKILL.md. - Removed the file skill-card.md. - No changes to core features or capabilities; documentation and packaging updates only.","fileCount":31,"zipByteSize":39570},{"version":"1.0.5","createdAt":"2026-07-18T13:12:31.344Z","changelog":"- Removed the file skill-card.md. - No changes to functionality or workflow.","fileCount":31,"zipByteSize":39367},{"version":"1.0.4","createdAt":"2026-07-11T00:25:42.464Z","changelog":"- Updated SKILL.md with minor version change (from 1.0.0 to 1.0.2). - Modified utility scripts (skills/smyx_common/scripts/util.py). - Removed redundant documentation file (skill-card.md).","fileCount":31,"zipByteSize":39495}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-livestock-counting-analysis","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-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-10T23:49:09.787Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-analysis/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-livestock-counting-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-10T21:19:08.904Z","emptyReason":null},"readme":"Skill: Livestock Counting | 养殖场盘点计数\n\nOwner: smyx-sunjinhui\n\nSummary: Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\n\nTags: latest:1.0.11\n\nVersion history:\n\nv1.0.11 | 2026-09-29T02:30:32.506Z | auto\n\n- Version updated to 1.0.12.\n- Improved documentation and skill instructions in SKILL.md.\n- Removed redundant skill-card.md file for simplification.\n- No changes to code or core features.\n\nv1.0.10 | 2026-09-23T10:13:42.257Z | auto\n\n- Updated version to 1.0.11.\n- Documentation updates: SKILL.md updated with minor text and metadata changes.\n- Removed redundant file: skill-card.md.\n- Minor configuration adjustments in skills/smyx_common/scripts/config.yaml.\n\nv1.0.9 | 2026-08-28T08:08:31.330Z | auto\n\n- Removed the file skill-card.md.  \n- No functional or documentation changes to the skill itself.\n- Version remains unchanged in SKILL.md.\n\nv1.0.8 | 2026-08-22T00:37:44.014Z | auto\n\n- Updated version to 1.0.8.\n- SKILL.md revised and updated.\n- Removed obsolete file: skill-card.md.\n- Minor adjustments to configuration in config.yaml.\n\nv1.0.7 | 2026-08-12T20:03:34.418Z | auto\n\n- Updated SKILL.md with minor version increment (1.0.5 → 1.0.6).\n- Removed the redundant skill-card.md file.\n- No changes to features or workflow; documentation and file structure update only.\n\nv1.0.6 | 2026-07-29T11:59:27.982Z | auto\n\n- Updated version metadata in SKILL.md.\n- Removed the file skill-card.md.\n- No changes to core features or capabilities; documentation and packaging updates only.\n\nv1.0.5 | 2026-07-18T13:12:31.344Z | auto\n\n- Removed the file skill-card.md.\n- No changes to functionality or workflow.\n\nv1.0.4 | 2026-07-11T00:25:42.464Z | auto\n\n- Updated SKILL.md with minor version change (from 1.0.0 to 1.0.2).\n- Modified utility scripts (skills/smyx_common/scripts/util.py).\n- Removed redundant documentation file (skill-card.md).\n\nv1.0.3 | 2026-07-05T00:45:28.285Z | auto\n\nsmyx-livestock-counting-analysis 1.0.3\n\n- Updated SKILL.md with a detailed overview, covering module functions, workflow, strict data handling requirements, API invocation, and privacy practices.\n- Expanded documentation for input/output formats, supported use cases, and AI behavior constraints.\n- Added precise instructions for historical report retrieval, enforced cloud-only data sourcing, and clarified forbidden behaviors for local or manual data access.\n- Provided clear, step-by-step usage examples and stricter output formatting rules for reports.\n- Improved sections on capture requirements, security, and usage scenarios to better guide users.\n\nArchive index:\n\nArchive v1.0.11: 31 files, 39334 bytes\n\nFiles: references/api_doc.md (641b), scripts/__init__.py (37b), scripts/config.py (668b), scripts/config.yaml (3b), scripts/skill.py (570b), scripts/smyx_livestock_counting_analysis.py (3542b), skill-card.md (2249b), SKILL.md (11862b), 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 (152b)\n\nFile v1.0.11:SKILL.md\n\n---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.12\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\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_livestock_counting_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_livestock_counting_analysis.py`](scripts/smyx_livestock_counting_analysis.py) | 调用 API 进行养殖场盘点计数或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_COUNTING_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 | 236 | 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_livestock_counting_analysis --input /path/to/pig_barn.mp4\n```\n\n### 🐔 分析本地鸡舍盘点图像\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg\n```\n\n### 🐑 分析本地羊只通道过点视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4\n```\n\n### 🌐 分析网络畜禽舍/通道图像/视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史盘点计数报告\n\n> 自动触发关键词：查看历史盘点报告、历史报告、盘点计数清单等。\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input pig_barn.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input chicken_house.jpg --output result.json\n```\n\nFile v1.0.11:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1790649032506\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_LIVESTOCK_COUNTING_ANALYSIS` - 养殖场盘点计数\n\nFile v1.0.11:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.11:scripts/config.yaml\n\n{}\n\nFile v1.0.11:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.11:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.11:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.11:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.11:skill-card.md\n\n## Description:\n\nAnalyzes farm camera images and videos to count livestock or poultry and report inventory totals with confidence estimates.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nFarm operators and their agents use barn or passage camera footage to estimate livestock headcounts, review confidence and area-level counts, and retrieve historical inventory reports.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Farm media and report queries are sent to external lifeemergence.com services.\n\nMitigation: Review the service's data-handling terms and obtain approval before processing sensitive farm media or historical reports.\n\nRisk: The skill silently creates or reuses an identity and persists authentication tokens in a workspace database.\n\nMitigation: Run only in an approved workspace with appropriate access controls and credential-retention practices.\n\nRisk: Dense groups, occlusion, or poor camera conditions can make counts unreliable.\n\nMitigation: Use stable, well-lit footage and verify results against existing counting procedures before updating official records.\n\n## Reference(s):\n\n- [ClawHub skill release](https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-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 counting report or Markdown table of historical reports; optional saved result file]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Reports may include total and area counts, confidence estimates, and report links; counts require human review for official inventory records.]\n\n## Skill Version(s):\n\n1.0.11 (source: server-resolved ClawHub release; artifact frontmatter states 1.0.12)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39341 bytes\n\nFiles: references/api_doc.md (641b), scripts/__init__.py (37b), scripts/config.py (668b), scripts/config.yaml (3b), scripts/skill.py (570b), scripts/smyx_livestock_counting_analysis.py (3542b), skill-card.md (2293b), SKILL.md (11862b), 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 (152b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.11\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\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_livestock_counting_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_livestock_counting_analysis.py`](scripts/smyx_livestock_counting_analysis.py) | 调用 API 进行养殖场盘点计数或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_COUNTING_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 | 236 | 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_livestock_counting_analysis --input /path/to/pig_barn.mp4\n```\n\n### 🐔 分析本地鸡舍盘点图像\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg\n```\n\n### 🐑 分析本地羊只通道过点视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4\n```\n\n### 🌐 分析网络畜禽舍/通道图像/视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史盘点计数报告\n\n> 自动触发关键词：查看历史盘点报告、历史报告、盘点计数清单等。\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input pig_barn.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input chicken_house.jpg --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1790158422257\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_LIVESTOCK_COUNTING_ANALYSIS` - 养殖场盘点计数\n\nFile v1.0.10:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.10:scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nAutomatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nFarm operators and external users use this skill to count livestock or poultry from barn or passage images and videos, including inventory checks, batch entry or exit counts, and passage counting. It returns structured counting results with totals, confidence, report links, and optional historical report listings.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Farm images or videos are processed by a remote cloud API.\n\nMitigation: Use non-sensitive footage when possible and confirm retention, account handling, and service terms before production use.\n\nRisk: The skill may create or reuse account identity, query account-linked report history, and persist auth or session tokens locally.\n\nMitigation: Review the skill before installation, restrict workspace access, and prefer explicit user confirmation before historical report lookup.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [Livestock Counting 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]\n\n**Output Format:** [Markdown reports and tables, with JSON available for detailed analysis output]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs may include livestock counts, per-area counts, confidence values, analysis timestamps, and report links.]\n\n## Skill Version(s):\n\n1.0.10 (source: server release metadata; artifact frontmatter reports 1.0.11)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39513 bytes\n\nFiles: references/api_doc.md (641b), scripts/__init__.py (37b), scripts/config.py (668b), scripts/config.yaml (3b), scripts/skill.py (570b), scripts/smyx_livestock_counting_analysis.py (3542b), skill-card.md (2785b), SKILL.md (11861b), 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 (151b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\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_livestock_counting_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_livestock_counting_analysis.py`](scripts/smyx_livestock_counting_analysis.py) | 调用 API 进行养殖场盘点计数或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_COUNTING_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 | 236 | 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_livestock_counting_analysis --input /path/to/pig_barn.mp4\n```\n\n### 🐔 分析本地鸡舍盘点图像\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg\n```\n\n### 🐑 分析本地羊只通道过点视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4\n```\n\n### 🌐 分析网络畜禽舍/通道图像/视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史盘点计数报告\n\n> 自动触发关键词：查看历史盘点报告、历史报告、盘点计数清单等。\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input pig_barn.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input chicken_house.jpg --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1787904511330\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_LIVESTOCK_COUNTING_ANALYSIS` - 养殖场盘点计数\n\nFile v1.0.9:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.9:scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.9:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.9:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nDetects and counts livestock or poultry in barn or passage camera images and videos, returning total headcount, confidence, structured results, and report links.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nFarm operators and external users can use this skill to count pigs, chickens, sheep, or other livestock from images, videos, or URLs for inventory checks, batch transfer counts, and passage counting. The skill returns structured count results and can list prior cloud reports associated with the current internal identity.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Barn or livestock media and report metadata may be sent to the configured Life Emergence service.\n\nMitigation: Use only media that is appropriate to share with that service and avoid submitting sensitive farm, personnel, or location information unless that transfer is intended.\n\nRisk: The skill can automatically create or reuse an internal identity, query cloud report history, and store account tokens or profile data locally.\n\nMitigation: Run it in an isolated workspace and avoid placing sensitive identity files or API keys where the skill can read them unless that behavior is intended.\n\nRisk: Livestock counts can be wrong in dense, occluded, unstable, underexposed, or overexposed footage.\n\nMitigation: Use stable camera views that cover the counting area and review results against existing farm inventory or transfer-count procedures before operational use.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis)\n- [Publisher profile](https://clawhub.ai/user/smyx-sunjinhui)\n- [Skill demo](https://lifeemergence.com/sample.html)\n- [API interface document](artifact/references/api_doc.md)\n- [Analysis API interface document](artifact/skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown or JSON-like structured text with optional report links and saved output files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May call a configured Life Emergence service for image/video analysis and cloud report-history queries.]\n\n## Skill Version(s):\n\n1.0.9 (source: server-resolved ClawHub release metadata; SKILL.md frontmatter reports 1.0.8)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39388 bytes\n\nFiles: references/api_doc.md (641b), scripts/__init__.py (37b), scripts/config.py (668b), scripts/config.yaml (3b), scripts/skill.py (570b), scripts/smyx_livestock_counting_analysis.py (3542b), skill-card.md (2440b), SKILL.md (11861b), 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 (151b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\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_livestock_counting_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_livestock_counting_analysis.py`](scripts/smyx_livestock_counting_analysis.py) | 调用 API 进行养殖场盘点计数或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_COUNTING_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 | 236 | 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_livestock_counting_analysis --input /path/to/pig_barn.mp4\n```\n\n### 🐔 分析本地鸡舍盘点图像\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg\n```\n\n### 🐑 分析本地羊只通道过点视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4\n```\n\n### 🌐 分析网络畜禽舍/通道图像/视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史盘点计数报告\n\n> 自动触发关键词：查看历史盘点报告、历史报告、盘点计数清单等。\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input pig_barn.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input chicken_house.jpg --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1787359064014\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_LIVESTOCK_COUNTING_ANALYSIS` - 养殖场盘点计数\n\nFile v1.0.8:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.8:scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nAutomatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and farm operations teams use this skill to count livestock or poultry from barn and passage camera images or videos, producing inventory counts, confidence, and report links for faster stocktaking.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill uploads livestock images, videos, or submitted URLs to the publisher's cloud service.\n\nMitigation: Use only footage appropriate for third-party cloud processing and review endpoint configuration before handling sensitive farm media.\n\nRisk: The skill creates or reuses a persistent internal identity and stores local authentication tokens in the workspace data directory.\n\nMitigation: Run in an isolated workspace when needed and clear local skill data or credentials according to the deployment's retention policy.\n\nRisk: Cloud history reports may be retrieved automatically for the active internal identity.\n\nMitigation: Confirm that report history access matches the intended user or tenant before using the skill in shared environments.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis)\n- [API documentation](references/api_doc.md)\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md)\n- [Skill demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [Analysis, Markdown, JSON, Files, Shell commands, Guidance]\n\n**Output Format:** [Markdown reports or JSON-style structured analysis with optional saved output files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Outputs can include total count, partition counts, confidence, analysis time, and report links.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release metadata and SKILL.md frontmatter)\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, 39493 bytes\n\nFiles: references/api_doc.md (641b), scripts/__init__.py (37b), scripts/config.py (668b), scripts/config.yaml (3b), scripts/skill.py (570b), scripts/smyx_livestock_counting_analysis.py (3542b), skill-card.md (2505b), SKILL.md (11861b), 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 (151b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.6\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\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_livestock_counting_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_livestock_counting_analysis.py`](scripts/smyx_livestock_counting_analysis.py) | 调用 API 进行养殖场盘点计数或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_COUNTING_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 | 236 | 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_livestock_counting_analysis --input /path/to/pig_barn.mp4\n```\n\n### 🐔 分析本地鸡舍盘点图像\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg\n```\n\n### 🐑 分析本地羊只通道过点视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4\n```\n\n### 🌐 分析网络畜禽舍/通道图像/视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史盘点计数报告\n\n> 自动触发关键词：查看历史盘点报告、历史报告、盘点计数清单等。\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input pig_barn.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input chicken_house.jpg --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1786565014418\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_LIVESTOCK_COUNTING_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\nAutomatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to count livestock or poultry from barn, pen, or passage camera images and videos. It returns inventory counts, partition counts, confidence, and report links for fast livestock inventory workflows.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends barn images or videos and identity-linked requests to external lifeemergence.com services.\n\nMitigation: Use only media approved for external processing and confirm that users understand the cloud-service dependency before deployment.\n\nRisk: The skill can create or reuse a local default identity and query cloud report history automatically.\n\nMitigation: Review identity handling and report-access behavior in the target environment, and restrict execution to users authorized to view the associated reports.\n\nRisk: Service tokens may be stored in a local workspace database.\n\nMitigation: Run the skill in a controlled workspace, protect local storage, and rotate or revoke tokens according to the service operator's policy.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis)\n- [API 接口文档](references/api_doc.md)\n- [API接口文档](skills/smyx_analysis/references/api_doc.md)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n\n## Skill Output:\n\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance]\n\n**Output Format:** [Markdown and JSON-style structured analysis reports with inline shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May include total livestock count, partition counts, confidence, analysis time, and report links.]\n\n## Skill Version(s):\n\n1.0.7 (source: server release metadata; artifact frontmatter reports 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, 39570 bytes\n\nFiles: references/api_doc.md (641b), scripts/__init__.py (37b), scripts/config.py (668b), scripts/config.yaml (3b), scripts/skill.py (570b), scripts/smyx_livestock_counting_analysis.py (3542b), skill-card.md (2916b), SKILL.md (11861b), 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 (151b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\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_livestock_counting_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_livestock_counting_analysis.py`](scripts/smyx_livestock_counting_analysis.py) | 调用 API 进行养殖场盘点计数或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_COUNTING_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 | 236 | 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_livestock_counting_analysis --input /path/to/pig_barn.mp4\n```\n\n### 🐔 分析本地鸡舍盘点图像\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg\n```\n\n### 🐑 分析本地羊只通道过点视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4\n```\n\n### 🌐 分析网络畜禽舍/通道图像/视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史盘点计数报告\n\n> 自动触发关键词：查看历史盘点报告、历史报告、盘点计数清单等。\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input pig_barn.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input chicken_house.jpg --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1785326367982\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_LIVESTOCK_COUNTING_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>\nAutomatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nFarm operators, agricultural teams, and external agents use this skill to analyze barn, pen, or passage camera images and videos for livestock or poultry inventory counts. It returns count-focused reports with totals, regional counts, confidence, and links to historical reports when requested. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Farm images, videos, and report history are processed by lifeemergence.com services. <br>\nMitigation: Use the skill only for media you are comfortable sending to that service, and require publisher documentation for retention, deletion, and account controls before production use. <br>\nRisk: The skill may create or reuse a persistent identity and store authentication tokens locally without clear user control. <br>\nMitigation: Run it in a dedicated workspace, restrict workspace access, and review or remove local identity and token state when the deployment is complete. <br>\nRisk: Counts may be less reliable when animals overlap heavily, lighting is poor, the camera is unstable, or video quality is low. <br>\nMitigation: Use fixed camera views with stable lighting and clear coverage, and require human review before using results for formal inventory records or handoff decisions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis) <br>\n- [Livestock Counting API Documentation](references/api_doc.md) <br>\n- [SMYX Analysis API Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Text, Markdown, JSON, Shell commands, Guidance] <br>\n**Output Format:** [Markdown report text, Markdown tables for history lists, JSON detail output, and optional saved text files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Outputs focus on livestock counts, regional counts, confidence, analysis time, and report links; media files are limited to supported image and video formats with a documented 10 MB maximum.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: server release metadata; SKILL.md frontmatter says 1.0.5) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.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, 39367 bytes\n\nFiles: references/api_doc.md (641b), scripts/__init__.py (37b), scripts/config.py (668b), scripts/config.yaml (3b), scripts/skill.py (570b), scripts/smyx_livestock_counting_analysis.py (3542b), skill-card.md (2473b), SKILL.md (11861b), 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 (151b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.2\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\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_livestock_counting_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_livestock_counting_analysis.py`](scripts/smyx_livestock_counting_analysis.py) | 调用 API 进行养殖场盘点计数或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_COUNTING_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 | 236 | 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_livestock_counting_analysis --input /path/to/pig_barn.mp4\n```\n\n### 🐔 分析本地鸡舍盘点图像\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg\n```\n\n### 🐑 分析本地羊只通道过点视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4\n```\n\n### 🌐 分析网络畜禽舍/通道图像/视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史盘点计数报告\n\n> 自动触发关键词：查看历史盘点报告、历史报告、盘点计数清单等。\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input pig_barn.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input chicken_house.jpg --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1784380351344\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_LIVESTOCK_COUNTING_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>\nAutomatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nFarm operators and agents use this skill to submit livestock barn, passage, or enclosure images and videos for inventory counts, per-area counts, confidence information, and report links. It can also retrieve prior cloud reports associated with the current identity. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Barn images, videos, and generated identity information are sent to the vendor cloud service for analysis and report lookup. <br>\nMitigation: Use only with data you are allowed to share with the vendor service, and review organizational data-handling requirements before deployment. <br>\nRisk: The skill can create or reuse a local identity and keep backend tokens in workspace data for future report access. <br>\nMitigation: Avoid shared workspaces for this skill, or separate and clear the workspace data directory between users. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [Livestock counting API documentation](references/api_doc.md) <br>\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [analysis, markdown, json, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown or JSON text containing livestock counts, confidence details, structured analysis, history listings, and report links.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save the returned report text to a local output file when an output path is provided.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release evidence; 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, 39495 bytes\n\nFiles: references/api_doc.md (641b), scripts/__init__.py (37b), scripts/config.py (668b), scripts/config.yaml (3b), scripts/skill.py (570b), scripts/smyx_livestock_counting_analysis.py (3542b), skill-card.md (2758b), SKILL.md (11861b), 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 (151b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.2\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\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_livestock_counting_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_livestock_counting_analysis.py`](scripts/smyx_livestock_counting_analysis.py) | 调用 API 进行养殖场盘点计数或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_COUNTING_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 | 236 | 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_livestock_counting_analysis --input /path/to/pig_barn.mp4\n```\n\n### 🐔 分析本地鸡舍盘点图像\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg\n```\n\n### 🐑 分析本地羊只通道过点视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4\n```\n\n### 🌐 分析网络畜禽舍/通道图像/视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史盘点计数报告\n\n> 自动触发关键词：查看历史盘点报告、历史报告、盘点计数清单等。\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input pig_barn.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input chicken_house.jpg --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783729542464\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_LIVESTOCK_COUNTING_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>\nAutomatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nFarm operators and external agents use this skill to count livestock or poultry from barn, pen, or passage camera media, including inventory checks, batch move counts, and passage counting. The skill returns structured count results, confidence, and report links for review. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends livestock or facility images/videos, URLs, and an internal account identifier to a configured cloud service. <br>\nMitigation: Use the skill only when cloud processing is acceptable, and review the service's retention, access controls, and handling of sensitive facility footage before deployment. <br>\nRisk: Report history is account-linked and retrieved from the cloud service. <br>\nMitigation: Limit report access to authorized identities and avoid sharing report links or outputs outside approved workflows. <br>\nRisk: Counts may be unreliable when footage has dense overlap, heavy occlusion, unstable lighting, unsupported formats, or oversized files. <br>\nMitigation: Follow the documented capture and file-size requirements, and use human review for official inventory or batch handoff records. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [Livestock Counting API Documentation](references/api_doc.md) <br>\n- [Common Analysis API Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, guidance] <br>\n**Output Format:** [Markdown or JSON analysis report with livestock counts, confidence, history table entries, and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Supports image/video files or URLs, report history lookup, and optional file output; documented media limit is 10 MB.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release evidence; artifact frontmatter reports 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\n\nArchive v1.0.3: 31 files, 39370 bytes\n\nFiles: references/api_doc.md (641b), scripts/__init__.py (37b), scripts/config.py (668b), scripts/config.yaml (3b), scripts/skill.py (570b), scripts/smyx_livestock_counting_analysis.py (3542b), skill-card.md (2628b), SKILL.md (11861b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28605b), _meta.json (151b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.0\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\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_livestock_counting_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_livestock_counting_analysis.py`](scripts/smyx_livestock_counting_analysis.py) | 调用 API 进行养殖场盘点计数或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_COUNTING_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 | 236 | 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_livestock_counting_analysis --input /path/to/pig_barn.mp4\n```\n\n### 🐔 分析本地鸡舍盘点图像\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg\n```\n\n### 🐑 分析本地羊只通道过点视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4\n```\n\n### 🌐 分析网络畜禽舍/通道图像/视频\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史盘点计数报告\n\n> 自动触发关键词：查看历史盘点报告、历史报告、盘点计数清单等。\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input pig_barn.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_livestock_counting_analysis --input chicken_house.jpg --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783212328285\n}\n\nFile v1.0.3:references/api_doc.md\n\n# API 接口文档\n\n此处用于存放养殖场盘点计数 API 的接口文档，待后续补充。\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 响应格式：JSON\n\n## 主要接口\n\n1. `/web/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_LIVESTOCK_COUNTING_ANALYSIS` - 养殖场盘点计数\n\nFile v1.0.3:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.3:scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nAutomatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nFarm operators and livestock teams use this skill to count pigs, chickens, sheep, and other livestock from barn or passage camera images and videos. It returns inventory counts, confidence, region counts, and report links for inventory checks and historical report review. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Barn images, videos, or supplied media URLs are sent to a vendor cloud service for analysis. <br>\nMitigation: Use only media approved for that service and review vendor handling, retention, and report-sharing practices before processing sensitive farm, facility, employee, or location footage. <br>\nRisk: The skill maintains a local account identity and may store service tokens locally. <br>\nMitigation: Run it in a controlled workspace, protect or clear local credential and data files after use, and avoid sharing the workspace with untrusted users. <br>\nRisk: Historical report retrieval uses cloud report history with limited user control. <br>\nMitigation: Review report access and retention expectations before using historical reports, and verify that returned reports belong to the intended account and farm context. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-livestock-counting-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API interface documentation](references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration] <br>\n**Output Format:** [Markdown and JSON text with count totals, confidence values, region counts, and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Supports local file or media URL inputs, report-list output, and optional result file output.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release metadata; SKILL.md frontmatter reports 1.0.0) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.3:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.3:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3","readmeExcerpt":"Skill: Livestock Counting | 养殖场盘点计数 Owner: smyx-sunjinhui Summary: Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。 Tags: latest:1.0.11 Version history: v1.0.11 | 2026-09-29T02:30:32.506Z | auto - Version updated to 1.0.12. - Improved documentation and skill instructions i","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_livestock_counting_analysis --list"},{"language":"txt","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"python -m scripts.smyx_livestock_counting_analysis --input /path/to/pig_barn.mp4"},{"language":"bash","snippet":"python -m scripts.smyx_livestock_counting_analysis --input /path/to/chicken_house.jpg"},{"language":"bash","snippet":"python -m scripts.smyx_livestock_counting_analysis --input /path/to/sheep_passage.mp4"},{"language":"bash","snippet":"python -m scripts.smyx_livestock_counting_analysis --url https://example.com/farm_inventory.mp4"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-livestock-counting-analysis\"\ndescription: \"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。\"\nversion: \"1.0.12\"\nlicense: \"MIT-0\"\n---\n\n# 🔢 Livestock Inventory Counting | 养殖场盘点计数\n\n> 自动识别并统计畜禽数量，实现快速存栏盘点。\n>\n> **智能存栏盘点中枢** · 畜禽舍/通道图像视频智能分析 · 个体检测计数 · 存栏总数与置信度 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **养殖场盘点计数** |\n| 🎯 核心目标 | 基于畜禽舍或通道区域的固定摄像头图像/视频，自动识别并统计画面中畜禽个体的数量，输出存栏总数及置信度，辅助猪、鸡、羊等畜种的快速存栏盘点 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、个体检测数量、区域分区计数、总存栏数、计数置信度、报告链接 |\n| 🏢 适用场景 | 猪/鸡/羊等畜禽的存栏盘点、批次入舍/出舍清点、通道过点计数，减少人工清点时间与应激 |\n| 🧩 场景码 | `SMYX_LIVESTOCK_COUNTING_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| 8 | 复杂场景下的可能低估/高估提示（如密集堆叠、剧烈遮挡） |\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_livestock_counting_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_livestock_counting_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 | 通道过点计数场景优先在过道入口/出口正上方或斜上方拍摄，保证个体依次通过 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免大面积过暗/过曝 |\n| 4 | 尽量避免大面积人员遮挡或设备遮挡，减少密集堆叠导致的重叠 |\n| 5 | 单张图或短视频（≤10MB）均可，视频建议 10 秒~5 分钟，帧率不低于 15fps |\n| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|-"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-livestock-counting-analysis\",\n  \"version\": \"1.0.11\",\n  \"publishedAt\": 1790649032506\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_LIVESTOCK_COUNTING_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":"Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。 Skill: Livestock Counting | 养殖场盘点计数 Owner: smyx-sunjinhui Summary: Automatically detects and counts livestock or poultry individuals from barn or passage camera images/videos, outputting total headcount with confidence for fast inventory. | 自动识别并统计畜禽数量，实现快速存栏盘点。 Tags: latest:1.0.11 Version history: v1.0.11 | 2026-09-29T02:30:32.506Z | auto - Version updated to 1.0.12. - Improved documentation and skill instructions i","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":718,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T21:19:08.904Z","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-10T21:19:08.904Z","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-10T23:49:09.791Z","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"}]}}}