dsh-voice-input:DeepSeek Harness 語音輸入插件

前言

DeepSeek Harness(DSH)是一個插件化框架,旨在擴展其核心功能。語音輸入通常需要切換窗口或複製粘貼文本。dsh-voice-input 插件在 DeepSeek Harness 的 composer 輸入框中集成了一個麥克風按鈕,並提供了一個 Web 設置頁面。它通過瀏覽器引擎或任何 OpenAI 兼容的 /audio/transcriptions 端點實現語音轉文字(ASR)。

核心功能

該插件具備以下能力:

  1. 輸入框內集成:在輸入框左側工具欄增加麥克風按鈕,支持開始/停止錄音快捷鍵(Alt+M)及取消快捷鍵(Esc)。
  2. 實時狀態反饋:錄音時輸入框上方出現狀態條,顯示電平、計時、實時文字、完成狀態及錯誤信息。
  3. 雙引擎支持:
    • 瀏覽器引擎:零配置,調用瀏覽器原生語音識別(需 Chrome / Edge)。
    • OpenAI 兼容 API 引擎:支持雲端服務或本地服務,通過 /audio/transcriptions 接口進行轉錄。
  4. 本地 ASR 支持:支持本機 Whisper 服務器,提供一鍵準備腳本。
  5. 零依賴安裝:無構建步驟,無運行時依賴,宿主僅使用 Node 內置 fetch / FormData / Blob。
  6. 安全憑證管理:API Key 從憑證庫讀取(默認 VOICE_ASR_API_KEY),不在配置文件中明文存儲。
  7. 自動錯誤處理:針對 401(認證錯誤)、404(路徑錯誤)、413(文件過大)、超時等常見錯誤提供提示。
  8. 工具診斷:註冊了 voice_input_status 工具,可直接詢問 DeepSeek 當前配置及狀態。

安裝與啓用

在安裝前,請確保環境滿足以下要求:

  • DeepSeek Harness 0.1.5-rc.1 或更新版本。
  • Node.js 22+(宿主端使用 AbortSignal.any、FormData、Blob)。
  • 一個現代瀏覽器(Chrome / Edge 支持 SpeechRecognition;Firefox 不支持)。

執行以下命令進行安裝:

# 執行安裝
./install.ps1

安裝完成後,刷新 Web UI,進入「設置 → 語音輸入」即可使用。

若需卸載,請執行:

./install.ps1 -Uninstall

注意:不要與 dsh plugin --profile web add github:owner/repo 命令同時使用。

使用方法

基礎操作

  1. 在輸入框左側工具欄點擊麥克風按鈕(或按 Alt+M)開始錄音。
  2. 錄音中按 Esc 取消且不寫入輸入框。
  3. 說話結束後,轉寫結果會自動填入輸入框。

引擎選擇

  1. 瀏覽器引擎(無配置):刷新頁面後直接點擊麥克風。若瀏覽器支持,將使用原生識別引擎。注意:瀏覽器引擎在中國大陸通常不可用。
  2. 雲端轉寫接口:在設置頁面配置接口地址(如 OpenAI、SiliconFlow、Groq 等)和模型。
  3. 本地轉寫:使用 local-asr/ 文件夾提供的離線 Whisper 服務,或通過設置頁面的「本機後端(一鍵準備)」腳本啓動。

Ollama 與本地模型

  • Ollama:插件支持檢測 Ollama 模型,但目前無法使用,因爲 Ollama 0.34 版本的官方模型庫中沒有任何模型具備音頻投影(audio/mmproj)能力。
  • 本地 Whisper:推薦使用支持 OpenAI 協議的本地服務(如 whisper.cpp 或 faster-whisper-server)。

配置與注意事項

API Key 管理

插件不會在配置文件中保存 API Key,而是從憑證庫按引用讀取(VOICE_ASR_API_KEY)。這使得輪換 Key 對下一次錄音立即生效,無需修改配置。

模型與瀏覽器限制

  • Ollama:若要使用 Ollama 進行轉寫,模型必須具備音頻投影(mmproj)能力。目前 Ollama 官方庫中暫無此類模型。
  • Firefox:由於不支持 SpeechRecognition,Firefox 無法使用瀏覽器原生引擎。

本機後端腳本

插件提供了 PowerShell 腳本用於管理本地 ASR 服務和 Ollama。安裝腳本會自動處理 cordis.patch.yml 的託管行,並在安裝完成後校驗文件完整性。

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

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

小夜