状态:v0.1 研发拆解稿
所属子项目:02-P-NBL
Round:Round 5
日期:2026-06-03
输入文档:
让中文用户可以主动下载并切换到 Qwen3-ASR,同时保持 SenseVoice 默认路径、English Moonshine/Parakeet 路径和用户数据不退化。
sherpa-onnx-go* 依赖升级到支持 Qwen3-ASR 的版本。libonnxruntime dylib。qwen3-asr-0.6b model profile。BackendQwen3ASR = "qwen3_asr" backend kind。T0 现状和官方资料确认
T1 sherpa-onnx-go* 依赖升级
T2 构建脚本 dylib 适配
T3 Qwen3-ASR profile
T4 tokenizer 目录校验增强
T5 Qwen3-ASR backend builder
T6 中文模型选择 UI
T7 下载/切换状态处理
T8 单元测试和前端构建
T9 代码复审
T10 QA handoff
T11 真机 QA 和测试包准备
完成标准:
v1.12.24 不支持 OfflineQwen3ASRModelConfig。v1.13.2。工作内容:
github.com/k2-fsa/sherpa-onnx-gogithub.com/k2-fsa/sherpa-onnx-go-macosgithub.com/k2-fsa/sherpa-onnx-go-linuxgithub.com/k2-fsa/sherpa-onnx-go-windowsv1.13.2。go.mod、go.sum。完成标准:
go test ./... -count=1 可通过。工作内容:
libonnxruntime.1.23.2.dylib
libonnxruntime.1.24.4.dylib
libonnxruntime.*.dylib。libonnxruntime.dylib 并保留版本 dylib。install_name_tool 逻辑必须适配新版文件名。完成标准:
hdiutil verify。工作内容:
Qwen3ASRModelID = "qwen3-asr-0.6b"BackendQwen3ASR = "qwen3_asr"qwen3-asr-0.6b profile。DefaultLanguageID 的 UpgradeModelIDs 设置为 []string{Qwen3ASRModelID}。完成标准:
GetModelProfile("qwen3-asr-0.6b") 可返回完整 profile。工作内容:
AllOf 相对路径。tokenizer/merges.txt、tokenizer/vocab.json 可以校验。tokenizer 指向目录。tokenizer_merges 推导目录。完成标准:
tokenizer/merges.txt 校验失败。tokenizer/vocab.json 校验失败。resolved.Files["tokenizer"] 能得到 tokenizer 目录。工作内容:
isSupportedBackend 支持 BackendQwen3ASR。offlineConfigForResolvedModel 新增 Qwen3-ASR 分支。Qwen3ASR.ConvFrontend = resolved.Files["conv_frontend"]
Qwen3ASR.Encoder = resolved.Files["encoder"]
Qwen3ASR.Decoder = resolved.Files["decoder"]
Qwen3ASR.Tokenizer = resolved.Files["tokenizer"]
Qwen3ASR.MaxTotalLen = 1024
Qwen3ASR.MaxNewTokens = 256
Qwen3ASR.Temperature = 0.0
Qwen3ASR.TopP = 0.9
Qwen3ASR.Seed = 0
完成标准:
HardwareInfo() 显示 Qwen3-ASR · CPU。工作内容:
完成标准:
工作内容:
.downloads、.staging 不被判定为可用模型。完成标准:
后端:
cd privatevoice.src
go test ./... -count=1
前端:
cd privatevoice.src/frontend
npm run build
检查:
git diff --check
完成标准:
复审重点:
交付:
若 QA 预检通过:
2.1.23。.dmg。RELEASE_MANIFEST.md。