dsh-local-stt:在 DeepSeek Harness 裏接入本地 GigaAM 與 Whisper 語音轉寫

前言

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。

  1. 接入官方語音輸入鏈路
    須先啓用 @deepseek-ai/dsh-experimental-voice-input-bundle(「語音輸入」實驗包)。本地插件只增加識別器,麥克風與 WAV 仍由官方包管理。

  2. 兩個 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 預下載模型後,識別階段不依賴網絡。

  3. 提供方在 UI 中切換
    路徑:插件 → 語音輸入 → 提供方,可出現例如:
    - GigaAM v3 RNNT (локально):俄語、速度快;
    - Whisper large-v3-turbo q5_0 (локально):英語與混合語等;
    以及官方自帶的 SenseVoiceSmall (INT8)(README 註明其不懂俄語)。從 Whisper(en)切到 GigaAM 時,需先把語言選爲 ru。

  4. 依賴關係
    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 對照安裝步驟。

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

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

小夜