dsh-mimo-asr:用小米 MiMo 雲端 ASR 接 DSH Go 麥克風

前言

在 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 運行時,適合「聯網工具」場景下的輕量語音輸入。

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

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

小夜