4.3 KiB
4.3 KiB
任务路线图
本文只维护阶段、里程碑和建议任务,不维护实时状态。实时状态以 Gitea Issue 为准,规格与证据在
docs/tasks/T-<编号>.md。
M0:兼容性验证与需求定稿
出口:至少一台真实样机完成首期指定型号/固件的 ONVIF/RTSP 准入,指定采购基线归档;架构影响型开放问题闭环;M0 临时代码不进入生产基线。该出口不代表多品牌或批次兼容。
- T-001:完成指定摄像头型号准入验证。
- T-002:关闭 Q1/Q2/Q4–Q12 架构影响型需求问题。
M1:Sense 接入骨架 + MediaMTX
出口:1 路 T-001 准入实机 + 至少 4 路独立合成 RTSP 源完成五路自动建 path、探活、断线重建;使用 MediaMTX 生产数据面,完整 MiBeeNvr 不替代生产基线。该出口是实验室软件闭环,不代表真实五机或生产 SLA。
- T-003:建立无需真实摄像头即可验证的 Sense Go 脚手架、设备台账、ONVIF port/fake、MediaMTX 生成客户端与薄封装;完成不代表 M0/M1 出口。
- T-003 只冻结
/healthz、/readyz运维探针,设备管理公共 API 留给后续契约任务;真实 ONVIF adapter 不用 fake 冒充。 - T-006:在 T-001 指定准入基线与 T-003 骨架之上,以 1 路海康实机 + 至少 4 路可独立启停的合成 RTSP 源完成五路自动建 path、探活、恢复和 MediaMTX 实验室集成验收。
- T-001 与 T-003 已完成;T-006 可领取实施,只需准备至少 4 条可独立启停的合成源,不要求当前购买更多摄像头。
M2:对账、多租户投影与 16 路全流程
出口:10 个站点试点,至少一个站点完成 16 路开通/停用;unconverged = 0 稳定。
- T-008:冻结 Sense Control API v1 与 Bell
site_quota_v1只读投影契约;只建立接口和测试门禁,不等于 handler、Bell 表或 migration 已实现。 - T-009:使用 PostgreSQL 17.10 建立
sense/bellschema、Bell 配额源表/只读视图、最小权限和 Sense PostgreSQL repository;SQLite 保留为 M1 本地路径。 - T-010:建立 Bell Area/
capture_policy只读投影、Sense 成像准入与设备操作审计 Outbox 原子写入;relay 传输协议留给后续任务。 - T-011:按 T-008 契约实现认证 tenant 上下文、7 个设备/operation handler、PostgreSQL 幂等收据、ETag/HMAC cursor、最多 128 项批量操作和停用精确 path 收敛;公共控制 API 默认关闭且只在 PostgreSQL 路径启用。
- 对账器幂等/退避/并发/10% 安全闸。
- WireGuard 边缘隧道与断网恢复。
- 16 路批量开通、停用和容量基准。
M3:首个 16 路端到端 MVP
出口:默认 16 路稳定;首个场景三类规则;事件、预警、ack/升级和误报反馈闭环可用。
- Brain 模型接口、判定内核和 v0.1 mapper。
- Bell 事件校验、不可变存储和 ULID。
- 规则引擎、场景包加载、预警状态机与双路径投递。
- 最小 Web/App 处置流程、RBAC 与审计。
- 现场误报基线和反馈队列。
- T-007:客户试点、借用或租赁设备条件具备后完成至少 5 条独立真实上游的现场验收;不阻塞本地开发,但阻塞生产试点启用和真实多路 SLA。
M4:64 路分片与完整管理系统
出口:64 路稳定,单分片故障不扩散;看板、筛选、批量操作与处置流可用。
- MediaMTX 与推理 worker 横向分片。
- 管理端按 128 路规模验证分页、虚拟列表与批量操作。
- 灰度、回滚、指标与容量报告。
M5:128 路与多场景架构验收
出口:128 路横向扩展不改业务代码;第二/第三场景通过纯配置交付;一个授权租户完成人脸旁路验收。
- 128 路带宽、解码、推理、存储分维度验收。
- 第二/第三场景包纯配置交付。
- 触发式推理与授权人脸子系统。
M6:异构传感器与两级判定
出口:雷达/门磁等触发源接入,误报显著下降,视频常态采集降低。
Backlog
- GB/T 28181 存量平台接入(待 Q4 决策)。
- 信创硬件与推理框架适配(待 Q5 决策)。
- 高空抛物专用方案独立立项/外采。
- 工厂园区 S4 场景包(M4 后评估)。
- 超过 128 路的多逻辑站点或更高容量架构。
新增建议任务先落一任务一文件并创建唯一 Gitea Issue;不要在本文件跟踪 TODO/DOING/DONE。