状态:研发分期建议稿
日期:2026-06-02
子项目目录:02-P-NBL
关联文档:
product-plan.mdengineering-plan.md这次改造不建议一次性做完。原因:
建议拆成 6 个 Round。
核心顺序:
Round 1:先抽象
Round 2:再做语言
Round 3:接英文默认 Moonshine
Round 4:接英文高级 Parakeet
Round 5:接中文高级 Qwen3-ASR
Round 6:完善模型管理和未来欧洲语言扩展
第一期可交付版本建议至少做到:
Round 1 + Round 2 + Round 3
这样可以真正形成一个英文默认 Moonshine 的可用分支。
| Round | 目标 | 用户可见变化 | 风险 |
|---|---|---|---|
| Round 1 | 模型 profile 基础设施 | 基本无变化 | 中 |
| Round 2 | 语言检测与语言设置 | 可选择中文/English | 中 |
| Round 3 | Moonshine English 默认模型 | 英文系统默认 Moonshine | 中高 |
| Round 4 | Parakeet 高级模型 | 英文用户可下载 Parakeet | 中 |
| Round 5 | Qwen3-ASR 高级模型 | 中文用户可下载 Qwen3-ASR | 高 |
| Round 6 | 模型管理成熟化 + 欧洲语言准备 | 删除、回滚、未来多语言 | 中 |
不改变用户体验,先把现有 SenseVoice 纳入多模型架构。
当前:
写死 SenseVoice
目标:
ModelProfile -> EngineFactory -> SenseVoice
新增:
ModelProfileModelRegistryLanguageProfileLanguageRegistryModelInstallStatesensevoice-zh profileEngineFactory改造:
ModelPath()、ModelDir()、ModelExists() 改成基于 profile。models/sensevoice 兼容。中等。
建议 3-5 个研发日。
建立语言版本概念,首次启动根据系统语言选择中文或 English。
新增配置:
{
"LanguageMode": "auto",
"LanguageID": "zh-CN",
"SelectedModelID": "sensevoice-zh"
}
支持:
zh-CN。en.en。设置页新增:
语言版本
自动(跟随系统)
中文
English
中等。
建议 3-5 个研发日。
让 English 语言版本真正可用,并默认使用 Moonshine English。
新增:
moonshine-en profile。模型路径:
models/moonshine-en/
预期文件:
encoder_model.ort
decoder_model_merged.ort
tokens.txt
sherpa config:
config.ModelConfig.Moonshine.Encoder = encoderPath
config.ModelConfig.Moonshine.MergedDecoder = mergedDecoderPath
config.ModelConfig.Tokens = tokensPath
English 系统首次启动:
English UI
Moonshine English 默认模型
中文系统不受影响。
中高。
建议 5-8 个研发日。
让 English 用户可以主动下载并切换到 Parakeet。
新增:
parakeet-en profile。nemo_transducer backend builder。模型路径:
models/parakeet-en/
预期文件:
encoder.int8.onnx
decoder.int8.onnx
joiner.int8.onnx
tokens.txt
sherpa config:
config.ModelConfig.Transducer.Encoder = encoderPath
config.ModelConfig.Transducer.Decoder = decoderPath
config.ModelConfig.Transducer.Joiner = joinerPath
config.ModelConfig.Tokens = tokensPath
config.ModelConfig.ModelType = "nemo_transducer"
English 识别模型页:
Moonshine English
轻量英文模型,推荐。
Parakeet
高质量英文/欧洲语言模型,体积较大。
用户点击 Parakeet:
下载 -> 安装 -> 使用
Moonshine 保留。
中等。
建议 4-7 个研发日。
让中文用户可以主动下载并切换到 Qwen3-ASR。
新增:
qwen3-asr-0.6b profile。qwen3_asr backend builder。模型路径:
models/qwen3-asr-0.6b/
预期文件:
conv_frontend.onnx
encoder.int8.onnx
decoder.int8.onnx
tokenizer/merges.txt
tokenizer/vocab.json
sherpa config:
config.ModelConfig.Qwen3ASR.ConvFrontend = convFrontendPath
config.ModelConfig.Qwen3ASR.Encoder = encoderPath
config.ModelConfig.Qwen3ASR.Decoder = decoderPath
config.ModelConfig.Qwen3ASR.Tokenizer = tokenizerDir
中文识别模型页:
SenseVoice
轻量中文模型,推荐。
Qwen3-ASR
高质量多语言大模型,适合中文、中英混输、粤语和更多语言。体积较大。
SenseVoice 保留。
高。
建议 6-10 个研发日。
完善模型管理体验,并为未来欧洲语言版本做准备。
模型管理:
未来语言准备:
LanguageProfile 支持更多语言。中等。
建议 4-8 个研发日。
Round 1
目的:
Round 1 + Round 2 + Round 3
目的:
Round 4
目的:
Round 5
目的:
Round 6
目的:
每个模型需要确认:
当前项目使用 v1.12.24。
Qwen3-ASR 在较新版本中支持更完整。建议在 Round 1 或 Round 5 前评估是否升级到较新 sherpa-onnx-go。
English 分支需要完整英文 UI 文案,不只是模型页面。
需要准备:
最稳的执行策略:
先做 Round 1
确认现有中文产品不退化
再做 Round 2 + Round 3
发布 English MVP
再做 Round 4 和 Round 5
最后做 Round 6
不要在 Round 1 里同时接 Moonshine、Parakeet、Qwen3-ASR。
不要在 English MVP 之前先做 30 种语言 UI。
不要把 Parakeet 和 Qwen3-ASR 作为默认模型自动下载。