dsh-voice-live:DeepSeek Harness 實時雙工語音插件

前言

DeepSeek Harness (DSH) 採用插件化架構,開發者若想接入實時語音對話能力,通常需要自行處理 WebSocket 升級、流式識別與合成、麥克風權限管理等底層邏輯。dsh-voice-live 插件旨在解決這一痛點,將麥克風採集、火山引擎流式語音識別(ASR)、語音合成(TTS)以及瀏覽器端的語音控制整合在一起,提供開箱即用的實時雙工語音支持。

這是什麼

這是一個爲 DeepSeek Harness 提供實時雙工語音能力的插件,由用戶 tangzheng202202 維護。插件通過主機端註冊 /voice WebSocket 路由與客戶端端渲染控制相結合的方式,實現了從用戶說話到助手回覆的全流程自動化。

核心功能

插件包含以下核心能力:
* 實時語音交互:支持點擊麥克風開始採集,助手即時響應並朗讀。
* 流式處理:集成火山引擎流式 ASR 與 TTS,延遲低。
* 服務端端點檢測:服務器端檢測約 1.5 秒靜音後自動提交識別結果,無需手動停止。
* 打斷與喚醒:支持在播放過程中打斷,並提供喚醒詞支持(默認關閉)。
* 實時字幕:將識別內容實時渲染到編輯器草稿中。
* 瀏覽器回聲消除:利用瀏覽器原生 AEC 技術減少回聲。

安裝與啓用

目前該插件尚未通過 npm 正式發佈。建議直接在 DSH 倉庫的 monorepo 中構建和運行。請克隆以下 fork 倉庫並按照 DSH 的構建流程操作:

# 克隆 DSH Monorepo Fork
git clone https://github.com/tangzheng202202/deepseek-harness.git
cd deepseek-harness
# 在 monorepo 中構建並運行
# 具體路徑需參考 DSH 官方文檔,或自行 vendor 缺失的依賴包

典型用法

  1. 啓動語音:在編輯器中點擊麥克風按鈕,系統開始採集語音並在草稿中實時顯示識別結果。
  2. 自動提交:說話結束後,系統等待約 1.5 秒靜音,自動觸發識別結果提交,無需再次點擊停止。
  3. 回覆優先:默認開啓“回覆優先”模式,系統會先朗讀一句確認語(如“好的,我去查一下”),隨後再播放真正的回答。
  4. 打斷交互:在助手回覆過程中,如果用戶再次說話,系統會立即停止播放並取消當前正在進行的語音合成任務,開始新的識別。

適用場景與注意

  • 適用場景:適合需要在 Web 端快速集成實時語音對話能力的開發者。
  • 注意事項:
    • 發佈狀態:目前 npm 發佈被上游阻塞,因缺少 @deepseek-ai/dsh-compact 依賴,無法作爲獨立插件安裝。
    • 喚醒詞限制:喚醒詞功能依賴 Web Speech API,默認關閉。Chrome 在中國大陸無法使用 Google 雲識別服務,僅 Safari (macOS) 可用;本地離線引擎 sherpa-onnx 暫不可用。
    • 回聲消除:依賴瀏覽器原生 AEC,受限於 Chrome 某些 Bug,當前爲半雙工模式(播放時停止採集)。
    • 實時字幕:目前僅顯示在編輯器草稿中,暫無浮動字幕。
    • 服務端端點:需確保使用 bigmodel_async 並開啓 enable_nonstream 參數。
  • 插件以主機進程權限運行,使用前請仔細檢查源碼與 MIT 許可證。

結語

dsh-voice-live 爲 DSH 提供了基礎的語音交互骨架,通過火山引擎實現流式語音能力。開發者可參考其源碼實現,在 Monorepo 中集成使用。

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

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

小夜