dsh-mimo-asr: Connecting DSH Go microphone to Xiaomi MiMo Cloud ASR

前言

在 DSH 里用 Go 客户端输入框旁的麦克风做语音转写,App 只认两条 Remote:speech/catalog(识别器列表与当前选择)和 speech/transcribe(整段 WAV 转文本)。官方「语音输入」bundle 走的是 SenseVoice 本地模型,int8 约 228 MB,还要在 proot 里跑 sherpa-onnx-node,对手机端体积和部署都不友好。若你更希望零本地下载、走云端识别,可以换成社区插件 dsh-mimo-asr:在同一套 speech/* 接口上注册 location:'cloud' 的 provider,调用 Xiaomi MiMo(mimo-v2.5-asr)。

下面介绍它是什么、怎么装、怎么配 Key,以及和官方 bundle 并存时要注意什么。

这是什么

dsh-mimo-asr 由维护者 Easyhoov 发布,在 SkillHub 插件目录 中归类为联网工具。一句话:把 DSH Go 输入框麦克风所需的 speech/* Remote 换成小米 MiMo 云端语音识别实现,手机端无需下载 ASR 模型。

插件通过 cordis.patch.yml 一次性 insert 三个相关条目:本包(MiMo provider)、@deepseek-ai/dsh-experimental-speech-to-text(识别器注册表)、@deepseek-ai/dsh-experimental-api-speech-to-text(Remote 控制器)。装完后一般不必再手工改 profile 里的 speech 栈。

核心功能

已核实能力如下:

  1. 对接 DSH 标准语音 Remote:实现 speech/catalog 与 speech/transcribe,与 DSH Go composer 麦克风协议一致。
  2. 云端 MiMo ASR:默认模型 mimo-v2.5-asr,经 HTTPS 访问 api.xiaomimimo.com(或 Token Plan 对应集群域名)。
  3. 依赖自带官方 speech 实验包:安装时会连带装上上述两个 @deepseek-ai/dsh-experimental-* 依赖,不必再单独装官方「语音输入」bundle(且不应与后者同时启用,见后文)。
  4. 多种 API Key 来源:App 设置页、MIMO_API_KEY 环境变量、~/.dsh/mimo-asr.key 文件,优先级为设置页 apiKey > 环境变量 > key 文件。
  5. 可配置项:除 Key 外,可在设置页或配置中调整 access、cluster、model、language、timeoutMs 等(详见安装后配置一节)。

安装与启用

环境要求(来自 package.json):Node ^22.19.0 || >=24.0.0,DSH >=0.2.0-rc.1。

从 npm 安装到指定 profile:

dsh plugin --profile <profile> add dsh-mimo-asr

若使用本地打好的包:

dsh plugin --profile <profile> add /path/to/dsh-mimo-asr-1.0.1.tgz

安装完成后重启引擎:App 路径为「设置 › 本机引擎 › 重启」;桌面端重启 dsh web。

插件以当前 DSH 进程权限运行;安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证,确认符合你的安全与合规要求。

配置 API Key

推荐在 App 内配置:设置 › 插件 › dsh-mimo-asr › 设置,或设置 › 引擎参数 中的 API key 密码框;同一页可改 access、cluster、model、language。保存后下一次录音即生效,无需重启。

设置页会把值写入 profile 的 cordis.patch.yml(明文,依赖文件权限 600)。若不想让 Key 落在配置文件里,可用文件或环境变量:

  1. Key 文件(权限 600):
echo 'sk-...' > ~/.dsh/mimo-asr.key && chmod 600 ~/.dsh/mimo-asr.key
  1. 环境变量:MIMO_API_KEY=sk-...

常用字段(带 ★ 的可于设置页修改):

字段 默认 说明
providerId mimo-cloud 须与 registry 的 defaultProvider 一致
apiKey ★ 空 空则回落环境变量与 key 文件
access ★ api api 或 token-plan
cluster ★ cn Token Plan:cn / sgp / ams
model ★ mimo-v2.5-asr 模型 id
language ★ auto auto / zh / en
timeoutMs 120000 单次转写超时

典型用法

  1. 在 App 中:设置 › 语音输入 › 引擎(选「自动」时可能先尝试系统识别器,部分国产 ROM 会多等一次失败;可显式选云端 provider)。
  2. 点输入框右侧麦克风,说话后松手或点停止,转写文本应落入输入框。

验证:

  • 设置 › 语音输入 中应能看到 provider(来自 speech/catalog),phase 为 ready。
  • 麦克风录一句 → 文本进输入框即表示链路正常。

卸载:

dsh plugin --profile <profile> remove dsh-mimo-asr

然后重启引擎。

适用场景与注意

适合谁:已在用 DSH Go 麦克风、希望免本地 ASR 模型、能使用小米 MiMo API 的开发者或用户。

务必注意:

  • 不要与官方「语音输入」bundle 同时启用:两者都会注册 speechToText 与 speech/*,条目 id 会冲突。
  • 识别流量走公网 HTTPS;需自行保管 API Key 并了解 MiMo 服务条款。
  • 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本介绍仅基于公开 README 与包元数据。

常见排错(摘自 README):

现象 可能原因
日志 pending (waiting for service: speechToText) registry 未起来;检查 cordis.patch.yml 中 required 的 defaultProvider
App 提示请在引擎中启用并配置语音转写 speech/catalog 为 null,或 selection.providerId 无对应 provider
MiMo ASR HTTP 401 Key 错误或 access/cluster 不匹配
MiMo ASR: no API key 设置页、环境变量、key 文件均未配置
返回空文本 无人声,或尝试 language: zh 等明确语言

结尾

dsh-mimo-asr 把 DSH Go 麦克风熟悉的 speech/* 接口接到小米 MiMo 云端 ASR,省去本地 SenseVoice 体积与 proot 运行时,适合「联网工具」场景下的轻量语音输入。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye