前言¶
DeepSeek Harness(DSH)的實驗性「語音輸入」包負責麥克風、錄音與界面切換;若希望識別在本地完成、不把音頻送到遠端服務,需要自己接一套 speech-to-text 提供方。社區插件 dsh-local-stt(維護者 nikimagic,分類:模型推理)在 Windows 上爲官方語音輸入增加兩個本地引擎:GigaAM v3 RNNT 與 Whisper large-v3-turbo(whisper.cpp),通過 ctx.speechToText 掛進同一套麥克風與提供方選擇器,不改動官方包對 WAV 與設置的主導權。
這是什麼¶
dsh-local-stt 是面向 DSH 0.2.x 的本地語音識別插件(當前包版本 0.2.0,MIT)。可選裝一個聚合包(列表裏一行同時含 GigaAM 與 Whisper),或分別安裝 dsh-local-gigaam、dsh-local-whisper。插件僅在 win32 平臺聲明支持;README 寫明環境爲 Windows 10/11 x64,並在 0.2.2-rc.1 上驗證過。
README 中的性能參考(約 4 秒音頻):GigaAM v3 RNNT 經 gigastt 約 0.25 秒;Whisper large-v3-turbo 經 whisper.cpp 在 CPU 上約 9 秒。GigaAM 面向俄語;Whisper 支持俄語、英語、自動語言等。
核心功能¶
下面介紹插件實際做的幾件事,均來自倉庫 README 與 package.json。
-
接入官方語音輸入鏈路
須先啓用@deepseek-ai/dsh-experimental-voice-input-bundle(「語音輸入」實驗包)。本地插件只增加識別器,麥克風與 WAV 仍由官方包管理。 -
兩個 loopback 推理服務
-gigastt serve監聽127.0.0.1:9876,接收官方 API 提供的 16 kHz、單聲道 PCM16 WAV,返回{ text, audioSeconds, inferenceSeconds }。
-whisper-server監聽127.0.0.1:8001,格式相同。
兩者僅綁定本機迴環;setup.ps1預下載模型後,識別階段不依賴網絡。 -
提供方在 UI 中切換
路徑:插件 → 語音輸入 → 提供方,可出現例如:
-GigaAM v3 RNNT (локально):俄語、速度快;
-Whisper large-v3-turbo q5_0 (локально):英語與混合語等;
以及官方自帶的SenseVoiceSmall (INT8)(README 註明其不懂俄語)。從 Whisper(en)切到 GigaAM 時,需先把語言選爲ru。 -
依賴關係
peerDependencies包含@deepseek-ai/dsh-experimental-speech-to-text;engines.dsh爲^0.2.0-rc.1。
安裝與啓用¶
安裝分三步:準備引擎與模型、把插件索引加入 DSH、在語音輸入裏選提供方。約需 1 GiB 磁盤空間;互聯網僅用於安裝與 setup.ps1 下載,識別本身本地執行。
1. 下載引擎與模型¶
在插件倉庫所在目錄的普通 PowerShell 中執行:
powershell -ExecutionPolicy Bypass -File .\setup.ps1
腳本校驗 SHA-256,並將文件擺放到默認路徑,例如:
%USERPROFILE%\.dsh\bin\gigastt\gigastt.exe
%USERPROFILE%\.dsh\models\gigaam\
%USERPROFILE%\.dsh\models\gigaam\punct\
%USERPROFILE%\.dsh\bin\whisper\whisper-server.exe
%USERPROFILE%\.dsh\models\ggml-large-v3-turbo-q5_0.bin
若只要一個引擎,可加參數:
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -SkipWhisper
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -SkipGigaam
2. 添加插件索引並安裝¶
確認已啓用實驗性「語音輸入」包後,在 DSH 中:插件 → 更多 → 自定義插件商店 → 添加索引源,填入:
https://raw.githubusercontent.com/nikimagic/dsh-local-stt/main/docs/index.json
在商店中安裝 「GigaAM + Whisper — локально»(雙引擎一體),或按需單獨安裝 GigaAM / Whisper 條目。安裝完成後重啓 DeepSeek Harness。
README 推薦的商店路徑爲主路徑;手動安裝(web 配置)示例:
dsh plugin --profile web add nikimagic/dsh-local-stt
桌面(desktop)配置由應用管理,README 建議通過商店或 pnpm 安裝,CLI 不能直接改 desktop。也可在 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 中加入 dsh-local-stt 後重啓;默認路徑已與 setup.ps1 一致,一般無需改 YAML。
3. 選擇提供方¶
重啓後進入 插件 → 語音輸入 → 提供方,按語言需求在 GigaAM(俄語)與 Whisper(多語)之間切換。
典型用法與架構要點¶
使用方式與官方語音輸入一致:錄一段音,由當前選中的本地提供方返回文本。技術細節上,根目錄 index.js 作爲捆綁兩個提供方的入口;子包位於 packages/dsh-local-gigaam/ 與 packages/dsh-local-whisper/;cordis.patch.yml 負責把根 bundle 寫入配置文件。
社區插件目錄在 SkillHub 等平臺獨立收錄,與 DeepSeek / 幻方無官方從屬關係;安裝前宜自行查看源碼與許可證。插件代碼爲 MIT;gigastt、GigaAM、whisper.cpp 及 Whisper 權重等沿用各自許可,模型不經倉庫分發而是由 setup.ps1 從官方發佈頁拉取。
適用場景與注意¶
適合誰:在 Windows 上使用 DSH 0.2.x、已開語音輸入實驗包,且希望俄語優先用 GigaAM、英語或混合語用 Whisper、全程數據不出本機的用戶。
限制與注意:
- 僅 Windows x64;非 Windows 環境不在
package.json的platforms列表中。 - GigaAM RNNT 僅俄語;多語場景用 Whisper。
- 插件以當前 DSH 進程權限運行;安裝
setup.ps1會寫入用戶目錄下的.dsh二進制與模型,執行前請覈對腳本來源。 - desktop 與 web profile 的安裝方式不同,避免誤用 CLI 改 desktop。
結尾¶
dsh-local-stt 把 GigaAM v3 與 whisper.cpp 收成一條與官方語音輸入兼容的本地 STT 鏈路:一次 setup.ps1、一條索引 URL、商店裏選一個條目即可與 SenseVoice 等官方提供方並列切換。進一步瞭解可從目錄頁與倉庫 README 對照安裝步驟。