前言¶
在使用 DeepSeek Harness(DSH)進行開發或交互時,給助手回覆添加語音輸出能提升體驗。現有的方案往往依賴雲端 API,存在隱私泄露或網絡延遲風險。dsh-gpt-sovits 插件解決了這個問題,它將本地部署的 GPT-SoVITS 引擎接入 DSH Web GUI,實現完全離線的語音合成。
插件概覽¶
該插件由 91koukou 維護,屬於模型推理類插件。它利用 DeepSeek 的插件化架構,在 DSH Web GUI 中集成了 GPT-SoVITS 的語音合成能力。插件不附帶任何模型權重、參考音頻或音頻樣本,也不替你啓動引擎,使用者需自行準備 GPT-SoVITS 引擎和音色權重。
核心功能¶
插件提供了以下核心能力:
-
播放控制
- 逐條朗讀(單信道搶佔):播放中再點即停,點別的回覆直接切換。
- 自動朗讀(排隊,不中斷):流式回覆只讀新增且到句號的部分,一句接一句唸完。
- 啓動問候(預熱引擎):向空閒引擎請求問候語,識別到引擎工作即停止。
- 新一輪取消上一輪:新一輪開始清空待播隊列、作廢飛行中的合成。
- 切換會話即停播:切換會話時立即停止當前播放。
-
文本處理
- 符號念成人話:將
cmd.exe變「cmd點exe」,3-10變「3到10」,3/4變「4分之3」。 - 單位不會念錯:
120km/h變「120千米每小時」,100MB/s變「100兆字節每秒」。 - 停頓由標點決定:句號 340ms、逗號 150ms、省略號 460ms、段落 520ms。
- 中文分句完整:
。!?;…及其連寫爲句末,段落爲硬邊界。 - 只讀該讀的:過濾代碼塊、URL、哈希等,表格不念分隔線。
- 符號念成人話:將
-
引擎與安全
- 流式/總結分流:一句一請求(
cut0)和打包切(cut5)。 - 音頻只在內存:不爲每句話寫 WAV 到硬盤,條數與字節雙重上限。
- 逐句語速與情感:語速、temperature、top-k、top-p 隨每一句發出。
- 音色預設:名稱 + 參考音頻 + 參考文本 + 參考語言,支持跳過模型重載。
- 設置面板:含運行狀況、內嵌引擎控制台、引擎地址、音色、語速等。
- 只監聽本機:所有路由拒絕非 loopback 來源。
- 流式/總結分流:一句一請求(
安裝與啓用¶
-
前置條件
- 已部署好的 GPT-SoVITS(
api_v2.py能跑起來)。 - 至少一對自己訓練的 GPT(
.ckpt)+ SoVITS(.pth)權重,以及一段參考音頻。 - DSH 桌面版或 Web 版。
- 已部署好的 GPT-SoVITS(
-
啓動引擎
插件只負責”說話”,不負責起引擎。在 GPT-SoVITS 目錄下運行:
cd <你的 GPT-SoVITS 目錄>
runtime\python.exe api_v2.py -a 127.0.0.1 -p 9880 -c GPT_SoVITS/configs/tts_infer.yaml
首次加載模型需要 12-30 秒。
- 安裝插件
dsh plugin --profile desktop add github:91koukou/dsh-gpt-sovits
安裝完成後刷新頁面。
- 配置
打開 設置 → 語音朗讀(GPT-SoVITS)。- 引擎地址:填
http://127.0.0.1:9880。 - 音色預設:包含名稱、參考音頻路徑、參考音頻文本、參考語言。
- 其他設置:語速、採樣步數、音量等。
- 引擎地址:填
典型用法¶
- 安裝指定版本:
dsh plugin --profile desktop add github:91koukou/dsh-gpt-sovits#v0.3.0 - 卸載插件:
dsh plugin --profile desktop remove dsh-gpt-sovits - 離線自檢:
node scripts/selfcheck.mjs - 集成測試:
node scripts/integration.mjs
注意事項¶
- 無權重分發:本倉庫不附帶任何模型權重、參考音頻或音頻樣本,也不替你啓動引擎。
- 許可證範圍:代碼以 MIT 許可發佈,但模型權重不在 MIT 許可覆蓋範圍內。
- 合規性:合成音頻可能被誤認爲真人發聲,建議對外分發時主動披露。僅可使用有權使用的聲音,不得克隆公衆人物聲音。
- 獨立性:與 DeepSeek、GPT-SoVITS 維護者無隸屬關係,爲第三方社區插件。
結語¶
dsh-gpt-sovits 爲 DeepSeek Harness 提供了一套完整的本地化語音合成解決方案,適合需要高隱私性或離線運行場景的用戶。相關文檔與下載詳見倉庫鏈接。