# 任务看板 > 一次只领取第一个依赖满足的 `TODO`。任务标为 `DONE` 前必须有真实验证命令和 `progress.md` 证据。 状态:`TODO` 待开始 · `DOING` 进行中 · `DONE` 已验收 · `BLOCKED` 受阻 ## 已完成的基线 | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-000 | 建立 Harness Coding 文档与旧基线快照 | - | `demo/` 编译通过;模型任务与关键点格式已检查;文档记录真实范围与下一步。 | DONE | ## Phase 1 · Python V1 地基与最高风险 | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-101 | 创建 V1 包、依赖清单、示例配置和忽略规则 | T-000 | `v1/` 可导入;真实 RTSP 凭证被拒绝提交;`pytest` 能运行。 | DONE | | T-102 | 实现可重连的视频源与录像回放适配器 | T-101 | 有效本地录像可按时间戳产帧;无效源进入连接错误状态且不崩溃。 | DONE | | T-103 | 实现 Pose 适配器与模型来源校验 | T-102 | 输出 person box、17 点和置信度;错误模型或哈希不符时给出明确错误。 | DONE | | T-104 | 实现人员跟踪与姿态质量门控 | T-103 | 连续人员维持 ID;低质量、缺失膝踝或空帧不会产生倒地候选。 | DONE | | T-105 | 实现按 ID 的时序摔倒状态机 | T-104 | 正例在配置秒数内确认;坐下、弯腰、短时低姿态回到 NORMAL;事件副作用只触发一次。 | DONE | | T-106 | 装配事件管线与固化事件契约 | T-105 | Pose → 跟踪 → 质量/几何证据 → 领域规则 → 按 ID 状态机可回放运行;缺失/低质量证据会中断确认;全部公开事件参数生效;事件可追溯运行配置版本;录像 EOF 不会重放。 | DONE | ## Phase 2 · V1 演示闭环 | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-201 | 实现 PyQt 顶部双 Tab 的监控与设置界面 | T-106 | 实时监控 Tab 显示视频、骨架、ID、NORMAL/SUSPECT/CONFIRMED 和连接状态;设置 Tab 只编辑非敏感草稿并明确下次启动生效;UI 不直接执行事件计算。 | DONE | | T-202 | 实现本地报警、弹窗、截图和 JSONL 日志 | T-201 | CONFIRMED 产生一次声音、一次弹窗、一张带标注截图和一条事件日志。 | DONE | | T-203 | 接入海康 RTSP 与断流恢复 | T-202 | 现场有效流可预览;断流状态明确、可重连且不报警。 | DONE | | T-204 | 建立正反例录像回归与现场验收记录 | T-203 | 摔倒、行走、坐下、弯腰、捡物和持续倒地都有预期结果;报警延迟记录在 1–3 秒。 | DONE | | T-205 | 固化客户演示脚本与 V1 发布包 | T-204 | 可按文档完成演示脚本,所有证据可复查,适用边界显示给操作员。 | DONE | | T-206 | 结构化摄像头配置、连接测试与设置页预览 | T-201 | 配置支持 host/端口/通道/账号/密码 结构化来源并拼出 RTSP(凭证百分号编码);公开示例保持无凭证、`config_version` 不含凭证;设置页可掩码输入、点击测试连接,连通后抓拍一帧显示在预览区。 | DONE | | T-207 | 抓流低延迟参数进配置与设置页 | T-206 | 配置支持 transport(tcp/udp)/连接超时/低延迟,程序拼 `OPENCV_FFMPEG_CAPTURE_OPTIONS` 并在开流前注入;设置页用下拉/数字/勾选而非原始字符串;启动可不依赖 run 脚本设环境变量。 | DONE | | T-208 | 每帧摔倒判定诊断叠加 | T-201 | 管线暴露每人策略证据;实时画面角落叠加每人 `accepted/horizontal/角度/rapid/candidate/state`(拒绝时显示原因),便于定位真实摔倒未确认卡在哪一步;诊断字符串构建 Qt-free 可测。 | DONE | | T-209 | 放宽俯视场景摔倒判定灵敏度(可配置) | T-208 | 判定灵敏度参数化:`require_rapid_drop`(默认关)、`require_lower_body`(默认关)、`horizontal_angle_threshold_degrees`(默认放宽);默认下持续水平即可进入疑似,仅靠确认窗防误报;参数进 config 与 config_version,逻辑可测。 | DONE | | T-210 | 修复截图标注乱码(cv2 ASCII 文字) | T-202 | 截图标注文字改为纯 ASCII(`cv2.putText` 只支持 ASCII),去掉非 ASCII 分隔符导致的乱码;实时画面标签不变;ASCII 标签逻辑可测。 | DONE | | T-211 | 检测灵敏度参数进设置页 | T-209 | 设置页可编辑 `require_rapid_drop`/`require_lower_body`/`horizontal_angle_threshold_degrees`/`confirm_window_seconds`(下拉/数字/勾选),保存写回未跟踪 `config.local.json`、下次启动生效;写回逻辑可测。 | DONE | | T-212 | 实时流只处理最新帧降延迟 | T-203 | STREAM 后台读帧只保留最新帧、丢弃积压,实时延迟不随推理速度增长;REPLAY 逐帧不丢;最新帧保留逻辑可测。 | DONE | | T-213 | 截图中文标注(Pillow) | T-210 | CONFIRMED 截图可用中文标注(如“确认摔倒 P-0001”);缺 Pillow/字体时回退 ASCII 不崩溃;标签与回退逻辑可测。 | DONE | ## Phase 3 · Go V2 迁移门槛与实现 | ID | 任务 | 依赖 | 验收要点 | 状态 | | --- | --- | --- | --- | --- | | T-301 | 锁定 V1 模型并导出 ONNX 一致性工件 | T-205 | 记录 `.pt` 与 ONNX 哈希、输入尺寸、导出命令;同一帧关键点与 Python 在约定容差内。 | DONE | | T-302 | 完成 Go 推理与视频/UI 技术 Spike | T-301 | Windows 上可读取录像和 ONNX Pose;选定运行时与 UI 方案并记录取舍。 | DONE | | T-303 | 实现 Go 的事件引擎与 V1 回归对比 | T-302 | 同一录像的确认事件、无报警案例和延迟满足 V1 基线。 | DONE | | T-304 | 完成 Go 实时演示、报警和打包 | T-303 | 实时 RTSP、红色画面、声音、弹窗和截图可运行;新环境按文档启动。 | DOING | | T-305 | V2 UI 框架评估:Gio Spike(应对 Walk TTM_ADDTOOL 启动故障) | T-302 | 以 Gio 搭 `cmd/gio-spike`:窗口可显示并关闭、无 TTM_ADDTOOL、能贴一张 `*image.RGBA`(V2 render 输出)并有双 Tab/按钮骨架;据此决定 V2 UI 是修 Walk manifest 还是迁移 Gio。 | DONE | | T-306 | V2 UI 从 Walk 迁移到 Gio | T-305 | 用 Gio 重写 `internal/ui`,保持 `NewWindow/Run/Present/PresentAlert/ReportIssue` 接口;后台更新经 `Invalidate` 上屏、UI 线程只渲染;双 Tab、贴 render 的 RGBA、确认弹窗(自绘遮罩)与声音(Win32 syscall);`cmd/silver-pose` 起窗无 TTM_ADDTOOL。 | DONE | | T-307 | V2 监控界面优化(紧凑状态 + 截图画廊) | T-306 | 运行/检测状态压到一行、开始停止按钮缩小同行、红色说明并入事件行;右侧 3×3 倒序展示最近确认截图;双击缩略图弹全图。缩略图缓存与解码不在 UI 线程逐帧重做。 | DONE | | T-308 | V2 界面与设置增强 | T-307 | ①启动窗口=屏幕分辨率 80% ②画廊改 2×3 并缩小右栏 ③双击弹窗可 Esc 关闭 ④开始/停止按钮按运行状态灰显禁用(失败自动复位)⑤设置页可编辑:结构化摄像头(host/端口/通道/账号/密码,凭证百分号编码,仅本地配置)与常用事件/灵敏度参数,保存下次启动生效;组件加白色卡片边框。护栏:公开示例无凭证、凭证不进 config_version/日志/事件。 | DOING | | T-309 | V2 交互/持久化增强 | T-308 | ①窗口不置顶/不强制抢前台 ②保存按钮改名(摄像头参数/常用检测参数)③新增"测试连接摄像头"按钮,用当前表单参数试连并弹窗结果(脱敏)④⑤摔倒确认弹窗 5 秒自动关闭 ⑥SQLite(mattn,cgo)记录摔倒:camera host/端口/通道、event/result/time 等字段,不存密码,DB 本地未跟踪。 | DOING | ## Backlog - V3 多摄像头管理、远程通知和事件中心。 - 海康俯视场景数据评测后决定 Pose 微调或时序模型训练。 - GPU / TensorRT 等硬件专用优化,仅在 V2 CPU 结果不能满足验收时评估。