---
name: "smyx-estrus-mating-behavior-detect-analysis"
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. | 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。"
version: "1.0.8"
license: "MIT-0"
---

# 💞 Livestock Estrus & Mating Behavior Detection | 畜禽发情/配种行为识别

> 识别母畜发情期行为特征（爬跨、静立反射等），优化配种时机。
>
> **精准繁殖识别中枢** · 母畜舍连续视频智能分析 · 发情行为特征识别 · 最佳配种时间窗口 · 历史报告云端查询

---

## 🧭 技能概览 | Overview

| 模块 | 内容 |
|---|---|
| 🏷️ 技能名称 | **畜禽发情/配种行为识别** |
| 🎯 核心目标 | 基于母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示 |
| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |
| 📝 输出能力 | 结构化分析报告、发情行为清单、发情阶段判定、最佳配种时间窗口、报告链接 |
| 🏢 适用场景 | 牛/猪等母畜的繁殖效率提升，减少空怀天数，缩短产仔间隔 |
| 🧩 场景码 | `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS` |

## 🎬 技能演示 | Skill Demo

[▶️ 点击查看技能使用介绍](https://lifeemergence.com/sample.html)

## 🤖 AI 角色 | AI Role

| 角色要点 | 说明 |
|---|---|
| 说明 1 | **你是一个专业的畜禽繁殖管理 AI。你的任务是分析母畜舍固定摄像头的连续视频，检测母畜发情期典型行为特征（爬跨接受、静立反射、躁动不安、食欲下降、外阴变化等），输出发情期识别结果及最佳配种时间窗口提示。不要提供配种操作或繁殖管理建议，仅基于视觉行为观察输出发情期识别结果。** |

---

## 🎯 任务目标 | Goals

### 1. 🧩 技能用途

通过母畜舍固定摄像头的连续视频，识别母畜典型发情行为特征，输出结构化的发情期识别结果与最佳配种时间窗口提示，为牛、猪等畜种的精准发情鉴定与繁殖效率提升提供客观依据。

### 2. 🛠️ 能力范围

| 序号 | 具体能力 |
|---:|---|
| 1 | 母畜个体检测、定位与轨迹跟踪 |
| 2 | 爬跨行为识别（爬跨他畜 / 被爬跨接受） |
| 3 | 静立反射识别（被爬跨时保持静立不动） |
| 4 | 躁动不安 / 频繁走动 / 相互追逐行为识别 |
| 5 | 食欲下降 / 采食减少行为识别 |
| 6 | 外阴视觉变化辅助判读（红肿、黏液等，视画面质量而定） |
| 7 | 发情阶段判定（发情前期 / 发情盛期 / 发情后期 / 非发情） |
| 8 | 最佳配种时间窗口提示（起始/结束时间窗） |

### 3. ⚡ 触发条件

| 触发类型 | 触发规则 |
|---|---|
| ✅ 默认触发 | 当用户提供母畜舍固定摄像头视频 URL 或文件需要发情行为识别时，默认触发本技能进行发情/配种行为识别 |
| 🔎 明确分析意图 | 当用户明确提及发情鉴定、母畜发情、爬跨行为、静立反射、配种时机、繁殖管理、空怀天数、产仔间隔等关键词，并且上传了图片或视频文件 |
| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史发情识别报告、历史配种行为报告、发情行为识别清单、查询母畜发情记录、显示所有发情/配种行为报告 |

### 4. 🤖 自动行为

| 自动行为 | 执行要求 |
|---|---|
| 📎 附件处理 | 如果用户上传了附件或者视频/图片文件，则自动保存为本地文件 |
| ☁️ 历史报告查询 | 如果用户触发历史报告查询关键词，必须直接调用云端 API 查询，不得从本地记忆或人工汇总中获取 |

#### ⚠️ 强制数据获取规则（次高优先级）

> **橙色强约束：** 历史报告清单只允许从云端接口读取，不允许从本地记录、长期记忆或人工汇总中提取。

必须执行：

```bash
python -m scripts.smyx_estrus_mating_behavior_detect_analysis --list
```

| 类型 | 要求 |
|---|---|
| ✅ 必须 | 使用 `python -m scripts.smyx_estrus_mating_behavior_detect_analysis --list` 调用 API 查询云端的历史报告数据 |
| 🚫 严格禁止 | 从本地 `memory` 目录读取历史会话信息 |
| 🚫 严格禁止 | 手动汇总本地记录中的报告 |
| 🚫 严格禁止 | 从长期记忆中提取报告 |
| ✅ 输出格式 | 必须统一从云端接口获取最新完整数据，然后以 Markdown 表格格式输出结果 |

---

## 📦 前置准备 | Requirements

### 依赖说明

`scripts` 脚本所需的依赖包及版本：

```txt
requests>=2.28.0
```

---

## 📷 采集要求 | Capture Requirements

| 序号 | 说明 |
|---:|---|
| 1 | 固定摄像头俯视/斜俯视覆盖母畜舍主要活动区，画面稳定，避免频繁抖动或视角切换 |
| 2 | 视频建议 30 秒~15 分钟连续拍摄，帧率不低于 15fps，覆盖母畜自由活动时段 |
| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过暗/过曝 |
| 4 | 尽量减少人员操作、清扫作业等剧烈干扰，以保留自然发情行为 |
| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |
| 6 | 若关注外阴视觉变化，建议辅助采集尾部/后躯清晰画面，减少遮挡 |

---

## 🚀 操作步骤 | Workflow

### 🔐 用户身份处理（内部自动完成）

> **绿色安全原则：** 用户身份参数由系统内部自动处理，**不得向用户展示、询问或要求输入任何身份标识**。

执行本技能分析或历史报告查询时，脚本会自动完成身份初始化：

| 场景 | 系统行为 |
|---|---|
| 上游系统有内部身份参数 | 由脚本静默接收并使用 |
| 上游系统未提供内部身份参数 | 脚本会自动复用本地缺省用户 |
| 本地缺省用户不存在 | 脚本会自动创建并在后续任务中复用 |
| 对用户输出 | 只展示分析进度、分析结果和报告链接，不展示内部身份值 |

#### 🔒 关键约束

| 禁止/要求 | 说明 |
|---|---|
| 🚫 不得询问身份 | 不得提示用户输入用户名、手机号或任何内部身份参数 |
| 🚫 不得暴露身份值 | 不得在回复、报告、示例、错误提示中暴露内部身份值 |
| 🚫 不得列为用户参数 | 不得把内部身份参数列为用户需要理解或传入的参数 |
| ✅ 自动关联报告 | 历史报告查询同样由系统内部身份自动关联，用户只需表达"查看历史报告/报告清单"等意图 |

---

## 🧪 标准流程 | Standard Flow

| 步骤 | 阶段 | 执行动作 |
|---:|---|---|
| 1 | 📥 准备母畜舍视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、覆盖母畜活动区 |
| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |
| 3 | ⚙️ 执行发情/配种行为识别 | 调用 `-m scripts.smyx_estrus_mating_behavior_detect_analysis` 处理输入（**必须在技能根目录下运行脚本**） |
| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看发情行为清单、发情阶段、最佳配种时间窗口与报告链接 |

### ⚙️ 脚本参数说明

| 参数 | 含义 | 备注 |
|---|---|---|
| `--input` | 本地母畜舍图像/视频文件路径 | 适用于本地文件分析 |
| `--url` | 网络母畜舍图像/视频 URL 地址 | API 服务自动下载 |
| `--pet-type` | 类别标识（畜禽场景保持 other） | 默认 `other`，按需填写 |
| `--list` | 显示历史分析报告清单 | 可以输入起始日期参数过滤数据范围 |
| `--api-url` | API 服务地址 | 可选，使用默认值 |
| `--detail` | 输出详细程度 | `basic` / `standard` / `json`，默认 `json` |
| `--output` | 结果输出文件路径 | 可选 |

---

## 🗂️ 资源索引 | Resource Index

| 资源类型 | 路径 | 用途 | 何时读取 |
|---|---|---|---|
| 🐍 必要脚本 | [`scripts/smyx_estrus_mating_behavior_detect_analysis.py`](scripts/smyx_estrus_mating_behavior_detect_analysis.py) | 调用 API 进行发情/配种行为识别或查询历史报告 | 执行分析或查询时使用 |
| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_ESTRUS_MATING_BEHAVIOR_DETECT_ANALYSIS`、默认参数配置 | 需要确认默认配置时读取 |
| 📘 领域参考 | [`references/api_doc.md`](references/api_doc.md) | 了解 API 接口规范、字段说明和错误码 | 仅在需要了解接口规范或错误码时读取 |

---

## ⚠️ 注意事项 | Notes

| 分类 | 注意事项 |
|---|---|
| 📚 文档读取 | 仅在需要时读取参考文档，保持上下文简洁 |
| 📁 格式支持 | 图片支持 `jpg` / `png` / `jpeg`；视频支持 `mp4` / `avi` / `mov`；单文件最大 `10MB` |
| 🧑‍⚖️ 结果性质 | 识别结果仅供发情/配种时机参考，本技能不提供配种操作或繁殖管理建议 |
| 🚫 脚本限制 | 禁止临时生成脚本，只能使用技能本身的脚本 |
| 🌐 网络地址 | 传入的网络地址参数无需本地下载，默认为公网地址，API 服务会自动下载 |
| 📜 报告输出 | 显示历史分析报告清单时，从接口返回 JSON 数据中提取字段作为超链接地址，并自动转化为 Markdown 表格输出 |

---

## 🔒 隐私与数据安全声明 | Privacy & Data Security

| 序号 | 说明 |
|---:|---|
| 1 | 仅采集与母畜发情/配种行为识别直接相关的图像/视频数据，不采集与发情识别无关的敏感信息 |
| 2 | 内部身份参数由系统自动处理，不在任何输出、日志或报告中暴露 |
| 3 | 分析请求通过服务端 API 完成，网络传输遵循平台既有安全策略 |
| 4 | 历史报告仅当前身份可读，不做跨养殖场/跨用户汇总或共享 |
| 5 | 识别结果仅供参考，正式配种决策与繁殖管理请结合养殖场规程与专业繁殖技术人员意见 |

---

## 📜 历史报告清单输出规范 | Report List Format

当显示历史分析报告清单的时候，从接口返回 JSON 数据中提取字段作为超链接地址，且自动转化为如下 Markdown 表格格式输出。

### 📌 固定输出列

| 列名 | 生成规则 |
|---|---|
| 报告名称 | 使用 `畜禽发情配种行为识别报告-{记录id}` 形式拼接 |
| 发情阶段 | 从接口返回数据中提取（非发情 / 发情前期 / 发情盛期 / 发情后期） |
| 分析时间 | 从接口返回数据中提取 |
| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |

### 🧾 表格输出示例

| 报告名称 | 发情阶段 | 分析时间 | 点击查看 |
|----------|----------|----------|----------|
| 畜禽发情配种行为识别报告-20260703160500001 | 发情盛期 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |

---

## 🧰 使用示例 | Examples

### 🐄 分析本地母牛舍连续视频

```bash
python -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/cow_estrus.mp4
```

### 🐖 分析本地母猪舍连续视频

```bash
python -m scripts.smyx_estrus_mating_behavior_detect_analysis --input /path/to/sow_estrus.mp4
```

### 🌐 分析网络母畜舍视频

```bash
python -m scripts.smyx_estrus_mating_behavior_detect_analysis --url https://example.com/estrus_barn.mp4
```

### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史发情识别报告

> 自动触发关键词：查看历史发情识别报告、历史报告、发情行为识别清单等。

```bash
python -m scripts.smyx_estrus_mating_behavior_detect_analysis --list
```

### 🪶 输出精简报告

```bash
python -m scripts.smyx_estrus_mating_behavior_detect_analysis --input cow_estrus.mp4 --detail basic
```

### 💾 保存结果到文件

```bash
python -m scripts.smyx_estrus_mating_behavior_detect_analysis --input sow_estrus.mp4 --output result.json
```
