前言¶
在 DeepSeek Harness(DSH)裏做語音輸入時,常見做法是走雲端 STT:音頻要出本機,延遲和隱私都受服務商約束。若你主要說俄語、又希望標點與大小寫一併處理好,還需要在 DSH 側掛一個「只在本機推理、不往外出音頻和文本」的 provider。下面介紹社區插件 dsh-speech-to-text-gigaam(維護者 kelvmg):它把 Sber 的 GigaAM v3 E2E RNNT 接到 DSH 實驗性語音輸入 bundle 上,識別在主機本地完成。
這是什麼¶
dsh-speech-to-text-gigaam 是 DSH 的語音識別 provider,基於 Sber GigaAM 的 v3 E2E RNNT 模型,面向 俄語;輸出帶標點與大小寫。插件當前版本 0.4.0(MIT),倉庫:https://github.com/kelvmg/dsh-speech-to-text-gigaam。在 SkillHub 目錄中歸類爲 模型推理。
核心功能¶
- 本地識別:錄音在本機轉寫,臨時 WAV/ transcript 用完後刪除;README 明確說明不上傳音頻、文本或遙測。
- 與 DSH 語音準備流程對齊:啓用後仍走現有的
check → model → verify → load契約;激活階段只檢查本地資源,不會在後臺偷偷拉安裝包。 - 一鍵準備運行時(0.4.0):在支持的平臺上,通過界面 Download and prepare 可安裝私有 Python 3.11.14、PyTorch/torchaudio 2.8.0、鎖文件依賴、GigaAM 源碼(固定 commit)以及經
imageio-ffmpeg提供的 ffmpeg,無需系統 Python、Homebrew、git 或單獨裝 ffmpeg。 - 引導模型:默認下載並校驗 Sber CDN 上的
v3_e2e_rnnt.ckpt與 tokenizer;語音設置裏的來源選擇器 僅作用於模型文件,不影響運行時依賴下載源。 - 完整性:運行時歸檔、源碼與帶 hash 的 Python 包有固定校驗;模型側校驗 checkpoint MD5 與 tokenizer SHA-256。
安裝與啓用¶
依賴:DSH 需帶 @deepseek-ai/dsh-experimental-voice-input-bundle,Node 20.3+(由 DSH 宿主提供)。建議預留約 4 GB 磁盤、約 2 GB 內存;首次準備通常 3–20 分鐘(視網絡與機器而定)。
官方 README 給出的安裝步驟如下(無需終端):
- 在 DSH 中打開 Plugins → Add plugin,安裝下列地址並啓用 bundle:
https://github.com/kelvmg/dsh-speech-to-text-gigaam
- 打開語音設置,選擇 GigaAM v3 · Russian (punctuation),語言選
ru或auto。 - 點擊 Download and prepare,在現有語音準備卡片中查看進度;支持取消與重試。
- 準備完成後即可開始聽寫。
平臺說明(以 README 爲準):0.4.0 的自動安裝僅支持 macOS Apple Silicon(arm64,macOS 13+)。其他平臺會在下載前給出明確失敗說明;高級用戶可爲已配齊依賴的解釋器設置絕對路徑 pythonPath。Intel Mac 不受自動安裝支持(官方 PyTorch 與當前 GigaAM NumPy 要求衝突)。
數據與模型默認落在:
~/.dsh/speech-to-text/gigaam/runtime/ # 安裝器、私有 Python、venv、緩存與就緒標記
~/.dsh/speech-to-text/gigaam/models/ # checkpoint 與 tokenizer
從 0.3 升級:已有 models/ 可複用;舊的手動 venv/ 不會被刪,默認 venv 改爲 runtime/venv/,更新插件後需再點一次 Download and prepare。若要堅持自管解釋器,顯式設置 pythonPath 爲其絕對路徑。
典型用法¶
日常用法就是:安裝並啓用 bundle → 選好 GigaAM v3 · Russian (punctuation) → Download and prepare → 聽寫。插件以當前 DSH 進程權限運行;安裝前宜自行查看倉庫源碼與 MIT 許可證(GigaAM 爲 SberDevices MIT;uv、PyTorch、ffmpeg 等保留各自上游許可)。
準備階段會訪問 GitHub(uv、固定 standalone Python、GigaAM 源碼)、pypi.org / files.pythonhosted.org 以及 Sber 模型 CDN cdn.chatwm.opensmodel.sberdevices.ru;不會修改系統 Python、shell 配置或全局 PATH。出錯時診斷寫入系統臨時目錄下的 dsh-gigaam-stt.log。
高級配置在 Cordis 項 speech-to-text-gigaam 上(默認值見倉庫 cordis.patch.yml),例如:
| 配置項 | 含義摘要 |
|---|---|
dataRoot |
默認 ~/.dsh/speech-to-text/gigaam |
pythonPath |
默認 dataRoot/runtime/venv/bin/python;顯式路徑則禁用託管安裝 |
model |
默認 v3_e2e_rnnt |
device |
默認 cpu;auto 可能選 MPS;README 寫明僅 CPU 做過 smoke test |
maxChunkSeconds |
默認 20,限制在 3…24.5 |
開發者可在克隆後的倉庫裏用 Node 做無模型迴歸或冒煙(README 摘錄):
npm ci
npm test
npm run setup:runtime
npm run test:smoke
適用場景與注意¶
- 適合:在 DSH 裏以俄語做本地聽寫、希望標點/大小寫一併輸出、且能接受首次準備時的下載與磁盤佔用;在 Apple Silicon Mac 上希望儘量少碰系統 Python 的用戶。
- 不適合或需自備環境:非 arm64 macOS 自動一鍵準備不可用;Intel Mac 需自行解決 PyTorch/NumPy 與 GigaAM 的兼容後再用
pythonPath。 - 安全與信任:插件會從上述網絡地址拉取二進制與模型;雖有多處 hash/大小校驗,仍應在組織策略允許的前提下安裝,並理解其以 DSH 進程權限讀寫
~/.dsh/speech-to-text/gigaam與臨時音頻文件。
結尾¶
dsh-speech-to-text-gigaam 把 GigaAM 俄語 E2E 識別接到 DSH 語音輸入鏈路上,強調本地隱私與可重複的 preparation 流程;在支持的 Mac 上可用界面完成環境與模型準備。目錄頁:https://www.skillhub.cn/plugins/kelvmg/dsh-speech-to-text-gigaam;源碼與完整配置說明:https://github.com/kelvmg/dsh-speech-to-text-gigaam。