# Round 4 研发自查报告:Parakeet English 高级模型 状态:研发自测通过,待 QA 真机验证 日期:2026-06-03 分支:`codex/round4-parakeet-english` 基线:Round 3 完成 commit `7bedb18` ## 1. 本轮已实现 - 新增 `parakeet-en` 模型 profile。 - English 默认模型仍为 `moonshine-en`。 - English 高级模型新增 `Parakeet English`。 - 新增 `nemo_transducer` backend kind。 - 新增 Parakeet required files 校验: - `encoder.int8.onnx` - `decoder.int8.onnx` - `joiner.int8.onnx` - `tokens.txt` - 新增 sherpa-onnx Nemo transducer 配置生成。 - 新增模型选择服务 API: - `ListModelOptions` - `SelectModel` - `DownloadModelByID` - 设置页新增“识别模型”区域。 - English 下显示 Moonshine + Parakeet。 - 中文下只显示 SenseVoice。 - 语言切换会回到该语言默认模型,避免中文环境继续使用英文手动模型。 - 下载 Parakeet 成功后才写入手动模型选择配置,下载失败不改写当前模型配置。 ## 2. 自动化验证 已通过: ```bash cd privatevoice.src go test ./... -count=1 ``` 日志:`logs/go-test-all-20260603-round4.log` 已通过: ```bash cd privatevoice.src/frontend npm run build ``` 日志:`logs/npm-run-build-20260603-round4.log` 已通过: ```bash git diff --check ``` 日志:`logs/git-diff-check-20260603-round4.log` 依赖安装: ```bash cd privatevoice.src/frontend npm ci ``` 日志:`logs/npm-ci-20260603-round4.log` ## 3. 观察到的非阻断项 - `npm ci` 报告 6 个 npm audit vulnerability,来自现有前端依赖链;本轮未升级依赖,不作为 Round 4 阻断项。 - `npm run build` 仍报告 3 个既有 Svelte a11y warning,位置在 `UpdateDialog.svelte` 和 `ToggleSwitch.svelte`;本轮新增设置页没有构建 warning。 ## 4. 待 QA 真机验证 - Parakeet 官方包真实下载。 - Parakeet 文件解压和安装状态识别。 - Parakeet 引擎初始化。 - Parakeet 英文识别。 - Parakeet 断网英文识别。 - Parakeet 切回 Moonshine。 - 切回中文后 SenseVoice 正常。 - 下载失败和中断下载不破坏 Moonshine/SenseVoice。 ## 5. QA 预检补丁 QA 预检中已补充两处修复: - 下载过程中不再把 Engine UI 误显示为 Loading;旧 Moonshine/SenseVoice 引擎保持当前状态显示。 - App 退出或重启导致的旧 `.downloads/` partial,会在下一次同模型下载前清理,避免长期占用磁盘。 补丁后再次通过: ```bash cd privatevoice.src go test ./... -count=1 ``` 日志:`logs/go-test-all-20260603-round4-after-qa-fix.log` 补丁后再次通过: ```bash cd privatevoice.src/frontend npm run build ``` 日志:`logs/npm-run-build-20260603-round4-after-qa-fix.log` 补丁后再次通过: ```bash git diff --check ``` 日志:`logs/git-diff-check-20260603-round4-after-qa-fix.log`