前言¶
DeepSeek Harness(DSH)採用插件化架構,允許開發者擴展功能。在 Web GUI 環境下,用戶往往需要更自然的交互方式,而非依賴鍵盤打字。dsh-voice-chat 插件解決了這一問題,它讓用戶可以通過語音輸入指令,並直接聽到 AI 的語音回覆。
插件概述¶
這是一個豆包式語音對話插件,由 maoyuching 維護。它將語音輸入(ASR)與語音輸出(TTS)集成到 DSH Web GUI 中,實現“點一下說話,AI 用語音彙報”的閉環體驗。
核心功能¶
-
語音輸入
點擊麥克風按鈕(🎤)開始錄音,聽到“叮”提示音後說話。說話結束後停頓 2.5 秒,系統會聽到“咚”提示音並自動結束錄音,隨後將轉寫後的文本發送給 AI。 -
語音輸出
AI 回覆後,系統會自動調用 TTS 引擎進行合成朗讀,語速默認增加 10%。 -
引擎支持
- ASR 引擎:支持 SiliconFlow(SenseVoice,國內免費)、Groq(Whisper)、小米 MiMo(chat/completions 協議)以及自定義的 OpenAI 兼容端點。
- TTS 引擎:支持 Edge TTS(微軟免費,無需額外運行時)、小米 MiMo TTS 以及自定義 TTS。
-
配置隔離
ASR 和 TTS 的配置互不干擾。每個引擎各自保存一份 Base URL、模型、API Key 和音色。切換引擎時,配置不會互相覆蓋。 -
播報控制
- 單信道播報:同一時刻只播放一個聲音。新回覆發出時會搶佔並中斷舊的播報,也可通過快捷鍵或界面按鈕立即打斷。
- 防重播:系統會記錄會話中已播報的回覆內容,重新進入會話時不會重複朗讀。
- 靜音開關:播報過程中點擊靜音按鈕可立即靜音,再次點擊恢復自動朗讀。
安裝與啓用¶
安裝該插件需要已安裝並運行 DeepSeek Harness(dsh)Web GUI。
- 執行以下命令安裝插件:
dsh plugin --profile web add dsh-voice-chat
- 安裝完成後,重啓
dsh web使配置生效。
使用與配置¶
快捷鍵與入口¶
- 切換麥克風:使用
Ctrl+Shift+Space快捷鍵(備用Ctrl+M/Ctrl+Shift+M)。 - 設置入口:在 DSH 設置彈窗(左下角齒輪圖標)的左側點擊「voice chat」類目進行配置。
配置文件¶
除了在設置面板修改,也可以在 profile 的配置文件中覆蓋設置。文件路徑通常爲 ~/.dsh/profiles/web/cordis.patch.yml。修改後需重啓 dsh web 生效。
配置優先級:設置面板 > cordis.patch.yml(按引擎 > 舊式扁平鍵)> 環境變量 > 默認值。
- id: dsh-voice-chat
name: 'dsh-voice-chat'
config:
asrEngine: siliconflow # 選擇 ASR 引擎
asrApiKey: sk-xxxx # ASR 密鑰
asrBaseUrl: https://api.siliconflow.cn/v1
asrModel: FunAudioLLM/SenseVoiceSmall
silenceMs: 2500
ttsEngine: edge # 選擇 TTS 引擎
voice: zh-CN-XiaoxiaoNeural # 音色
rate: '+10%' # 語速調整
環境要求¶
- 宿主環境:需要 Node.js ≥ 22(宿主與瀏覽器端均需要)。
- 運行環境:需已安裝並運行
dsh web。 - 瀏覽器:推薦 Chrome 或 Edge 瀏覽器(需要支持
MediaRecorder錄音 API)。 - API 密鑰:使用 SiliconFlow 時註冊即有免費額度;使用 MiMo 時需按用量計費。
結語¶
dsh-voice-chat 通過集成 ASR 和 TTS 能力,簡化了 DSH Web 環境下的交互流程。其配置隔離機制保證了多引擎切換的靈活性,適合需要在本地運行、追求語音交互體驗的開發者使用。
- GitHub: https://github.com/maoyuching/dsh-voice-chat