# Round 3 QA 报告:Moonshine English 默认模型 状态:Round 3 QA 与用户验收通过 所属子项目:`02-P-NBL` Round:Round 3 日期:2026-06-03 测试包:`PrivateVoice Input 2.1.21 build20260603.1327` 工作分支:`codex/round3-moonshine-english` 源码 tag:`v2.1.21-build20260603.1327` ## 1. 测试环境 - macOS 真机 - App 路径:`/Applications/PrivateVoice Input.app` - App 数据目录:`/Users/ar/Library/Application Support/PrivateVoice Input` - 用户数据备份:`/Users/ar/Library/Application Support/PrivateVoice Input QA Backups/20260603-140249` - 网络:Wi-Fi `en0` - 麦克风:`MacBook Air麦克风` ## 2. 测试产物 - Release 目录:`/Users/ar/Projects/VoiceSnap-2.1.1-Round3/Release/PrivateVoice-Input-2.1.21-build20260603.1327` - arm64 DMG:`PrivateVoice Input-2.1.21-build20260603.1327-arm64-local.dmg` - x86_64 DMG:`PrivateVoice Input-2.1.21-build20260603.1327-x86_64-local.dmg` - Manifest:`RELEASE_MANIFEST.md` ## 3. 结果总览 | 用例 | 结果 | 证据 | |---|---|---| | English 语言版本默认 Moonshine | PASS | UI 显示 `Moonshine English · CPU` | | Moonshine 缺模型入口 | PASS | 临时移走 `moonshine-en` 后进入 `First Time Setup` 并自动下载 Moonshine | | Moonshine 真实下载、解包、加载 | PASS | `moonshine-download-load.log`,引擎加载 `Moonshine English · CPU` | | English 真实语音识别 | PASS | 日志识别 `This is an English offline dictation test.` | | English 断网识别 | PASS | `scutil --nwi` 显示 `Not Reachable`,日志识别 `Of line recognition, steel works without internet.` | | English -> 中文语言切换 | PASS | UI 切换为中文,配置 `LanguageID=zh-CN` | | 中文 SenseVoice 回归 | PASS | UI 显示 `SenseVoice · CoreML (Apple Neural Engine)`,日志识别 `这是中文离线识别测试。` | | 用户数据保护 | PASS | 测试前完整备份,测试后 Moonshine 和 SenseVoice 模型均恢复 | | 下载失败保护 | PASS | `download-failure-protection-20260603.log`,覆盖坏 URL、坏 archive、fallback、失败不破坏已有模型 | ## 4. 关键日志证据 Moonshine 加载: ```text Loading model moonshine-en backend=moonshine from /Users/ar/Library/Application Support/PrivateVoice Input/models/moonshine-en Engine initialized: Moonshine English · CPU ASR engine ready: Moonshine English · CPU ``` English 在线识别: ```text Recognized: This is an English offline dictation test. ``` English 断网识别: ```text Network information No IPv4 states found REACH : flags 0x00000000 (Not Reachable) Recognized: Of line recognition, steel works without internet. ``` 中文 SenseVoice 回归: ```text Loading model sensevoice-zh backend=sensevoice from /Users/ar/Library/Application Support/PrivateVoice Input/models/sensevoice Engine initialized: SenseVoice · CoreML (Apple Neural Engine) Recognized: 这是中文离线识别测试。 ``` ## 5. 观察项 - Moonshine 对 `offline` 有一次识别为 `of line`,对 `still` 有一次识别为 `steel`。这属于模型准确率观察项,不影响离线识别链路验收。 - 中文回归后的 Moonshine 和 SenseVoice 初始化交错记录由用户手动点击语言切换造成;最终 UI 和最后生效日志均为 `SenseVoice · CoreML (Apple Neural Engine)`,不作为缺陷。 - TextEdit 多次回到打开面板,需要重新点 `新建文稿`。这是 TextEdit 行为,不是 PrivateVoice 缺陷。 ## 6. 结论 Round 3 QA 与用户验收通过: - English 可使用 Moonshine English 离线识别。 - 断网状态下 English 识别仍可工作。 - 切回中文后 SenseVoice 可正常加载和识别。 - 中英文模型切换没有破坏已有模型和用户配置。 - 下载失败保护自动化验证通过,失败不会破坏已有模型,坏包不会写入 installed state,可 fallback 到可用下载源。