# Round 6 开发 Todo:粤语语言版本 状态:完成 目标版本:`2.2.0` 需求来源:`requirements-dev.md` ## 范围 本轮只实现同一 App 内的粤语语言版本: - 新增 `粤语` 语言选项。 - 新增 `SenseVoice Yue 2025-09-09` 模型 profile。 - 粤语默认模型解析、下载校验和 engine 加载参数正确。 - 粤语场景不误展示或误用 Qwen3-ASR / X-ASR。 - 补自动化测试、开发自测、代码审核和 QA 回归记录。 不做: - 不做独立 App 包。 - 不做独立官网销售页。 - 不做授权 / 支付 / 自动更新。 - 不做 Fun-ASR-Nano 接入。 - 不改变中文、English、Qwen3-ASR、Moonshine、Parakeet、X-ASR 既有行为,除非为粤语路由所必需。 ## Todo | ID | 事项 | 状态 | 验收信号 | |---|---|---|---| | R6-T01 | 定位现有语言 profile、模型 profile、下载校验、engine 参数入口 | 完成 | 涉及 `internal/model`、`internal/modelselection`、`internal/engine`、`services`、`LanguagePage.svelte` | | R6-T02 | 新增 `粤语` 语言 profile,位置紧跟 `中文` | 完成 | 语言列表包含 `yue-HK` / `粤语`,默认模型为 SenseVoice Yue | | R6-T03 | 新增 `SenseVoice Yue 2025-09-09` 模型 profile | 完成 | URL、安装目录、required files、size、文案已接入 | | R6-T04 | 粤语 engine 加载固定使用 `sense_voice.language = yue` | 完成 | `internal/engine` 配置测试覆盖 | | R6-T05 | 前端输入/模型列表展示粤语状态,不误导展示 Qwen3-ASR / X-ASR | 完成 | service 层测试覆盖粤语只展示 SenseVoice Yue;前端构建通过 | | R6-T06 | 补后端单元测试 | 完成 | `go test ./... -count=1` 通过 | | R6-T07 | 补前端构建验证 | 完成 | `npm --prefix frontend run build` 通过,存在既有 Svelte a11y warning | | R6-T08 | 两位代码审核员复核 | 完成 | Ptolemy、Helmholtz 最终结论均为 APPROVE | | R6-T09 | QA 回归测试 | 完成 | Nietzsche 最终 QA Recheck:PASS | | R6-T10 | 修复审核/QA 问题并记录证据 | 完成 | 已修 pending 语言预览、旧 engine 保留、Windows 文案/测试、版本元数据;测试证据见下方 | ## 验收证据 ### 代码审核 - Ptolemy:最终 `APPROVE`。重点复核 pending 语言不持久化、下载成功后才切换、共享模型不误标 `Current`。 - Helmholtz:最终 `APPROVE`。重点复核 Windows 文案、Windows SenseVoice Yue 支持、pending 已安装模型和 X-ASR 共享模型边界。 ### QA 回归 - Nietzsche:最终 `PASS`。 - 覆盖范围: - 未安装目标语言只预览,不持久化、不 reload。 - pending 下下载未安装模型,下载成功后按目标语言持久化。 - pending 下使用已安装模型,按目标语言持久化。 - 当前中文 + X-ASR 预览 English 时,X-ASR 不再误标 `Current`。 - Windows preview 下 SenseVoice Yue 被标记为 supported。 ### 自动化验证 ```bash 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 ``` 结果:全部通过。存在既有 macOS linker warning 和既有 Svelte a11y warning,未作为本轮阻塞。 ## Progress Log - 2026-07-02:完成 Round 6 粤语语言版本开发,版本元数据更新为 `2.2.0` / `20260702.0303`。 - 2026-07-02:新增 `yue-HK` 语言 profile、`SenseVoice Yue` 模型 profile,并在 SenseVoice engine 配置中传入 `language=yue`。 - 2026-07-02:根据代码审核修复语言切换安全语义:未安装目标语言只在输入页预览,下载/选择成功后才持久化语言并 reload;失败或取消不影响旧语言和旧 engine。 - 2026-07-02:根据代码审核修复 Windows preview 文案和支持断言,SenseVoice backend 包括中文与粤语,非 SenseVoice 模型仍禁用。 - 2026-07-02:两位代码审核员最终 `APPROVE`,QA 最终 `PASS`。