{"id":"f52c0f3b-236c-4bdc-9d99-9ef5fee46a1b","entityType":"agent","slug":"clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy","name":"Estrus/Mating Behavior Detection | 畜禽发情/配种行为识别","canonicalUrl":"https://www.xpersona.co/agent/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy","canonicalPath":"/agent/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy","generatedAt":"2026-10-11T10:52:21.710Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-11T07:36:12.659Z","emptyReason":null},"description":"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。 Skill: Estrus/Mating Behavior Detection | 畜禽发情/配种行为识别 Owner: smyx-sunjinhui Summary: Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。 Tags: latest:1.0.10 Version history: v1.0.10 | 2026-08-","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-estrus-mating-behavior-detect-analysis","sourceUrl":"https://clawhub.ai/smyx-sunjinhui/smyx-estrus-mating-behavior-detect-analysis","homepage":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/smyx-sunjinhui/smyx-estrus-mating-behavior-detect-analysis","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva "},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T07:36:12.659Z","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-11T07:36:12.659Z","emptyReason":null},"stars":null,"forks":null,"downloads":1122,"packageName":null,"latestVersion":"1.0.10","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T07:36:12.646Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T07:36:12.659Z","lastCrawledAt":"2026-10-11T07:36:12.646Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T07:36:12.646Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.10","createdAt":"2026-08-27T00:00:31.984Z","changelog":"- Removed the skill card documentation file (skill-card.md) from the project. - No user-facing changes to core skill logic or interface.","fileCount":31,"zipByteSize":39862},{"version":"1.0.9","createdAt":"2026-08-20T10:53:32.162Z","changelog":"- Version number updated in SKILL.md (from 1.0.7 to 1.0.8). - Internal configuration updated in config.yaml. - Removed redundant documentation file: skill-card.md.","fileCount":31,"zipByteSize":39691},{"version":"1.0.8","createdAt":"2026-08-13T15:32:34.800Z","changelog":"- Updated SKILL.md metadata version from 1.0.5 to 1.0.7. - Documentation adjustments in SKILL.md; minor wording and version information changes. - Removed the \"skill-card.md\" file.","fileCount":31,"zipByteSize":39890},{"version":"1.0.7","createdAt":"2026-08-04T13:49:32.166Z","changelog":"- Updated SKILL.md content and bumped version to 1.0.5. - Removed the redundant skill-card.md file. - No changes to skill logic or capabilities.","fileCount":31,"zipByteSize":39609},{"version":"1.0.6","createdAt":"2026-07-27T08:59:27.817Z","changelog":"- Updated SKILL.md content (version from 1.0.3 to 1.0.4). - Removed the file skill-card.md. - No functional or code changes; documentation only.","fileCount":31,"zipByteSize":39752},{"version":"1.0.5","createdAt":"2026-07-19T12:24:28.181Z","changelog":"- Updated SKILL.md: version bumped from 1.0.1 to 1.0.3, with minor edits and cleanup. - Removed redundant file: skill-card.md has been deleted. - Updated code in skills/smyx_common/scripts/util.py. - No user-facing feature or workflow changes.","fileCount":31,"zipByteSize":39639},{"version":"1.0.4","createdAt":"2026-07-05T22:14:24.183Z","changelog":"- Updated version number in SKILL.md from 1.0.0 to 1.0.1. - Removed the skill-card.md file. - No functional or capability changes to the skill itself; documentation/metadata update only.","fileCount":31,"zipByteSize":39690},{"version":"1.0.3","createdAt":"2026-07-04T10:15:30.801Z","changelog":"smyx-estrus-mating-behavior-detect-analysis 1.0.3 - Updated and clarified skill documentation, adding detailed descriptions in both English and Chinese. - Expanded overview of input requirements, output formats, and typical livestock estrus behaviors detected. - Added strict workflow and privacy guidelines, including enforced cloud-only historical report retrieval. - Improved examples and command-line usage instructions for video/image analysis and report listing. - Strengthened automation and user privacy requirements, specifying no identity input or exposure.","fileCount":31,"zipByteSize":39752}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s17cfv2h26b7hq5w47tgfy23xx83z9x6:smyx-estrus-mating-behavior-detect-analysis","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy/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-11T10:52:21.708Z"}},"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-estrus-mating-behavior-detect-analy/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-smyx-sunjinhui-smyx-estrus-mating-behavior-detect-analy/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-11T07:36:12.659Z","emptyReason":null},"readme":"Skill: Estrus/Mating Behavior Detection | 畜禽发情/配种行为识别\n\nOwner: smyx-sunjinhui\n\nSummary: Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n\nTags: latest:1.0.10\n\nVersion history:\n\nv1.0.10 | 2026-08-27T00:00:31.984Z | auto\n\n- Removed the skill card documentation file (skill-card.md) from the project.\n- No user-facing changes to core skill logic or interface.\n\nv1.0.9 | 2026-08-20T10:53:32.162Z | auto\n\n- Version number updated in SKILL.md (from 1.0.7 to 1.0.8).\n- Internal configuration updated in config.yaml.\n- Removed redundant documentation file: skill-card.md.\n\nv1.0.8 | 2026-08-13T15:32:34.800Z | auto\n\n- Updated SKILL.md metadata version from 1.0.5 to 1.0.7.\n- Documentation adjustments in SKILL.md; minor wording and version information changes.\n- Removed the \"skill-card.md\" file.\n\nv1.0.7 | 2026-08-04T13:49:32.166Z | auto\n\n- Updated SKILL.md content and bumped version to 1.0.5.\n- Removed the redundant skill-card.md file.\n- No changes to skill logic or capabilities.\n\nv1.0.6 | 2026-07-27T08:59:27.817Z | auto\n\n- Updated SKILL.md content (version from 1.0.3 to 1.0.4).\n- Removed the file skill-card.md.\n- No functional or code changes; documentation only.\n\nv1.0.5 | 2026-07-19T12:24:28.181Z | auto\n\n- Updated SKILL.md: version bumped from 1.0.1 to 1.0.3, with minor edits and cleanup.\n- Removed redundant file: skill-card.md has been deleted.\n- Updated code in skills/smyx_common/scripts/util.py.\n- No user-facing feature or workflow changes.\n\nv1.0.4 | 2026-07-05T22:14:24.183Z | auto\n\n- Updated version number in SKILL.md from 1.0.0 to 1.0.1.\n- Removed the skill-card.md file.\n- No functional or capability changes to the skill itself; documentation/metadata update only.\n\nv1.0.3 | 2026-07-04T10:15:30.801Z | auto\n\nsmyx-estrus-mating-behavior-detect-analysis 1.0.3\n\n- Updated and clarified skill documentation, adding detailed descriptions in both English and Chinese.\n- Expanded overview of input requirements, output formats, and typical livestock estrus behaviors detected.\n- Added strict workflow and privacy guidelines, including enforced cloud-only historical report retrieval.\n- Improved examples and command-line usage instructions for video/image analysis and report listing.\n- Strengthened automation and user privacy requirements, specifying no identity input or exposure.\n\nArchive index:\n\nArchive v1.0.10: 31 files, 39862 bytes\n\nFiles: references/api_doc.md (682b), scripts/__init__.py (53b), scripts/config.py (689b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_estrus_mating_behavior_detect_analysis.py (3571b), skill-card.md (3092b), SKILL.md (12378b), 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 (163b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: \"smyx-estrus-mating-behavior-detect-analysis\"\ndescription: \"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别\n\n> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n>\n> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |\n| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |\n| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |\n| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_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_estrus_mating_behavior_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_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 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |\n| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备母畜舍视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、覆盖母畜活动区 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行发情/配种行为识别 | 调用 `-m scripts.smyx_estrus_mating_behavior_detect_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_estrus_mating_behavior_detect_analysis.py`](scripts/smyx_estrus_mating_behavior_detect_analysis.py) | 调用 API 进行发情/配种行为识别或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 识别结果仅供发情/配种时机参考，本技能不提供配种操作或繁殖管理建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与母畜发情/配种行为识别直接相关的图像/视频数据，不采集与发情识别无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨养殖场/跨用户汇总或共享 |\n| 5 | 识别结果仅供参考，正式配种决策与繁殖管理请结合养殖场规程与专业繁殖技术人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `畜禽发情配种行为识别报告-{记录id}` 形式拼接 |\n| 发情阶段 | 从接口返回数据中提取（非发情 / 发情前期 / 发情盛期 / 发情后期） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 发情阶段 | 分析时间 | 点击查看 |\n|----------|----------|----------|----------|\n| 畜禽发情配种行为识别报告-20260703160500001 | 发情盛期 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🐄 分析本地母牛舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4\n```\n\n### 🐖 分析本地母猪舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4\n```\n\n### 🌐 分析网络母畜舍视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史发情识别报告\n\n> 自动触发关键词：查看历史发情识别报告、历史报告、发情行为识别清单等。\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input cow_estrus.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input sow_estrus.mp4 --output result.json\n```\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-estrus-mating-behavior-detect-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1787788831984\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_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS` - 畜禽发情/配种行为识别\n\nFile v1.0.10:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.10:scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.10:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.10:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: dev\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\nDetects estrus behavior in female livestock from continuous barn videos, including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes, and outputs an estrus recognition result with an optimal mating time window.\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 livestock operators and farm-management agents use this skill to analyze barn camera images or videos for female livestock estrus indicators, estrus-stage classification, historical report lookup, and a suggested mating time window. Results are intended as behavioral evidence for breeding workflows, not as standalone veterinary or reproductive-management advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Barn media, report metadata, and identifiers are sent to configured backend services for analysis and history lookup.\n\nMitigation: Review endpoint configuration and data-handling expectations before use, and submit only media appropriate for the configured service.\n\nRisk: The skill silently creates or reuses a local identity and stores returned auth tokens in the workspace data area.\n\nMitigation: Run in a workspace where local identity and token storage are acceptable, and clear workspace data when rotating identities or decommissioning access.\n\nRisk: Bundled development configuration references plain HTTP private-network addresses.\n\nMitigation: Confirm production endpoints and transport security before deployment.\n\nRisk: Estrus recognition and mating-window output may be incomplete or unreliable when video quality, camera angle, lighting, duration, or occlusion are poor.\n\nMitigation: Use stable fixed-camera footage that meets the documented capture requirements and review outputs with farm procedures or qualified reproductive specialists.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis)\n- [Publisher Profile](https://clawhub.ai/user/smyx-sunjinhui)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [API Documentation](references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json, shell commands]\n\n**Output Format:** [Markdown or JSON analysis reports, including structured behavior findings, estrus-stage labels, suggested mating time windows, report links, and optional saved result files.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Historical report lookup is returned as a Markdown table; detailed analysis can be requested with basic, standard, or json detail levels.]\n\n## Skill Version(s):\n\n1.0.10 (source: server release metadata; artifact frontmatter states 1.0.8)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.10:skills/smyx_analysis/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nyaml==6.0.3\n\nFile v1.0.10:skills/smyx_common/requirements.txt\n\npydash==8.0.6\nSQLAlchemy==2.0.46\nPyYAML==6.0.3\n\nArchive v1.0.9: 31 files, 39691 bytes\n\nFiles: references/api_doc.md (682b), scripts/__init__.py (53b), scripts/config.py (689b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_estrus_mating_behavior_detect_analysis.py (3571b), skill-card.md (2667b), SKILL.md (12378b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (472b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (162b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: \"smyx-estrus-mating-behavior-detect-analysis\"\ndescription: \"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别\n\n> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n>\n> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |\n| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |\n| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |\n| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_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_estrus_mating_behavior_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_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 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |\n| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备母畜舍视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、覆盖母畜活动区 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行发情/配种行为识别 | 调用 `-m scripts.smyx_estrus_mating_behavior_detect_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_estrus_mating_behavior_detect_analysis.py`](scripts/smyx_estrus_mating_behavior_detect_analysis.py) | 调用 API 进行发情/配种行为识别或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 识别结果仅供发情/配种时机参考，本技能不提供配种操作或繁殖管理建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与母畜发情/配种行为识别直接相关的图像/视频数据，不采集与发情识别无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨养殖场/跨用户汇总或共享 |\n| 5 | 识别结果仅供参考，正式配种决策与繁殖管理请结合养殖场规程与专业繁殖技术人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `畜禽发情配种行为识别报告-{记录id}` 形式拼接 |\n| 发情阶段 | 从接口返回数据中提取（非发情 / 发情前期 / 发情盛期 / 发情后期） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 发情阶段 | 分析时间 | 点击查看 |\n|----------|----------|----------|----------|\n| 畜禽发情配种行为识别报告-20260703160500001 | 发情盛期 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🐄 分析本地母牛舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4\n```\n\n### 🐖 分析本地母猪舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4\n```\n\n### 🌐 分析网络母畜舍视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史发情识别报告\n\n> 自动触发关键词：查看历史发情识别报告、历史报告、发情行为识别清单等。\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input cow_estrus.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input sow_estrus.mp4 --output result.json\n```\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-estrus-mating-behavior-detect-analysis\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1787223212162\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_ESTRUS_MATING_BEHAVIOR_DETECT_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 estrus behavior in female livestock from continuous barn videos, including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes, and outputs an estrus recognition result with an optimal mating time window.\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 livestock operators and developers use this skill to analyze fixed-camera barn images or video for female livestock estrus indicators, estrus-stage classification, optimal mating-window timing, and historical report lookup. Results are intended as a visual behavior reference and should be reviewed with farm procedures and qualified breeding staff before operational decisions.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Barn images, videos, or media URLs may be uploaded to a remote API for analysis.\n\nMitigation: Review data handling expectations with the publisher and test with non-sensitive media before using production farm footage.\n\nRisk: The skill may silently create or reuse a backend identity and persist tokens in a local workspace database.\n\nMitigation: Run it in an isolated workspace, review local credential storage, and clear generated identity or token state between users or environments.\n\nRisk: The packaged development configuration references a private API endpoint.\n\nMitigation: Verify or replace API endpoint configuration before deployment and confirm only intended production services are reachable.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis)\n- [Publisher Profile](https://clawhub.ai/user/smyx-sunjinhui)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [API Interface Documentation](references/api_doc.md)\n- [Analysis API Documentation](skills/smyx_analysis/references/api_doc.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, json]\n\n**Output Format:** [Markdown tables or JSON analysis reports with report links]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Accepts local image/video paths or media URLs; supports basic, standard, and json detail levels.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release metadata; SKILL.md frontmatter lists 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, 39890 bytes\n\nFiles: references/api_doc.md (682b), scripts/__init__.py (53b), scripts/config.py (689b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_estrus_mating_behavior_detect_analysis.py (3571b), skill-card.md (3176b), SKILL.md (12378b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (162b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: \"smyx-estrus-mating-behavior-detect-analysis\"\ndescription: \"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\"\nversion: \"1.0.7\"\nlicense: \"MIT-0\"\n---\n\n# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别\n\n> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n>\n> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |\n| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |\n| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |\n| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_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_estrus_mating_behavior_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_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 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |\n| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备母畜舍视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、覆盖母畜活动区 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行发情/配种行为识别 | 调用 `-m scripts.smyx_estrus_mating_behavior_detect_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_estrus_mating_behavior_detect_analysis.py`](scripts/smyx_estrus_mating_behavior_detect_analysis.py) | 调用 API 进行发情/配种行为识别或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 识别结果仅供发情/配种时机参考，本技能不提供配种操作或繁殖管理建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与母畜发情/配种行为识别直接相关的图像/视频数据，不采集与发情识别无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨养殖场/跨用户汇总或共享 |\n| 5 | 识别结果仅供参考，正式配种决策与繁殖管理请结合养殖场规程与专业繁殖技术人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `畜禽发情配种行为识别报告-{记录id}` 形式拼接 |\n| 发情阶段 | 从接口返回数据中提取（非发情 / 发情前期 / 发情盛期 / 发情后期） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 发情阶段 | 分析时间 | 点击查看 |\n|----------|----------|----------|----------|\n| 畜禽发情配种行为识别报告-20260703160500001 | 发情盛期 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🐄 分析本地母牛舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4\n```\n\n### 🐖 分析本地母猪舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4\n```\n\n### 🌐 分析网络母畜舍视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史发情识别报告\n\n> 自动触发关键词：查看历史发情识别报告、历史报告、发情行为识别清单等。\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input cow_estrus.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input sow_estrus.mp4 --output result.json\n```\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-estrus-mating-behavior-detect-analysis\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1786635154800\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_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS` - 畜禽发情/配种行为识别\n\nFile v1.0.8:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.8:scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.8:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.8:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nDetects estrus behavior in female livestock from continuous barn videos, including mounting acceptance, standing reflex, restlessness, appetite drop, and vulva changes, and returns an estrus recognition result with an optimal mating time window.\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 farm operators, livestock reproduction teams, and agent users use this skill to analyze barn video or image inputs for estrus behavior, estrus stage, a mating time window, and report links. It is intended as decision support and does not provide breeding operation instructions or farm management advice.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends barn images or video to a cloud analysis service, and the footage may include people, location-sensitive farm details, or confidential operations.\n\nMitigation: Review the footage before use, avoid uploading sensitive material unless authorized, and use the skill only where cloud processing is acceptable.\n\nRisk: The security evidence says the skill silently creates or reuses an account identity and stores service tokens locally in the workspace.\n\nMitigation: Run the skill in a dedicated workspace or account context, restrict workspace access, and clear local identity or token storage when the analysis context changes.\n\nRisk: The skill can retrieve account-scoped historical reports, which may expose prior analysis results for the current local identity.\n\nMitigation: Verify the active workspace identity before history lookups and limit execution to the intended user or farm account.\n\nRisk: The output is a reference result for estrus and mating timing, not a replacement for farm procedures or professional reproduction guidance.\n\nMitigation: Treat results as decision support and confirm breeding decisions with farm policy and qualified reproduction personnel.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis)\n- [Skill Demo](https://lifeemergence.com/sample.html)\n- [Estrus/Mating Behavior 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, Files]\n\n**Output Format:** [Markdown report text with structured analysis content, historical report listings, and report links; optional saved output file.]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Supports basic, standard, and JSON detail modes; local media is limited by the skill documentation to supported image/video formats and a 10 MB file size cap.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release metadata; artifact frontmatter reports 1.0.7)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.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, 39609 bytes\n\nFiles: references/api_doc.md (682b), scripts/__init__.py (53b), scripts/config.py (689b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_estrus_mating_behavior_detect_analysis.py (3571b), skill-card.md (2559b), SKILL.md (12378b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (162b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: \"smyx-estrus-mating-behavior-detect-analysis\"\ndescription: \"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\"\nversion: \"1.0.5\"\nlicense: \"MIT-0\"\n---\n\n# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别\n\n> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n>\n> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |\n| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |\n| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |\n| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_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_estrus_mating_behavior_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_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 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |\n| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备母畜舍视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、覆盖母畜活动区 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行发情/配种行为识别 | 调用 `-m scripts.smyx_estrus_mating_behavior_detect_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_estrus_mating_behavior_detect_analysis.py`](scripts/smyx_estrus_mating_behavior_detect_analysis.py) | 调用 API 进行发情/配种行为识别或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 识别结果仅供发情/配种时机参考，本技能不提供配种操作或繁殖管理建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与母畜发情/配种行为识别直接相关的图像/视频数据，不采集与发情识别无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨养殖场/跨用户汇总或共享 |\n| 5 | 识别结果仅供参考，正式配种决策与繁殖管理请结合养殖场规程与专业繁殖技术人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `畜禽发情配种行为识别报告-{记录id}` 形式拼接 |\n| 发情阶段 | 从接口返回数据中提取（非发情 / 发情前期 / 发情盛期 / 发情后期） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 发情阶段 | 分析时间 | 点击查看 |\n|----------|----------|----------|----------|\n| 畜禽发情配种行为识别报告-20260703160500001 | 发情盛期 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🐄 分析本地母牛舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4\n```\n\n### 🐖 分析本地母猪舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4\n```\n\n### 🌐 分析网络母畜舍视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史发情识别报告\n\n> 自动触发关键词：查看历史发情识别报告、历史报告、发情行为识别清单等。\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input cow_estrus.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input sow_estrus.mp4 --output result.json\n```\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-estrus-mating-behavior-detect-analysis\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1785851372166\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_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS` - 畜禽发情/配种行为识别\n\nFile v1.0.7:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.7:scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.7:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.7:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.7:skill-card.md\n\n## Description: <br>\nDetects estrus behavior in female livestock from continuous barn videos, including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes, and outputs an estrus recognition result with the optimal mating time window. <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, veterinary or reproduction teams, and developers use this skill to analyze barn images, videos, or media URLs for livestock estrus behavior signals, estrus-stage classification, mating-window timing, and historical report lookup. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Barn images, videos, or media URLs are sent to lifeemergence.com services for analysis. <br>\nMitigation: Get explicit user confirmation before uploads and avoid submitting media that contains unrelated sensitive content. <br>\nRisk: The skill can create or reuse an internal identity and cache session tokens locally. <br>\nMitigation: Review or clear the workspace data directory when identity or token reuse is not desired. <br>\nRisk: Historical report lookup retrieves cloud records associated with the current internal identity. <br>\nMitigation: Confirm the intended identity or session context before running history queries. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Shared analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON] <br>\n**Output Format:** [Markdown or JSON-formatted structured analysis report, with report links for completed cloud analyses.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Can save output to a user-provided file path; historical report queries return cloud report records.] <br>\n\n## Skill Version(s): <br>\n1.0.7 (source: server release metadata; artifact frontmatter reports 1.0.5) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.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, 39752 bytes\n\nFiles: references/api_doc.md (682b), scripts/__init__.py (53b), scripts/config.py (689b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_estrus_mating_behavior_detect_analysis.py (3571b), skill-card.md (2870b), SKILL.md (12378b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (162b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: \"smyx-estrus-mating-behavior-detect-analysis\"\ndescription: \"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\"\nversion: \"1.0.4\"\nlicense: \"MIT-0\"\n---\n\n# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别\n\n> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n>\n> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |\n| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |\n| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |\n| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_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_estrus_mating_behavior_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_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 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |\n| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备母畜舍视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、覆盖母畜活动区 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行发情/配种行为识别 | 调用 `-m scripts.smyx_estrus_mating_behavior_detect_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_estrus_mating_behavior_detect_analysis.py`](scripts/smyx_estrus_mating_behavior_detect_analysis.py) | 调用 API 进行发情/配种行为识别或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 识别结果仅供发情/配种时机参考，本技能不提供配种操作或繁殖管理建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与母畜发情/配种行为识别直接相关的图像/视频数据，不采集与发情识别无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨养殖场/跨用户汇总或共享 |\n| 5 | 识别结果仅供参考，正式配种决策与繁殖管理请结合养殖场规程与专业繁殖技术人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `畜禽发情配种行为识别报告-{记录id}` 形式拼接 |\n| 发情阶段 | 从接口返回数据中提取（非发情 / 发情前期 / 发情盛期 / 发情后期） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 发情阶段 | 分析时间 | 点击查看 |\n|----------|----------|----------|----------|\n| 畜禽发情配种行为识别报告-20260703160500001 | 发情盛期 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🐄 分析本地母牛舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4\n```\n\n### 🐖 分析本地母猪舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4\n```\n\n### 🌐 分析网络母畜舍视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史发情识别报告\n\n> 自动触发关键词：查看历史发情识别报告、历史报告、发情行为识别清单等。\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input cow_estrus.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input sow_estrus.mp4 --output result.json\n```\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-estrus-mating-behavior-detect-analysis\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1785142767817\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_ESTRUS_MATING_BEHAVIOR_DETECT_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>\nDetects estrus behavior in female livestock from continuous barn videos, including mounting acceptance, standing reflex, restlessness, appetite drop, and vulva changes, and outputs an estrus recognition result with an optimal mating time window. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal livestock producers, farm operators, and developers use this skill to submit barn images, videos, or media URLs for estrus behavior analysis, stage classification, mating-window output, and report history retrieval. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Barn images or videos, remote media URLs, identity values, and report history are sent to configured external services. <br>\nMitigation: Use only with media and report data approved for those services; avoid sensitive farm footage unless the publisher documents identity handling, retention, and deletion controls. <br>\nRisk: The skill can generate or reuse an identity and store user records and auth tokens in the workspace data directory. <br>\nMitigation: Run it in a dedicated workspace with restricted access, and clear the workspace data directory when local identity or token persistence is not desired. <br>\nRisk: Estrus stage and mating-window outputs are decision-support signals and may be affected by video quality, occlusion, lighting, or model/API errors. <br>\nMitigation: Treat results as reference material and confirm breeding decisions against farm procedures and qualified reproductive management staff. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](references/api_doc.md) <br>\n- [Common AI analysis API documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, files] <br>\n**Output Format:** [Markdown or JSON text with optional saved output file and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Supports local media paths or media URLs, polls an external analysis API for completion, and can list historical reports for the resolved identity.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: server release metadata; artifact frontmatter says 1.0.4) <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, 39639 bytes\n\nFiles: references/api_doc.md (682b), scripts/__init__.py (53b), scripts/config.py (689b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_estrus_mating_behavior_detect_analysis.py (3571b), skill-card.md (2686b), SKILL.md (12378b), skills/smyx_analysis/__init__.py (0b), skills/smyx_analysis/references/api_doc.md (427b), skills/smyx_analysis/requirements.txt (45b), skills/smyx_analysis/scripts/__init__.py (0b), skills/smyx_analysis/scripts/api_service.py (1509b), skills/smyx_analysis/scripts/config.py (1003b), skills/smyx_analysis/scripts/config.yaml (3b), skills/smyx_analysis/scripts/skill.py (6529b), skills/smyx_analysis/scripts/smyx_analysis.py (3833b), skills/smyx_common/__init__.py (0b), skills/smyx_common/requirements.txt (47b), skills/smyx_common/scripts/__init__.py (177b), skills/smyx_common/scripts/api_service.py (2645b), skills/smyx_common/scripts/base.py (469b), skills/smyx_common/scripts/config-dev.yaml (214b), skills/smyx_common/scripts/config-prod.yaml (0b), skills/smyx_common/scripts/config-test.yaml (256b), skills/smyx_common/scripts/config.py (24363b), skills/smyx_common/scripts/config.yaml (473b), skills/smyx_common/scripts/dao.py (18266b), skills/smyx_common/scripts/skill.py (2473b), skills/smyx_common/scripts/util.py (28776b), _meta.json (162b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: \"smyx-estrus-mating-behavior-detect-analysis\"\ndescription: \"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\"\nversion: \"1.0.3\"\nlicense: \"MIT-0\"\n---\n\n# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别\n\n> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n>\n> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |\n| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |\n| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |\n| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_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_estrus_mating_behavior_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_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 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |\n| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备母畜舍视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、覆盖母畜活动区 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行发情/配种行为识别 | 调用 `-m scripts.smyx_estrus_mating_behavior_detect_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_estrus_mating_behavior_detect_analysis.py`](scripts/smyx_estrus_mating_behavior_detect_analysis.py) | 调用 API 进行发情/配种行为识别或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 识别结果仅供发情/配种时机参考，本技能不提供配种操作或繁殖管理建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与母畜发情/配种行为识别直接相关的图像/视频数据，不采集与发情识别无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨养殖场/跨用户汇总或共享 |\n| 5 | 识别结果仅供参考，正式配种决策与繁殖管理请结合养殖场规程与专业繁殖技术人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `畜禽发情配种行为识别报告-{记录id}` 形式拼接 |\n| 发情阶段 | 从接口返回数据中提取（非发情 / 发情前期 / 发情盛期 / 发情后期） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 发情阶段 | 分析时间 | 点击查看 |\n|----------|----------|----------|----------|\n| 畜禽发情配种行为识别报告-20260703160500001 | 发情盛期 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🐄 分析本地母牛舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4\n```\n\n### 🐖 分析本地母猪舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4\n```\n\n### 🌐 分析网络母畜舍视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史发情识别报告\n\n> 自动触发关键词：查看历史发情识别报告、历史报告、发情行为识别清单等。\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input cow_estrus.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input sow_estrus.mp4 --output result.json\n```\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-estrus-mating-behavior-detect-analysis\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1784463868181\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_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS` - 畜禽发情/配种行为识别\n\nFile v1.0.5:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.5:scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.5:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.5:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\nDetects estrus behavior in female livestock from continuous barn videos, including mounting acceptance, standing reflex, restlessness, appetite drop, and vulva changes, and outputs an estrus recognition result with an optimal mating time window. <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, livestock reproduction specialists, and developers use this skill to submit barn images, videos, or URLs for estrus behavior detection. It returns structured recognition results, observed behavior lists, estrus-stage assessment, an optimal mating-time window, and report links. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Barn video files or submitted media URLs can be sent to Lifeemergence cloud services for analysis. <br>\nMitigation: Use the skill only when cloud processing is acceptable, and avoid private or signed media URLs unless sharing them with the backend service is intended. <br>\nRisk: The skill can silently create or reuse an internal identity and store account tokens in the local workspace database. <br>\nMitigation: Review workspace data and database access before installation, and clear stored identity or token data before sharing the workspace. <br>\nRisk: History queries can retrieve cloud report records tied to the current identity. <br>\nMitigation: Verify the active identity and workspace before running report-list actions, and restrict access to generated report outputs. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API documentation](references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, guidance] <br>\n**Output Format:** [Markdown with JSON-style structured results and report links] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May upload local media or submit media URLs to Lifeemergence cloud APIs; history queries return report records tied to the current identity.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release metadata; artifact frontmatter is 1.0.3) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.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, 39690 bytes\n\nFiles: references/api_doc.md (682b), scripts/__init__.py (53b), scripts/config.py (689b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_estrus_mating_behavior_detect_analysis.py (3571b), skill-card.md (2958b), SKILL.md (12378b), 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 (162b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: \"smyx-estrus-mating-behavior-detect-analysis\"\ndescription: \"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\"\nversion: \"1.0.1\"\nlicense: \"MIT-0\"\n---\n\n# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别\n\n> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n>\n> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |\n| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |\n| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |\n| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_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_estrus_mating_behavior_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_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 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |\n| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备母畜舍视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、覆盖母畜活动区 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行发情/配种行为识别 | 调用 `-m scripts.smyx_estrus_mating_behavior_detect_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_estrus_mating_behavior_detect_analysis.py`](scripts/smyx_estrus_mating_behavior_detect_analysis.py) | 调用 API 进行发情/配种行为识别或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 识别结果仅供发情/配种时机参考，本技能不提供配种操作或繁殖管理建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与母畜发情/配种行为识别直接相关的图像/视频数据，不采集与发情识别无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨养殖场/跨用户汇总或共享 |\n| 5 | 识别结果仅供参考，正式配种决策与繁殖管理请结合养殖场规程与专业繁殖技术人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `畜禽发情配种行为识别报告-{记录id}` 形式拼接 |\n| 发情阶段 | 从接口返回数据中提取（非发情 / 发情前期 / 发情盛期 / 发情后期） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 发情阶段 | 分析时间 | 点击查看 |\n|----------|----------|----------|----------|\n| 畜禽发情配种行为识别报告-20260703160500001 | 发情盛期 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🐄 分析本地母牛舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4\n```\n\n### 🐖 分析本地母猪舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4\n```\n\n### 🌐 分析网络母畜舍视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史发情识别报告\n\n> 自动触发关键词：查看历史发情识别报告、历史报告、发情行为识别清单等。\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input cow_estrus.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input sow_estrus.mp4 --output result.json\n```\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-estrus-mating-behavior-detect-analysis\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783289664183\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_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS` - 畜禽发情/配种行为识别\n\nFile v1.0.4:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.4:scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.4:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.4:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nDetects estrus behavior in female livestock from continuous barn videos, including mounting acceptance, standing reflex, restlessness, appetite drop, and vulva changes, and returns an estrus recognition result with an optimal mating time window. <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, livestock reproduction teams, and agent users can analyze barn images or videos to identify visible estrus behaviors, estimate estrus stage, and review an optimal mating-time window. The skill can also query previously generated analysis reports for the current internal identity. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Livestock images, videos, and report requests may be processed by LifeEmergence remote services. <br>\nMitigation: Use the skill only with footage approved for remote processing, and avoid sensitive farm media unless the service and data-handling expectations are acceptable. <br>\nRisk: The skill may create or reuse an internal account identity and store tokens or report-related state locally. <br>\nMitigation: Run it in an isolated workspace when appropriate, review local credential and SQLite storage before use, and clean local state before sharing the workspace. <br>\nRisk: Estrus-stage and mating-window outputs are visual decision-support results, not operational breeding instructions. <br>\nMitigation: Confirm results against farm procedures and qualified livestock reproduction expertise before making breeding decisions. <br>\n\n\n## Reference(s): <br>\n- [ClawHub Skill Page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis) <br>\n- [Skill Demo](https://lifeemergence.com/sample.html) <br>\n- [Estrus/Mating Behavior Detection API Documentation](references/api_doc.md) <br>\n- [Shared Analysis API Documentation](skills/smyx_analysis/references/api_doc.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown and JSON-style structured analysis text, with optional report links and optional saved text output files.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Analysis output may include estrus behavior observations, estrus-stage classification, an optimal mating-time window, historical report records, and report export links.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release metadata; artifact frontmatter is 1.0.1) <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, 39752 bytes\n\nFiles: references/api_doc.md (682b), scripts/__init__.py (53b), scripts/config.py (689b), scripts/config.yaml (3b), scripts/skill.py (580b), scripts/smyx_estrus_mating_behavior_detect_analysis.py (3571b), skill-card.md (3143b), SKILL.md (12378b), 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 (162b)\n\nFile v1.0.3:SKILL.md\n\n---\nname: \"smyx-estrus-mating-behavior-detect-analysis\"\ndescription: \"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\"\nversion: \"1.0.0\"\nlicense: \"MIT-0\"\n---\n\n# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别\n\n> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n>\n> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |\n| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |\n| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |\n| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_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_estrus_mating_behavior_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_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 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |\n| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。\n\n执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：\n\n| 场景 | 系统行为 |\n|---|---|\n| 上游系统有内部身份参数 | 由脚本静默接收并使用 |\n| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |\n| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |\n| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |\n\n#### 🔒 关键约束\n\n| 禁止/要求 | 说明 |\n|---|---|\n| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |\n| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |\n| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |\n| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达\"查看历史报告/报告清单\"等意图 |\n\n---\n\n## 🧪 标准流程 | Standard Flow\n\n| 步骤 | 阶段 | 执行动作 |\n|---:|---|---|\n| 1 | 📥 准备母畜舍视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、覆盖母畜活动区 |\n| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |\n| 3 | ⚙️ 执行发情/配种行为识别 | 调用 `-m scripts.smyx_estrus_mating_behavior_detect_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_estrus_mating_behavior_detect_analysis.py`](scripts/smyx_estrus_mating_behavior_detect_analysis.py) | 调用 API 进行发情/配种行为识别或查询历史报告 | 执行分析或查询时使用 |\n| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |\n| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |\n\n---\n\n## ⚠️ 注意事项 | Notes\n\n| 分类 | 注意事项 |\n|---|---|\n| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |\n| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |\n| 🧑‍⚖️ 结果性质 | 识别结果仅供发情/配种时机参考，本技能不提供配种操作或繁殖管理建议 |\n| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |\n| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |\n| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |\n\n---\n\n## 🔒 隐私与数据安全声明 | Privacy & Data Security\n\n| 序号 | 说明 |\n|---:|---|\n| 1 | 仅采集与母畜发情/配种行为识别直接相关的图像/视频数据，不采集与发情识别无关的敏感信息 |\n| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |\n| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |\n| 4 | 历史报告仅当前身份可读，不做跨养殖场/跨用户汇总或共享 |\n| 5 | 识别结果仅供参考，正式配种决策与繁殖管理请结合养殖场规程与专业繁殖技术人员意见 |\n\n---\n\n## 📜 历史报告清单输出规范 | Report List Format\n\n当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。\n\n### 📌 固定输出列\n\n| 列名 | 生成规则 |\n|---|---|\n| 报告名称 | 使用 `畜禽发情配种行为识别报告-{记录id}` 形式拼接 |\n| 发情阶段 | 从接口返回数据中提取（非发情 / 发情前期 / 发情盛期 / 发情后期） |\n| 分析时间 | 从接口返回数据中提取 |\n| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |\n\n### 🧾 表格输出示例\n\n| 报告名称 | 发情阶段 | 分析时间 | 点击查看 |\n|----------|----------|----------|----------|\n| 畜禽发情配种行为识别报告-20260703160500001 | 发情盛期 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |\n\n---\n\n## 🧰 使用示例 | Examples\n\n### 🐄 分析本地母牛舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4\n```\n\n### 🐖 分析本地母猪舍连续视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4\n```\n\n### 🌐 分析网络母畜舍视频\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4\n```\n\n### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史发情识别报告\n\n> 自动触发关键词：查看历史发情识别报告、历史报告、发情行为识别清单等。\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --list\n```\n\n### 🪶 输出精简报告\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input cow_estrus.mp4 --detail basic\n```\n\n### 💾 保存结果到文件\n\n```bash\npython -m scripts.smyx_estrus_mating_behavior_detect_analysis --input sow_estrus.mp4 --output result.json\n```\n\nFile v1.0.3:_meta.json\n\n{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-estrus-mating-behavior-detect-analysis\",\n  \"version\": \"1.0.3\",\n  \"publishedAt\": 1783160130801\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_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS` - 畜禽发情/配种行为识别\n\nFile v1.0.3:skills/smyx_analysis/references/api_doc.md\n\n# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |\n\nFile v1.0.3:scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_analysis/scripts/config.yaml\n\n{}\n\nFile v1.0.3:skills/smyx_common/scripts/config-dev.yaml\n\nApiEnum:\n  base-url-open-api: \"http://192.168.1.234:9601/smyx-open-api\"\n  base-url-open-h5: \"http://192.168.1.234:4100\"\n  base-url-health: \"http://192.168.1.234:7070/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config-test.yaml\n\nApiEnum:\n  base-url-open-api: \"https://livemonitortest.lifeemergence.com/smyx-open-api\"\n  base-url-open-h5: \"http://livemonitortest.lifeemergence.com\"\n  base-url-health: \"https://healthtest.lifeemergence.com/jeecg-boot-xzgz\"\n\nConstantEnum:\n  is-debug: true\n\nFile v1.0.3:skills/smyx_common/scripts/config.yaml\n\nApiEnum:\n  api-key: null\n  api-secret-key: null\n  base-url-health: https://lifeemergence.com/jeecg-boot-xzgz\n  base-url-open-api: https://open.lifeemergence.com/smyx-open-api\n  base-url-open-h5: http://livemonitor.lifeemergence.com\n  database-url: null\nConstantEnum:\n  app--id: x1a3s4nwy1s2r4se\n  current--tentant-code: XIAN_ZHAO_GAN_ZHI\n  default--skill-platform-name: ARK_CLAW\n  feishu-app--id: cli_a93d769369badcb1\n  feishu-app--secret: null\n  is-debug: false\nenv: prod\n\nFile v1.0.3:skill-card.md\n\n## Description: <br>\nDetects estrus behavior in female livestock from barn videos or images and returns an estrus recognition result, behavior checklist, stage assessment, optimal mating time window, and report link. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[smyx-sunjinhui](https://clawhub.ai/user/smyx-sunjinhui) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users, developers, and farm operations teams can use this skill to submit livestock barn imagery or video for cloud-based estrus and mating behavior analysis. It is intended to support visual estrus-stage recognition and mating-window timing, while leaving final breeding decisions to farm procedures and qualified personnel. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Barn videos, images, or supplied URLs are sent to a vendor-operated cloud analysis service. <br>\nMitigation: Use the skill only with footage and URLs approved for external processing; avoid sensitive, private, or internal network locations unless the publisher clarifies retention and access controls. <br>\nRisk: The skill can create or reuse persistent local identity state and stores authentication material locally. <br>\nMitigation: Run in an isolated workspace, review or clear the workspace data directory after use, and restrict access to smyx-common-claw.db and smyx-api-key.txt. <br>\nRisk: Historical report lookup can retrieve cloud report history associated with the current identity. <br>\nMitigation: Confirm the active identity before using report-list commands and avoid shared workspaces when report history should remain separated. <br>\nRisk: Estrus recognition and mating-window outputs are advisory and may be affected by video quality, lighting, occlusion, and camera placement. <br>\nMitigation: Use the results as a visual screening aid and validate breeding decisions through farm procedures and qualified reproduction personnel. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/smyx-sunjinhui/skills/smyx-estrus-mating-behavior-detect-analysis) <br>\n- [Skill demo](https://lifeemergence.com/sample.html) <br>\n- [API reference](references/api_doc.md) <br>\n- [Analysis API reference](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 optional Markdown table for historical reports] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [May save output to a caller-provided file path; history lookup returns report names, estrus stage, analysis time, and report links.] <br>\n\n## Skill Version(s): <br>\n1.0.3 (source: server release metadata; artifact 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: Estrus/Mating Behavior Detection | 畜禽发情/配种行为识别 Owner: smyx-sunjinhui Summary: Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。 Tags: latest:1.0.10 Version history: v1.0.10 | 2026-08-","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"python -m scripts.smyx_estrus_mating_behavior_detect_analysis --list"},{"language":"txt","snippet":"requests>=2.28.0"},{"language":"bash","snippet":"python -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4"},{"language":"bash","snippet":"python -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4"},{"language":"bash","snippet":"python -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4"},{"language":"bash","snippet":"python -m scripts.smyx_estrus_mating_behavior_detect_analysis --list"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: \"smyx-estrus-mating-behavior-detect-analysis\"\ndescription: \"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\"\nversion: \"1.0.8\"\nlicense: \"MIT-0\"\n---\n\n# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别\n\n> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。\n>\n> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询\n\n---\n\n## 🧭 技能概览 | Overview\n\n| 模块 | 内容 |\n|---|---|\n| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |\n| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |\n| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |\n| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |\n| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |\n| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_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_estrus_mating_behavior_detect_analysis --list\n```\n\n| 类型 | 要求 |\n|---|---|\n| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_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 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |\n| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |\n| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |\n| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |\n| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |\n\n---\n\n## 🚀 操作步骤 | Workflow\n\n### 🔐 用户身份处理（内部自动完成）\n\n> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7cyxkr2ymf7zwsrybpedg8xx83ywrj\",\n  \"slug\": \"smyx-estrus-mating-behavior-detect-analysis\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1787788831984\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_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS` - 畜禽发情/配种行为识别"},{"path":"skills/smyx_analysis/references/api_doc.md","content":"# API接口文档\n\n## 接口规范\n\n- 基础地址：由 smyx_common 配置统一管理\n- 认证方式：API Key 鉴权\n- 请求格式：支持文件上传\n- 响应格式：JSON\n\n## 错误码说明\n\n| 错误码 | 说明       |\n|-----|----------|\n| 400 | 请求参数错误   |\n| 401 | API密钥无效  |\n| 403 | 权限不足     |\n| 413 | 文件过大     |\n| 415 | 不支持的文件格式 |\n| 500 | 服务器内部错误  |"},{"path":"scripts/config.yaml","content":"{}"}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。 Skill: Estrus/Mating Behavior Detection | 畜禽发情/配种行为识别 Owner: smyx-sunjinhui Summary: Detects estrus behavior in female livestock from continuous barn videos — including mounting acceptance, standing reflex, restlessness, appetite drop and vulva changes — and outputs an estrus recognition result with the optimal mating time window. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。 Tags: latest:1.0.10 Version history: v1.0.10 | 2026-08-","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":825,"uniquenessScore":50,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T07:36:12.659Z","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-11T07:36:12.659Z","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-11T10:52:21.710Z","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"}]}}}