# Round 5 QA 报告:Qwen3-ASR 中文高级模型 状态:核心 QA 通过,物理断网项待补 日期:2026-06-03 分支:`codex/round5-qwen3-asr-chinese` 当前 commit:本报告所在提交 测试 App:`privatevoice.src/build/local/arm64/PrivateVoice Input.app` 测试 DMG:`privatevoice.src/build/local/arm64/PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg` ## 1. 环境 - macOS:本机 Apple Silicon 环境。 - 用户数据目录:`/Users/ar/Library/Application Support/PrivateVoice Input` - 备份目录:`/Users/ar/Library/Application Support/PrivateVoice Input/qa-backups/round5-20260603-173941` - 测试后已恢复原始 `config.json`。 - Qwen3-ASR 模型目录保留:`/Users/ar/Library/Application Support/PrivateVoice Input/models/qwen3-asr-0.6b` ## 2. 模型下载和安装 官方包: ```text sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25.tar.bz2 ``` 验证结果: - 官方包大小:`878702423` bytes。 - SHA256:`393f8a14e2f5fb96746aaab342997a40641001fbd5bf9592a080a8329178ee96` - 解压后模型目录大小:`971M` - required files 校验通过: - `conv_frontend.onnx` - `encoder.int8.onnx` - `decoder.int8.onnx` - `tokenizer/merges.txt` - `tokenizer/vocab.json` 发现的问题: - 旧 downloader 直接远程下载官方包时,两次失败: - 第一次约 20% 处 `connection reset by peer` - 第二次 `TLS handshake timeout` - 已修复:`downloadFile` 增加重试和 Range 断点续传,避免大模型下载因瞬时网络问题直接失败。 - 已补测试:`TestDownloadFileResumesExistingPartialFile`。 后续安装验证: - 用本地 HTTP 提供已校验官方包,走产品 `DownloadProfile` 安装逻辑。 - 下载、解压、staging、最终安装、state 写入均通过。 - `ResolveModel(qwen3-asr-0.6b)` 返回 `installed_valid`。 ## 3. Qwen3-ASR 识别 Qwen3-ASR 中文测试: ```text hardware=Qwen3-ASR · CPU input=qwen3-asr-0.6b/test_wavs/qiqiu1.wav result=输出中文长文本 ``` Qwen3-ASR 中英/英文测试: ```text hardware=Qwen3-ASR · CPU input=qwen3-asr-0.6b/test_wavs/codeswitch.wav,经 afconvert 转 16k mono result=I'm alone, all by myself. I see too seldom. So no tuto. I'm so alone. ``` ## 4. 旧模型回归 SenseVoice: ```text hardware=SenseVoice · CoreML (Apple Neural Engine) result=可输出中文文本 ``` Moonshine: ```text hardware=Moonshine English · CPU result=After early nightfall... ``` Parakeet: ```text hardware=Parakeet English · CPU result=Well, I don't wish to see it any more... ``` ## 5. App 级 smoke 手动 Qwen3-ASR 配置重启: ```text Loading model qwen3-asr-0.6b backend=qwen3_asr Engine initialized: Qwen3-ASR · CPU ASR engine ready: Qwen3-ASR · CPU ``` 切回中文 auto / SenseVoice: ```text Loading model sensevoice-zh backend=sensevoice Engine initialized: SenseVoice · CoreML (Apple Neural Engine) ASR engine ready: SenseVoice · CoreML (Apple Neural Engine) ``` English auto / Moonshine: ```text Loading model moonshine-en backend=moonshine Engine initialized: Moonshine English · CPU ASR engine ready: Moonshine English · CPU ``` ## 6. 自动化验证 - `npm run build`:通过,有既有 Svelte a11y warning。 - `go test ./... -count=1`:通过。 - `git diff --check`:通过。 - 四个 macOS build 脚本 `bash -n`:通过。 - arm64 本地 build:通过。 - DMG `hdiutil verify`:通过。 ## 7. 未完成项 - 物理断网后的 App 级 Qwen3-ASR 识别尚未执行。当前已验证引擎级本地识别不依赖远程服务,但未关闭真实网络做 App 全流程测试。 - UI 可视 smoke 发现过一次模型卡片和底部 Engine 状态不同步:模型列表已切到 English/Moonshine,但底部仍显示 SenseVoice。原因是后端 `EngineService.SetStatus` 更新内部状态后没有主动发 `engine:status` 事件,前端可能显示旧硬件信息。本轮已修复:状态变化时主动向前端 emit。 ## 8. 结论 Round 5 核心 QA 通过。Qwen3-ASR 可以安装、校验、加载和识别;SenseVoice、Moonshine、Parakeet 回归通过。下载稳定性问题已在本轮修复。剩余阻断项只剩物理断网 App 级验证。