---
name: "smyx-feed-intake-estimation-analysis"
description: "Estimates daily feed intake per livestock individual from continuous feeder videos by tracking the change of feed remaining in the trough, and outputs intake trend with anomaly alerts. | 通过食槽视频估算每日采食量变化，异常时预警。"
version: "1.0.16"
license: "MIT-0"
---

# 🥣 Livestock Feed Intake Estimation | 畜禽采食量估算

> 通过食槽视频估算每日采食量变化，异常时预警。
>
> **精准饲喂计量中枢** · 食槽区域连续视频智能分析 · 剩余料量变化估算 · 每日采食量趋势 · 异常预警 · 历史报告云端查询

---

## 🧭 技能概览 | Overview

| 模块 | 内容 |
|---|---|
| 🏷️ 技能名称 | **畜禽采食量估算** |
| 🎯 核心目标 | 基于食槽区域固定摄像头的连续视频，通过识别食槽内饲料剩余量的变化，估算畜禽个体或群体的每日采食量，输出采食量趋势及异常提醒 |
| 🖼️ 输入类型 | 图片、视频、本地文件、网络 URL |
| 📝 输出能力 | 结构化分析报告、每日采食量估算、采食量趋势曲线、异常提醒等级、报告链接 |
| 🏢 适用场景 | 猪/牛等畜禽的精准饲喂管理与饲料成本控制，减少饲料浪费，识别采食量异常个体 |
| 🧩 场景码 | `SMYX_FEED_INTAKE_ESTIMATION_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_feed_intake_estimation_analysis --list
```

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

---

## 📦 前置准备 | Requirements

### 依赖说明

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

```txt
requests>=2.28.0
```

---

## 📷 采集要求 | Capture Requirements

| 序号 | 说明 |
|---:|---|
| 1 | 固定摄像头正对食槽（俯视或斜俯视），拍摄角度稳定，避免大幅位移或频繁调整 |
| 2 | 画面中食槽全景可见，槽底与料面之间高度差清晰可辨，便于估算剩余量 |
| 3 | 光照条件稳定，白天充足自然光或稳定人工光源，避免强逆光和大面积过曝/欠曝 |
| 4 | 视频建议 30 秒~10 分钟连续拍摄，覆盖典型饲喂时段，帧率不低于 10fps |
| 5 | 支持格式：jpg/png/jpeg 图片，及 mp4/avi/mov 视频；单文件不超过 10MB |
| 6 | 尽量减少人员补料、清扫等大面积遮挡时段，或将其从关键分析片段中剔除 |
| 7 | 建议保持食槽形状/规格与历史采集一致，以获得更稳定的采食量趋势对比 |

---

## 🚀 操作步骤 | Workflow

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

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

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

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

#### 🔒 关键约束

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

---

## 🧪 标准流程 | Standard Flow

| 步骤 | 阶段 | 执行动作 |
|---:|---|---|
| 1 | 📥 准备食槽视频输入 | 提供本地文件路径或网络 URL；确保画面稳定、食槽全景可见 |
| 2 | 🔐 系统自动完成身份关联 | 无需用户输入任何身份参数；不在回复中展示内部身份值 |
| 3 | ⚙️ 执行采食量估算 | 调用 `-m scripts.smyx_feed_intake_estimation_analysis` 处理输入（**必须在技能根目录下运行脚本**） |
| 4 | 📊 查看分析结果 | 接收结构化分析报告，查看每日采食量、趋势曲线、异常提醒与报告链接 |

### ⚙️ 脚本参数说明

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

---

## 🗂️ 资源索引 | Resource Index

| 资源类型 | 路径 | 用途 | 何时读取 |
|---|---|---|---|
| 🐍 必要脚本 | [`scripts/smyx_feed_intake_estimation_analysis.py`](scripts/smyx_feed_intake_estimation_analysis.py) | 调用 API 进行采食量估算或查询历史报告 | 执行分析或查询时使用 |
| ⚙️ 配置文件 | [`scripts/config.py`](scripts/config.py) | 场景码 `SMYX_FEED_INTAKE_ESTIMATION_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_feed_intake_estimation_analysis --input /path/to/pig_feeder.mp4
```

### 🐄 分析本地牛舍食槽视频

```bash
python -m scripts.smyx_feed_intake_estimation_analysis --input /path/to/cow_feeder.mp4
```

### 🌐 分析网络食槽视频

```bash
python -m scripts.smyx_feed_intake_estimation_analysis --url https://example.com/feeder_trough.mp4
```

### 📚 显示历史分析报告 / 显示分析报告清单列表 / 显示历史采食量报告

> 自动触发关键词：查看历史采食量报告、历史报告、采食量估算清单等。

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

### 🪶 输出精简报告

```bash
python -m scripts.smyx_feed_intake_estimation_analysis --input pig_feeder.mp4 --detail basic
```

### 💾 保存结果到文件

```bash
python -m scripts.smyx_feed_intake_estimation_analysis --input cow_feeder.mp4 --output result.json
```
