# Round 4 QA 报告:Parakeet English 高级模型 状态:真机 QA 已通过,待测试包交付 日期:2026-06-03 测试分支:`codex/round4-parakeet-english` 当前实现 commit:`a188fdf` ## 1. 自动化与构建 已通过: - `go test ./... -count=1` - `npm run build` - `git diff --check` - 本地 macOS arm64 App 构建、安装、签名验证 - 本地 DMG `hdiutil verify` 相关日志: - `logs/go-test-all-20260603-round4-after-qa-fix.log` - `logs/npm-run-build-20260603-round4-after-qa-fix.log` - `logs/git-diff-check-20260603-round4-after-qa-fix.log` - `logs/local-build-install-20260603-round4-after-qa-fix.log` ## 2. 真机 QA 结果 | 项 | 结果 | 证据 | |---|---|---| | English 默认模型 | PASS | English 状态默认 Moonshine,Parakeet 作为 Advanced/可选模型显示 | | Parakeet 下载 | PASS | 下载官方 `sherpa-onnx-nemo-parakeet-unified-en-0.6b-int8-non-streaming` 包,落盘到 `models/parakeet-en` | | Parakeet 必需文件 | PASS | `encoder.int8.onnx`、`decoder.int8.onnx`、`joiner.int8.onnx`、`tokens.txt` 均存在 | | Parakeet 加载 | PASS | 15:07:39 日志显示 `ASR engine ready: Parakeet English · CPU` | | Parakeet 英文识别 | PASS | 15:11:04 识别 `Do you understand me?`,并写入历史 | | Moonshine 回退 | PASS | 15:13:04 日志显示 `ASR engine ready: Moonshine English · CPU` | | Moonshine 英文识别 | PASS | 15:18:27 识别 `This is a most shy fullback test.`,并写入历史 | | 中文 SenseVoice 回归 | PASS | 15:19:24 日志显示 `ASR engine ready: SenseVoice · CoreML (Apple Neural Engine)` | | SenseVoice 中文识别 | PASS | 15:29:18 识别 `这是中文 since voice 回归测试。`,并写入历史 | | Parakeet 重启持久化 | PASS | 重启 App 后配置保持 English + `parakeet-en`,15:48:53 日志显示 `ASR engine ready: Parakeet English · CPU` | | Parakeet 断网英文识别 | PASS | Wi-Fi 关闭窗口 `15:49:33 - 15:50:33`;15:49:59 识别 `An offline test`,15:50:05 识别 `An offline test, parakeet test.`,并写入历史 | | 下载失败保护 | PASS | 中途 App 退出后 Moonshine 仍可用;补丁后下一次下载会清理旧 partial | | 用户数据保护 | PASS | `history.json`、`userdict.json`、`config.json` 未丢失,历史持续写入 | ## 3. QA 预检发现的问题和修复 ### 3.1 下载中 Engine UI 状态误导 现象: - Parakeet 下载过程中,旧 Moonshine 引擎仍可用,但 UI 曾显示 Engine Loading。 处理: - 前端只在已安装模型切换或下载完成后设置 Engine Loading;下载过程中保留当前引擎状态。 结果: - 补丁后下载期间 Engine 显示 `Moonshine English · CPU`,符合真实状态。 ### 3.2 中途退出留下大体积 partial 现象: - Parakeet 下载中途 App 退出后,`.downloads/parakeet-en` 留下约 439 MiB partial。 处理: - `DownloadProfile` 在同模型新下载开始前清理旧 `.downloads/` partial。 结果: - 补丁后重新下载时旧 partial 被清理,新 run 从 0 开始,最终成功安装。 ## 4. 待完成项 - 生成 Round 4 测试包。 - 生成并验证 `RELEASE_MANIFEST.md`。 - 测试包交付后的用户验收。 ## 5. QA 观察项 - 中文回归测试后日志出现短时间多次模型初始化记录:`sensevoice-zh`、`moonshine-en`、`sensevoice-zh`。最终状态回到 `SenseVoice · CoreML (Apple Neural Engine)`,功能结果通过。建议后续继续观察是否存在设置页快速切换或异步 reload 触发的初始化交叉。 - 断网测试期间,日志和 `history.json` 均证明 Parakeet 离线识别成功;TextEdit 指定窗口未新增对应两句,疑似实际焦点切换到其他输入框。本轮将“模型离线识别和历史写入”作为通过依据,不把“指定 TextEdit 上屏”记为已验证事实。