--- id: T-006 title: 完成 Sense 五路真实摄像头集成验收 phase: 1 deps: [T-001, T-003] status: TODO created: 2026-08-04 issue: 16 context_ref: null claim_branch: null work_branch: null write_paths: - docs/tasks/T-006.md - Sense/ - docs/research/sense-5-stream-integration.md - docs/current-state.md --- ## 问题 / 背景 T-003 只用 fake ONVIF、MediaMTX 假服务和合成 RTSP 建立无实机骨架,不能证明厂商设备兼容、真实媒体路径稳定或断线后能自动收敛。M1 出口仍要求使用 T-001 采购白名单中的真实摄像头完成 5 路自动建 path、探活和断线恢复,并留下可重复、脱敏的证据。 ## 关联需求与交互(如适用) - 用户故事:US-001、US-002、US-007。 - 交互清单:无正式 UI;使用 Sense API、日志、指标和版本化实验记录验收。 - 前置产物:T-001 的 `docs/research/camera-compatibility.md` 与 T-003 的 Sense/MediaMTX 骨架、版本和启动命令。 ## 方案 1. 从 T-001 白名单选择设备,在隔离实验室建立至少 5 条彼此独立的真实视频通道;记录型号、固件、网络拓扑和主/子码流,但不记录密码或含凭据的完整 URI。 2. 通过 Sense 设备台账写入期望态,验证 ONVIF profile/stream URI 映射、MediaMTX path 自动创建和健康状态,不允许人工修改 MediaMTX 配置冒充自动化成功。 3. 验证三类恢复:摄像头/网络短时离线、Sense 进程重启、MediaMTX 进程重启。每类都记录配置的探活/退避期限、实际恢复时间、对账结果和失败证据。 4. 验证 5 路并行运行期间 path、reader/upstream、探活和数据库期望态一致;连续观察窗口至少 30 分钟,只作为 M1 集成 smoke,不外推 16/64/128 路容量或生产 SLA。 5. 将可重复步骤、版本、命令、脱敏结果、已知厂商差异和结论写入 `docs/research/sense-5-stream-integration.md`;失败通道保留记录,不通过删除样本美化结果。 ## 不可变约束 - 阈值 / 数值边界:至少 5 条同时在线的独立真实视频通道,连续观察至少 30 分钟;默认 16、最大 128 的配额语义不得改变。本任务不验收 16/64/128 路容量。 - 判定式 / 状态转换:数据库仍是期望态真相源;三类恢复均须在 T-003 冻结的探活/退避配置内自动重新收敛,`unconverged = 0`,不得靠人工改配置或重建数据库通过。 - 安全边界:只使用自购设备和隔离网络;证据中不得出现密码、完整 RTSP/ONVIF 凭据、可复用 token、真实客户地址或人物画面。 - 既有契约:MediaMTX 保持独立二进制,MiBeeNvr 不进入生产依赖;不得为通过某一厂商测试把 5、16 或厂商名称写死在业务逻辑中。 ## 验收要点 - 任务相关验证:执行 T-003 冻结的全部 Sense 单测、vet、migration/契约检查;完成 5 路自动 path、健康、30 分钟观察和三类恢复矩阵;运行三条 harness 治理命令。 - 完整门禁:若为实机差异修改 ONVIF、MediaMTX、store、reconcile、probe 或公共 API,必须重跑全部 Sense 测试和全部 5 路实机矩阵。 - 人工 / 设备验收:必需。实施/硬件负责人核对 5 路设备身份、固件、网络条件、原始时间线与脱敏证据;任何一条未通过则任务不得标记 `DONE`。 - 构建产物:记录实际 Sense 与 MediaMTX 二进制版本/哈希、配置模板、启动命令和证据文档;不提交摄像头配置秘密或媒体样本。 ## 边界(不改什么) 不修改 Brain、Bell、规则/告警业务、正式管理 UI,不做 16/64/128 路容量验收,不重新裁决 T-001 采购白名单,不把失败设备从证据中删除。 ## 协作约束 - 责任 Agent:由 dispatcher 分配。 - 唯一写入者:同责任 Agent。 - 委派:默认不启用;现场人员可执行设备操作,但任务所有者必须核验并版本化脱敏证据。 - Gitea:主 Issue 为 #16;T-001、T-003 均为 `DONE` 前不得添加 `status/todo` 或领取。 任何新增写路径先由 dispatcher 与活跃任务做前缀冲突检查。 ## 执行记录 ### 2026-08-04 任务定义 - 项目负责人批准将 T-003 拆成无实机软件骨架,并由本任务保留真实摄像头和 5 路 M1 集成门禁。 - 当前 T-001 暂缓、T-003 尚未领取,因此 T-006 仅建立规格,不进入可领取队列。