edit | blame | history | raw

Round 4 研发自查报告:Parakeet English 高级模型

状态:研发自测通过,待 QA 真机验证
日期:2026-06-03
分支:codex/round4-parakeet-english
基线:Round 3 完成 commit 7bedb18

1. 本轮已实现

  • 新增 parakeet-en 模型 profile。
  • English 默认模型仍为 moonshine-en
  • English 高级模型新增 Parakeet English
  • 新增 nemo_transducer backend kind。
  • 新增 Parakeet required files 校验:
  • encoder.int8.onnx
  • decoder.int8.onnx
  • joiner.int8.onnx
  • tokens.txt
  • 新增 sherpa-onnx Nemo transducer 配置生成。
  • 新增模型选择服务 API:
  • ListModelOptions
  • SelectModel
  • DownloadModelByID
  • 设置页新增“识别模型”区域。
  • English 下显示 Moonshine + Parakeet。
  • 中文下只显示 SenseVoice。
  • 语言切换会回到该语言默认模型,避免中文环境继续使用英文手动模型。
  • 下载 Parakeet 成功后才写入手动模型选择配置,下载失败不改写当前模型配置。

2. 自动化验证

已通过:

cd privatevoice.src
go test ./... -count=1

日志:logs/go-test-all-20260603-round4.log

已通过:

cd privatevoice.src/frontend
npm run build

日志:logs/npm-run-build-20260603-round4.log

已通过:

git diff --check

日志:logs/git-diff-check-20260603-round4.log

依赖安装:

cd privatevoice.src/frontend
npm ci

日志:logs/npm-ci-20260603-round4.log

3. 观察到的非阻断项

  • npm ci 报告 6 个 npm audit vulnerability,来自现有前端依赖链;本轮未升级依赖,不作为 Round 4 阻断项。
  • npm run build 仍报告 3 个既有 Svelte a11y warning,位置在 UpdateDialog.svelteToggleSwitch.svelte;本轮新增设置页没有构建 warning。

4. 待 QA 真机验证

  • Parakeet 官方包真实下载。
  • Parakeet 文件解压和安装状态识别。
  • Parakeet 引擎初始化。
  • Parakeet 英文识别。
  • Parakeet 断网英文识别。
  • Parakeet 切回 Moonshine。
  • 切回中文后 SenseVoice 正常。
  • 下载失败和中断下载不破坏 Moonshine/SenseVoice。

5. QA 预检补丁

QA 预检中已补充两处修复:

  • 下载过程中不再把 Engine UI 误显示为 Loading;旧 Moonshine/SenseVoice 引擎保持当前状态显示。
  • App 退出或重启导致的旧 .downloads/<model> partial,会在下一次同模型下载前清理,避免长期占用磁盘。

补丁后再次通过:

cd privatevoice.src
go test ./... -count=1

日志:logs/go-test-all-20260603-round4-after-qa-fix.log

补丁后再次通过:

cd privatevoice.src/frontend
npm run build

日志:logs/npm-run-build-20260603-round4-after-qa-fix.log

补丁后再次通过:

git diff --check

日志:logs/git-diff-check-20260603-round4-after-qa-fix.log