前言¶
DeepSeek Harness (DSH) 採用插件化架構,旨在擴展系統能力。DSH Realtime Voice 是一個官方形態的實時語音 Agent 插件,提供全雙工語音交互與打斷能力,支持通過語音啓動、追加、糾正或停止 DSH Agent 的工作。
核心功能¶
交互與界面¶
安裝後,DSH 原生 3080 WebUI 的撥號按鈕會出現在發送按鈕右側,使用同尺寸、同色系的藍色圓形通話圖標。界面包含一個獨立可拖動的語音浮窗,支持展開收起,並在運行時顯示動態波形和計時。用戶可在通話中持續對話、打斷播報或詢問進度。
模型切換與打斷¶
在 WebUI 的“設置 → 插件 → DSH 實時語音”中,可以一鍵切換 Qwen Audio Realtime Flash/Plus 模型,下一通通話生效。插件支持快速聲學打斷(採用瀏覽器本地起音檢測、Host 顯式取消和百鍊 VAD 三層打斷)和智能語義輪次切換。
安全性與架構¶
插件自動識別 DASHSCOPE_API_KEY,也支持通過 DSH 官方的 write-only credentials API 安全寫入。Key 不進入瀏覽器包,不會被寫入 cordis.patch.yml、瀏覽器代碼或 Git。插件不修改 DSH 源碼,不另起後臺進程,卸載時會清理所有資源。
語義交接與閉環¶
插件採用“雙平面”運行時:Qwen Audio Realtime 負責低延遲的聽、說、問答和 VAD;DSH Agent 負責工具、項目和執行。只有文件、應用等真實工作通過 Function Call 交給 DSH。插件訂閱 DSH 的 approval/requested、question/requested 事件,實現審批與追問閉環;訂閱 turn/end 等事件,實現進度與終態閉環。
協議與音頻¶
插件提供 dsh.voice.v1(WebUI)和 dsh.voice.direct.v1(微信/原生客戶端)控制協議。下行 PCM 按響應重組爲 24kHz/mono/s16le 的 40ms(1920 字節)有序幀。
安裝與配置¶
使用官方 CLI 進行安裝:
dsh plugin --profile web add github:martinbear1/dsh-realtime-voice#v0.1.0-alpha.9
卸載命令如下:
dsh plugin --profile web remove @harness-remote/dsh-realtime-voice
在 WebUI 的“設置 → 插件 → DSH 實時語音”中配置 DASHSCOPE_API_KEY。
使用示例¶
- 在 WebUI 輸入框旁點擊出現的藍色撥號按鈕。
- 持續對話,Agent 會實時轉寫並播報。
- 在通話過程中打斷 Agent 播報或要求其執行具體任務。
- 在插件設置頁面切換 Qwen Audio Realtime Flash 或 Plus 模型。
注意事項¶
- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
- 插件不修改 DSH 源碼,不另起後臺進程,卸載時會清理所有資源。
- 瀏覽器端不可回讀明文 Key。
- 小程序 V1 僅支持前臺實時通話。
- 自動測試不會擅自採集或上傳環境音。
總結¶
DSH Realtime Voice 將 Qwen Audio Realtime 的低延遲交互能力與 DSH Agent 的執行能力結合,通過語義交接和閉環機制,實現了語音驅動的 Agent 工作流。開發者可通過上述命令快速集成到 DSH 環境中。