基于 /Users/ar/Projects/PrivateVoice/02-P-NBL/round-6/requirements-dev.md 落地粤语版需求,开发版本记录为 2.2.0,并完成 Todo、两位代码审核员审核和 QA 回归测试。
/Users/ar/Projects/PrivateVoice/02-P-NBL/round-6/todo-dev.md。yue-HK / 粤语,顺序位于中文之后、English 之前。SenseVoice Yue 模型 profile:sensevoice-yue-2025-09-09。sense_voice.language = yue。initEngine 失败时保留旧 engine。2.2.0 / 20260702.0236。APPROVE,QA 最终 PASS。/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/model/profile.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/model/registry.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/engine/engine_darwin.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/engine/engine_windows.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/engine/engine_linux.go/Users/ar/Projects/PrivateVoice/privatevoice.src/services/engine_service.go/Users/ar/Projects/PrivateVoice/privatevoice.src/frontend/src/components/settings/LanguagePage.sveltelanguage=yue。yue-HKCantonese / 粤语zhyue, yue-HKsensevoice-yue-2025-09-09SenseVoice Yuesensevoicemodel.int8.onnx, tokens.txthttps://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-int8-2025-09-09.tar.bz2LanguageParam = "yue"UpgradeModelIDs 为空,因此 Qwen3-ASR / X-ASR 不作为粤语模型选项出现。NormalizeLanguageID("yue") -> "yue-HK"。zh-HK 未自动映射到粤语,继续按保守策略落到中文,避免误判香港用户默认粤语。APPROVE。APPROVE。PASS。go test ./... -count=1 通过。npm --prefix frontend run build 通过。go test -exec=/usr/bin/true ./... 通过。git diff --check 通过。/Users/ar/Projects/PrivateVoice/02-P-NBL/round-6/todo-dev.md/Users/ar/Projects/PrivateVoice/CHANGELOG.md/Users/ar/Projects/PrivateVoice/CODEGRAPH.md/Users/ar/Projects/PrivateVoice/privatevoice.src/app.go/Users/ar/Projects/PrivateVoice/privatevoice.src/app_live_caption_test.go/Users/ar/Projects/PrivateVoice/privatevoice.src/build/config.yml/Users/ar/Projects/PrivateVoice/privatevoice.src/build/darwin/Info.plist/Users/ar/Projects/PrivateVoice/privatevoice.src/frontend/package.json/Users/ar/Projects/PrivateVoice/privatevoice.src/frontend/package-lock.json/Users/ar/Projects/PrivateVoice/privatevoice.src/frontend/src/components/settings/LanguagePage.svelte/Users/ar/Projects/PrivateVoice/privatevoice.src/frontend/src/lib/i18n/en.json/Users/ar/Projects/PrivateVoice/privatevoice.src/frontend/src/lib/i18n/zh.json/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/engine/engine_darwin.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/engine/engine_darwin_test.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/engine/engine_linux.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/engine/engine_windows.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/language/language_test.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/model/build_capabilities_windows.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/model/model_test.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/model/profile.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/model/registry.go/Users/ar/Projects/PrivateVoice/privatevoice.src/internal/modelselection/selection_test.go/Users/ar/Projects/PrivateVoice/privatevoice.src/scripts/build-windows-preview.sh/Users/ar/Projects/PrivateVoice/privatevoice.src/services/engine_service.go/Users/ar/Projects/PrivateVoice/privatevoice.src/services/engine_service_test.go/Users/ar/Projects/PrivateVoice/privatevoice.src/services/engine_service_windows_test.goSenseVoice Yue 2025-09-09,不是 Qwen3-ASR / X-ASR。zh-HK 不默认映射到粤语。ModelSelectionMode=auto,不强写 SelectedModelID。用途:复查 Round 6 粤语语言版本的后端、前端、Windows cross 和 diff 基础质量。
前置条件:在 /Users/ar/Projects/PrivateVoice/privatevoice.src 下执行;Windows cross test 需要本机存在 x86_64-w64-mingw32-gcc / x86_64-w64-mingw32-g++。
cd /Users/ar/Projects/PrivateVoice/privatevoice.src
go test ./services -count=1
npm --prefix frontend run build
go test ./... -count=1
GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ go test -exec=/usr/bin/true ./...
git -C /Users/ar/Projects/PrivateVoice diff --check
验证步骤:所有命令退出码应为 0。当前存在既有 macOS linker warning 和既有 Svelte a11y warning,不作为 Round 6 阻塞。
清理 / 恢复:无临时项目文件需要清理;QA 子代理使用的 /tmp/privatevoice-qa-* 构建目录可由系统临时目录回收。
搜索关键词:Round 6、粤语、SenseVoice Yue、yue-HK、pendingLanguageID、SelectModelForLanguage、ListModelOptionsForLanguage。
CHANGELOG.md 历史中已存在旧的 v2.2.0 (2026-02-26) 条目;本轮按用户要求新增 v2.2.0 (2026-07-02),对外发布前建议确认版本叙事。