dsh-speech-to-text-ru:爲 DSH 語音輸入增加離線俄語識別(GigaAM-v3)

前言

DeepSeek Harness(DSH)內置的 Voice input 插件用 SenseVoiceSmall 做本地轉寫,語言覆蓋中文、英文、粵語、日語和韓語,不包含俄語。若你在 DSH 裏用麥克風口述俄語,默認鏈路無法可靠識別。社區維護者 almaziphone 發佈的 dsh-speech-to-text-ru 在 Host 側再註冊一個 speechToText 提供方,基於 Sber 的 GigaAM-v3(MIT)與 DSH 已自帶的 sherpa-onnx 原生運行時,在 CPU 上離線推理,音頻不離開本機。下面介紹它的定位、能力與安裝用法。

這是什麼

dsh-speech-to-text-ru 是 DSH 的 bundle 插件,分類屬於模型推理。它不改變 DSH 的語音 UI,而是在 speechToText 服務旁增加 gigaam-ru 提供方:默認模型爲 GigaAM-v3 e2e CTC INT8(含標點、大小寫與數字歸一化),並可選 Whisper 類回退引擎以擴展多語。包體約 30 KB,模型權重首次使用時從 Hugging Face(可回退 hf-mirror.com)下載並做 SHA-256 校驗;許可證爲 MIT,當前包版本 0.1.0(見倉庫 package.json)。

數據流可概括爲:麥克風 → DSH speechToText 服務(Host)→ 本 bundle 的 GigaAM-v3 CTC int8 worker(CPU)。

核心功能

README 中列出的能力如下,均可在本機完成,無需雲 API 或額外 Python 服務。

維度 說明
模型 GigaAM-v3 e2e CTC INT8;參考俄語集 WER 3.0%(文檔稱 0 詞級錯誤,差異僅在逆文本歸一化)
速度 RTF 0.017(2 線程);約 8.4 s 語句解碼約 0.17 s,加載約 0.36 s
內存 峯值 RSS 約 564 MiB;空閒超過 idleTimeoutMs 後 worker 會停止
下載體量 模型約 319.9 MB + tokens 約 2 KB + Silero VAD 約 1.8 MB,按大小與 SHA-256 校驗
語言 原生 ru、auto;回退引擎可覆蓋 en 等更多語言
隱私 Host 上 CPU 推理;音頻不出機器
平臺 macOS arm64/x64、Linux x64/arm64、Windows x64(與 DSH Desktop 支持範圍一致)

依賴 DSH Desktop ≥ 0.2.1-rc.5(或由 dsh-base + dsh-web-app 組成的 CLI/Web profile)。磁盤約需 330 MB 模型緩存,識別器加載時約 0.6 GB RAM。首次準備模型需要網絡;完全離線機器可預置緩存目錄(見下文)。

安裝與啓用

順序很重要:須先啓用內置 Voice input,再安裝本 bundle。DSH 按 dsh.profile.bundles 順序應用 patch,俄語 bundle 須排在 voice-input 之後 才能成爲默認識別器。官方推薦的一鍵腳本會備份 profile、啓用 Voice input、安裝 bundle 並在 patch 中固定 defaultProvider: gigaam-ru 與 language: ru。

一鍵安裝(推薦)

bash -c "$(curl -fsSL https://raw.githubusercontent.com/almaziphone/dsh-speech-to-text-ru/main/scripts/install.sh)" install.sh

腳本使用 DSH Desktop 自帶的 dsh CLI,通過 dsh plugin add 拉取固定版本 sherpa-onnx-node@1.13.8(按平臺)。

手動安裝

  1. 在 DSH Plugins 中打開 Voice input(麥克風 UI、speechToText 服務與設置)。
  2. 添加 bundle(macOS 上 dsh 常見路徑爲 /Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh,可加入 PATH 或寫全路徑):
dsh plugin --profile desktop add github:almaziphone/dsh-speech-to-text-ru
  1. 刷新應用窗口(Cmd+R / Ctrl+R)。打開 Settings → Voice input:識別器應爲 GigaAM-v3 · RU (int8),語言 ru。若順序反了,在設置裏手動選一次,DSH 會按 profile 持久化。

其他來源(README 原文):

dsh plugin --profile desktop add ./dsh-speech-to-text-ru-0.1.0.tgz
dsh plugin --profile desktop add dsh-speech-to-text-ru
dsh plugin --profile desktop add /path/to/cloned/checkout

安裝後可在語音設置中使用 Download and prepare,或直接點麥克風:緩存完整後 provider 會喚醒 worker 並加載模型(約 0.4 s)。

離線準備

首次準備會將固定資源下載到 ~/.dsh/speech-to-text/gigaam-ru/,例如:

~/.dsh/speech-to-text/gigaam-ru/models/gigaam-v3/model.onnx         319 869 121 B
~/.dsh/speech-to-text/gigaam-ru/models/gigaam-v3/tokens.txt               2 006 B
~/.dsh/speech-to-text/gigaam-ru/models/silero/silero_vad.onnx         1 807 522 B

可將已準備機器上的該目錄複製到目標機同路徑(使用前仍會校驗 SHA-256),或在 profile patch 中通過 modelDirectory / vadModelPath 指向已有文件;禁止公網下載時可配置 modelOrigin 指向內網 Hugging Face 兼容鏡像(詳見倉庫 Configuration 一節)。

典型用法

  1. 在消息輸入框點麥克風,用俄語口述,點 Stop。
  2. 轉寫文本寫入草稿,帶標點、大小寫與歸一化數字(如 в 15:30、9:00),可再編輯或發送。
  3. 隨時在 Settings → Voice input 切換識別器或語言;選擇由 DSH Settings 服務按 profile 保存。

適用場景與注意

適合:在 DSH Desktop 或兼容 profile 下,需要本地、離線、CPU 俄語語音輸入的開發者或用戶;對數據不出本機有明確要求時,與內置 SenseVoice 形成互補。

注意:

  • 插件以當前 dsh 進程權限在 Host 運行;安裝前請閱讀 GitHub 倉庫 源碼與 MIT 許可證,自行評估信任邊界。
  • 社區插件目錄 SkillHub 條目 爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係;安裝命令與版本以倉庫 README 爲準。
  • 模型首次下載需網絡;磁盤與內存需滿足上文要求。

結尾

dsh-speech-to-text-ru 在 DSH「一切皆插件」的語音鏈路上,爲俄語補了一條與 SenseVoice 並列的離線識別路徑:GigaAM-v3 INT8、sherpa-onnx、本機 CPU。若你的場景是 Harness 裏用麥克風說俄語,可按官方順序安裝 bundle 並準備模型緩存。

  • 目錄頁:https://www.skillhub.cn/plugins/almaziphone/dsh-speech-to-text-ru
  • 源碼與文檔:https://github.com/almaziphone/dsh-speech-to-text-ru
羽毛球分组比赛记分
小程序二维码

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

小夜