---
name: "smyx-livestock-individual-analysis"
description: "Identifies individual livestock (pigs, cattle, sheep) by facial or body-pattern features and outputs a stable individual ID with confidence for precision farm management and tracking. | 通过面部/体纹识别畜禽个体，实现精准管理追踪。"
version: "1.0.12"
license: "MIT-0"
---

# 🐄 Livestock Individual Identification & Tracking | 畜禽个体识别与追踪

> 通过面部/体纹识别畜禽个体，实现精准管理追踪。
>
> **精准养殖识别中枢** · 面部/体纹智能比对 · 个体身份识别 · 追踪管理 · 历史报告云端查询

---

## 🧭 技能概览 | Overview

| 模块 | 内容 |
|---|---|
| 🏷️ 技能名称 | **畜禽个体识别与追踪** |
| 🎯 核心目标 | 基于畜禽面部/体表图像或视频，通过个体特征比对识别特定个体的身份，输出个体 ID 及置信度，辅助猪、牛、羊等畜种的精准养殖与全流程追踪 |
| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |
| 📝 输出能力 | 结构化分析报告、个体 ID、置信度、匹配特征区域、报告链接 |
| 🏢 适用场景 | 猪/牛/羊等畜禽的个体健康追踪、生产记录、精准饲喂、种畜管理等场景中的身份识别环节 |
| 🧩 场景码 | `SMYX_LIVESTOCK_INDIVIDUAL_ANALYSIS` |

## 🎬 技能演示 | Skill Demo

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

## 🤖 AI 角色 | AI Role

| 角色要点 | 说明 |
|---|---|
| 说明 1 | **你是一个专业的畜禽个体识别 AI。你的任务是分析畜禽面部或体表图像，通过个体特征比对识别特定个体的身份，输出个体 ID 及置信度。不要提供管理建议或生产建议，仅基于视觉特征输出个体身份识别结果。** |

---

## 🎯 任务目标 | Goals

### 1. 🧩 技能用途

通过畜禽面部/体表图像或视频进行个体身份识别，基于视觉特征输出稳定的个体 ID 与置信度，为精准饲喂、健康追踪、生产记录、种畜管理等提供最基础的身份关联依据。

### 2. 🛠️ 能力范围

| 序号 | 具体能力 |
|---:|---|
| 1 | 畜禽个体检测与定位（面部/体表区域） |
| 2 | 常见畜种识别（猪 / 牛 / 羊 等） |
| 3 | 面部特征比对（口鼻、眼睛、耳形、面部轮廓） |
| 4 | 体纹/花斑特征比对（花斑、条纹、色块） |
| 5 | 耳标/号牌等辅助视觉特征提取 |
| 6 | 个体 ID 匹配与置信度输出 |
| 7 | 多个体同框识别与批量身份关联 |

### 3. ⚡ 触发条件

| 触发类型 | 触发规则 |
|---|---|
| ✅ 默认触发 | 当用户提供畜禽面部/体表图像或视频 URL 或文件需要个体识别时，默认触发本技能进行个体识别与追踪 |
| 🔎 明确分析意图 | 当用户明确提及畜禽个体识别、猪脸识别、牛脸识别、羊脸识别、体纹识别、个体追踪、个体档案、种畜识别等关键词，并且上传了图片或视频文件 |
| 📚 历史报告查询 | 当用户提及以下关键词时，**自动触发历史报告查询功能**：查看历史个体识别报告、历史畜禽识别记录、个体识别报告清单、查询畜禽追踪记录、显示所有个体识别报告 |

### 4. 🤖 自动行为

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

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

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

必须执行：

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

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

---

## 📦 前置准备 | Requirements

### 依赖说明

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

```txt
requests>=2.28.0
```

---

## 📷 采集要求 | Capture Requirements

| 序号 | 说明 |
|---:|---|
| 1 | 优先正面/近正面拍摄畜禽面部，能清晰看到口鼻、眼睛、耳部及面部轮廓 |
| 2 | 拍摄距离建议 30cm～150cm，画面中面部或目标体表区域占比不低于 1/4 |
| 3 | 光照充足、均匀，避免强逆光、镜头眩光和大面积阴影覆盖面部/体表 |
| 4 | 尽量保证目标个体处于相对静止或缓慢移动状态，减少大幅晃动导致的模糊 |
| 5 | 支持单张图或短视频（≤10MB），视频建议 5~15 秒稳定拍摄 |
| 6 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |
| 7 | 若通过体纹识别（如奶牛花斑、猪身花斑），应尽量正侧面拍摄，减少遮挡 |

---

## 🚀 操作步骤 | Workflow

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

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

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

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

#### 🔒 关键约束

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

---

## 🧪 标准流程 | Standard Flow

| 步骤 | 阶段 | 执行动作 |
|---:|---|---|
| 1 | 📥 准备畜禽图像/视频输入 | 提供本地文件路径或网络 URL；确保目标个体面部/体表清晰、符合采集要求 |
| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |
| 3 | ⚙️ 执行畜禽个体识别 | 调用 `-m scripts.smyx_livestock_individual_analysis` 处理输入（**必须在技能根目录下运行脚本**） |
| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看个体 ID、置信度、匹配特征区域与报告链接 |

### ⚙️ 脚本参数说明

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

---

## 🗂️ 资源索引 | Resource Index

| 资源类型 | 路径 | 用途 | 何时读取 |
|---|---|---|---|
| 🐍 必要脚本 | [`scripts/smyx_livestock_individual_analysis.py`](scripts/smyx_livestock_individual_analysis.py) | 调用 API 进行畜禽个体识别或查询历史报告 | 执行分析或查询时使用 |
| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_LIVESTOCK_INDIVIDUAL_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}` 形式拼接 |
| 识别个体 ID | 从接口返回数据中提取（识别到的个体 ID，未识别可显示 `未匹配`） |
| 分析时间 | 从接口返回数据中提取 |
| 点击查看 | 使用 `[🔗 查看报告]()` 格式的超链接 |

### 🧾 表格输出示例

| 报告名称 | 识别个体 ID | 分析时间 | 点击查看 |
|----------|-------------|----------|----------|
| 畜禽个体识别报告-20260703160500001 | COW-000123 | 2026-07-03 16:05:00 | [🔗 查看报告](https://example.com/report?id=xxx) |

---

## 🧰 使用示例 | Examples

### 🐷 分析本地生猪面部图像

```bash
python -m scripts.smyx_livestock_individual_analysis --input /path/to/pig_face.jpg
```

### 🐄 分析本地奶牛体纹图像

```bash
python -m scripts.smyx_livestock_individual_analysis --input /path/to/cow_body.jpg
```

### 🌐 分析网络畜禽图像/视频

```bash
python -m scripts.smyx_livestock_individual_analysis --url https://example.com/sheep_face.mp4
```

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

> 自动触发关键词：查看历史个体识别报告、历史报告、畜禽识别清单等。

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

### 🪶 输出精简报告

```bash
python -m scripts.smyx_livestock_individual_analysis --input pig_face.jpg --detail basic
```

### 💾 保存结果到文件

```bash
python -m scripts.smyx_livestock_individual_analysis --input cow_body.jpg --output result.json
```
