前言¶
DeepSeek Harness (DSH) 採用插件化架構,生態由社區貢獻。dsh-voice-call 是一款面向個人的語音通話助手插件,旨在解決 DSH 在原生語音交互上的空白。它通過自動創建專屬工作區和會話,實現跨重啓的持久化對話;通過懸浮球面板提供快捷入口;通過 FunASR 和雲端 TTS 實現語音識別與合成;通過 voice_task 工具將子代理任務分發至獨立會話執行,並跟蹤進度。
核心功能¶
- 專屬工作區與會話:安裝並重啓 DSH 後,Host 會自動創建專屬工作區「語音通話」與專屬會話
voice-call-main。該會話在 DSH 重啓後依然延續,無需手動創建。 - 懸浮球通話面板:頁面右下角提供懸浮球,支持拖拽。點擊展開通話、任務、設置面板。重啓後自動出現。
- 語音識別:支持 FunASR HTTP 模式。默認 URL 爲
http://127.0.0.1:10095/v1/audio/transcriptions,模型爲fun-asr-nano。支持流式與雲端 API。 - 語音回覆:支持 MiniMax、MiMo-V2.5-TTS 和 OpenAI 兼容 TTS。支持語速調節、最大字數截斷檢測。
- MiMo 導演模式:在 MiMo-V2.5-TTS 模式下,支持導演模式(關閉/固定劇本/每輪自動)。支持音色克隆(VoiceClone),無需註冊 voice_id,樣本以 DataURL 發送。
- 任務分發:主會話通過
voice_task工具或面板分發任務至獨立任務會話。任務完成後自動語音播報結果。 - 喚醒詞模式:可配置喚醒詞(默認「小鯨魚」)和休眠時長(默認 8 秒)。建議配合本地 ASR 使用以降低延遲。
安裝與啓用¶
本插件提供持久化安裝方式,無需手工編輯配置文件。安裝命令如下:
dsh plugin --profile web add @biliye/dsh-voice-call
安裝完成後,重啓 DSH。在「設置 → 插件」中應能看到 dsh-voice-call。重啓後,Host 會自動創建專屬工作區「語音通話」和會話 voice-call-main。
配置與使用¶
- 配置語音識別:在懸浮球打開的設置頁中,配置語音識別引擎。使用 FunASR 模式時,URL 填寫
http://127.0.0.1:10095/v1/audio/transcriptions,模型填寫fun-asr-nano。 - 開始通話:點擊懸浮球上的「▶ 開始通話」。直接說話,停頓約 1.2 秒,系統自動識別併發送。助手回覆後自動語音朗讀。
- 分發任務:在「任務」頁或語音說出“幫我查一下…”時,系統會將任務分發給子代理執行。任務完成後會自動語音播報。
- 使用 MiMo 導演模式:
- 在設置頁「語音回覆(TTS)」中,將「TTS 模型」切換爲
MiMo-V2.5-TTS。 - 填寫 API Key(從
platform.xiaomimimo.com控制台獲取,無需 GroupId)。 - 選擇音色(內置:冰糖/茉莉/蘇打/白樺/Mia/Chloe/Milo/Dean)。
- 開啓「導演模式」,可選擇「關閉」、「固定劇本」或「每輪自動」。
- 在設置頁「語音回覆(TTS)」中,將「TTS 模型」切換爲
注意事項¶
- 本地 ASR 建議:爲了隱私和更可靠的喚醒,建議使用本地部署的 FunASR Server。
- 音色克隆規範:⚠ 只應克隆你本人或已獲明確授權的聲音。樣本支持 mp3/wav,大小限制 10MB。
- 開發環境配置:如果在本地開發源碼並使用
dsh plugin add .安裝,由於nodeLinker: hoisted配置,默認是拷貝式安裝,修改源碼後需重啓才能生效。若需熱重載,需將安裝目錄替換爲 Junction,但需注意源碼目錄必須自帶node_modules,否則會導致宿主依賴解析失敗。
生態背景¶
DSH 理念是“一切皆插件”,社區目錄 skillhub.cn 提供插件收錄與搜索。本文檔基於已覈實的事實編寫,具體源碼與更新請查看 GitHub 倉庫。