状态:v0.1
所属子项目:02-P-NBL
Round:Round 1
日期:2026-06-02
输入文档:
Round 1 已完成:
当前状态:
可进入 QA 预检;尚不能直接交付用户验收。
| ID | 事项 | 状态 | 负责人 | 说明 |
|---|---|---|---|---|
| P-01 | 确认 Round 1 产品边界 | 已完成 | 产品 | 不接新模型,不做新 UI |
| P-02 | 确认老用户兼容底线 | 已完成 | 产品 | 旧模型目录必须可用 |
| P-03 | 确认离线承诺底线 | 已完成 | 产品 | 已有模型时识别不得联网 |
| P-04 | 确认 QA 发现 P0/P1 时阻断交付 | 待确认 | 产品/QA | 进入 QA 后执行 |
| P-05 | QA 通过后决定是否进入 Round 2 | 待确认 | 产品 | Round 1 验收后再定 |
| ID | 事项 | 状态 | 负责人 | 说明 |
|---|---|---|---|---|
| DEV-01 | ModelProfile / ModelRegistry |
已完成 | 研发 | 已注册 sensevoice-zh |
| DEV-02 | LanguageProfile / LanguageRegistry 最小实现 |
已完成 | 研发 | 已注册 zh-CN |
| DEV-03 | RequiredFileRule 支持 AllOf / AnyOf |
已完成 | 研发 | 已覆盖单元测试 |
| DEV-04 | ModelInstallState / models/state.json |
已完成 | 研发 | 已支持读写 |
| DEV-05 | ModelResolver / ResolvedModel |
已完成 | 研发 | 支持 state、新目录、旧目录 fallback |
| DEV-06 | SelectedModelID 隐藏配置 |
已完成 | 研发 | 默认 sensevoice-zh |
| DEV-07 | EngineFactory 改造 |
已完成 | 研发 | engine.New() 保持兼容 |
| DEV-08 | 下载器 staging + 校验 + 安全落盘 | 已完成 | 研发 | 新下载进入 models/sensevoice-zh |
| DEV-09 | Wails public API 兼容 | 已完成 | 研发 | 旧 ModelExists / DownloadModel 签名保留 |
| DEV-10 | Go 单元测试 | 已完成 | 研发 | go test ./... 通过 |
| DEV-11 | 前端构建验证 | 已完成 | 研发 | npm run build 通过,有既有 a11y warning |
| DEV-12 | primary 坏包时尝试 fallback | 已完成 | 研发 | fallback 覆盖下载、解压、校验全流程 |
| DEV-13 | state path 限制在 models 根目录内 |
已完成 | 研发 | 拒绝绝对路径和 .. 逃逸 |
| DEV-14 | macOS provider 使用 profile ProviderOrder |
已完成 | 研发 | Round 3/4 减少返工 |
| DEV-15 | engine 初始化失败状态明确 | 已完成 | 研发 | 结构存在但不可加载时发 error |
| DEV-16 | Onboarding 显示 need_model + error |
已完成 | 研发 | 避免坏模型初始化失败时卡住 |
| DEV-17 | 用户触发下载可安全替换 sensevoice-zh |
已完成 | 研发 | 替换失败恢复 backup,不触碰旧目录 |
| DEV-18 | 增加前端 engine status 补查 | 已完成 | 研发 | 避免 ready/error 事件早于订阅 |
| DEV-19 | 真实模型下载 smoke | 待做 | 研发/QA | 需要真实网络和模型包 |
| DEV-20 | 真实模型初始化 smoke | 待做 | 研发/QA | 需要本机真实模型 |
| DEV-21 | 如 QA 发现问题,修复并回归 | 待做 | 研发 | QA 后执行 |
| ID | 事项 | 状态 | 负责人 | 说明 |
|---|---|---|---|---|
| QA-01 | QA 预检开发自查材料 | 已完成 | QA/研发 | 已形成 qa-precheck-current.md |
| QA-02 | 准备旧目录完整模型场景 | 待做 | QA | models/sensevoice |
| QA-03 | 准备新目录完整模型场景 | 待做 | QA | models/sensevoice-zh |
| QA-04 | 准备 state 非法 JSON 场景 | 待做 | QA | 验证 fallback |
| QA-05 | 准备 state 指坏目录场景 | 待做 | QA | 验证 fallback 到旧目录 |
| QA-06 | 准备缺 tokens 场景 | 待做 | QA | 不得初始化 engine |
| QA-07 | 准备缺模型文件场景 | 待做 | QA | 不得初始化 engine |
| QA-08 | 准备 0 字节文件场景 | 待做 | QA | 不得判定可用 |
| QA-09 | 验证老用户旧目录升级路径 | 待做 | QA | 断网也要可用 |
| QA-10 | 验证新用户无模型下载路径 | 待做 | QA | 新下载到 sensevoice-zh |
| QA-11 | 验证下载失败不破坏旧模型 | 待做 | QA | 失败后旧模型仍可用 |
| QA-12 | 验证解压失败不写完整 state | 待做 | QA | 需要损坏压缩包 |
| QA-13 | 验证 Wails API 兼容 | 待做 | QA | 前端启动链路不破 |
| QA-14 | 验证 UI 不暴露新能力 | 待做 | QA | 不出现 Moonshine/Parakeet/Qwen3/语言选择 |
| QA-15 | 验证真实录音识别 | 待做 | QA | 真机真实麦克风 |
| QA-16 | 验证 replacement 生效 | 待做 | QA | 真实识别链路 |
| QA-17 | 验证历史写入 | 待做 | QA | 真实识别链路 |
| QA-18 | 验证麦克风权限未授权/已授权 | 待做 | QA | 权限路径回归 |
| QA-19 | 验证断网已有模型可用 | 待做 | QA | 冷启动、识别、历史写入 |
| QA-20 | 网络观察确认识别阶段无上传 | 待做 | QA | 离线承诺 |
| QA-21 | macOS 菜单栏/Dock/窗口层级 smoke | 待做 | QA | 真实使用回归 |
| QA-22 | 输出 QA 报告 | 待做 | QA | 使用 qa-report-template.md |
| ID | 事项 | 状态 | 负责人 | 说明 |
|---|---|---|---|---|
| REL-01 | 开发自查记录 | 已完成 | 研发 | dev-checklist-current.md |
| REL-02 | QA 预检记录 | 已完成 | QA/研发 | qa-precheck-current.md |
| REL-03 | QA 报告 | 待做 | QA | QA 完成后输出 |
| REL-04 | P0/P1 缺陷清零 | 待做 | 研发/QA | 发布前必须完成 |
| REL-05 | P2 缺陷处理结论 | 待做 | 产品/研发/QA | 修复或明确接受 |
| REL-06 | 测试包打包 | 待做 | 研发 | QA 通过后按发布规则执行 |
| REL-07 | 版本号和 build 编号更新 | 待做 | 研发 | 打包前执行 |
| REL-08 | CHANGELOG.md 更新 |
待做 | 研发 | 打包前执行 |
| REL-09 | 生成 macOS .dmg |
待做 | 研发 | QA 通过后执行 |
| REL-10 | 用户验收 | 待做 | 产品/用户 | QA 通过并交付测试包后执行 |
目前没有产品决策阻塞。
当前主要阻塞在 QA 阶段:
按顺序执行:
qa-test-plan.md 做预检。qa-report-YYYYMMDD.md。