前言¶
DeepSeek Harness(DSH)裏的智能體默認只有文字輸出。若要在對話裏直接「出聲」——帶語氣讀回覆,甚至按簡單旋律唱幾句歌詞——通常得自己接 TTS API、管播放器和文件路徑,和 Cordis 工具鏈也要單獨對接。dsh-voice 是社區維護者 LIU118117 發佈的 Host-only 插件,在 Harness 裏註冊 voice_speak、voice_sing、voice_status 三個工具,把本機 ChatTTS / edge-tts 與 ffmpeg 播放串成一條可配置流水線。下面介紹它的定位、能力與安裝用法。
這是什麼¶
dsh-voice 面向 DSH / Cordis 開發者:一句話合成帶可選情緒的語音,或把文字按預設旋律逐字變調後拼接成「唱歌」效果。插件分類爲模型推理;源碼與說明見 GitHub,社區目錄頁爲 skillhub.cn/plugins/LIU118117/dsh-voice。許可證爲 MIT(package.json 版本 1.0.0)。
核心功能¶
插件向 Cordis 註冊三個工具:
| 工具 | 作用 |
|---|---|
voice_speak |
文字轉語音,可指定情緒(平靜/開心/難過/害羞/生氣/興奮)與音色(default/soft/bright/sharp),可選本機播放 |
voice_sing |
把文字(歌詞)按旋律逐字變調再拼接;旋律可選 star / birthday / gentle / funny |
voice_status |
查看當前引擎、路徑、模型緩存與最近生成的文件 |
說話引擎
- ChatTTS(默認路徑):本機 GPU 推理,語氣自然,有停頓和情感;需要
modelHome下的模型緩存,以及 Python 環境中的ChatTTS包。 - edge-tts:不依賴本地大模型,啓動快;ChatTTS 不可用時自動回退。
- 唱歌:用 edge-tts 逐字合成,再按旋律音高變調,經 ffmpeg 拼接(偏趣味向)。
合成在本機完成:ChatTTS 完全離線;edge-tts 僅把待合成文本發給微軟語音服務,不上傳其他數據。生成音頻保存在本機數據目錄。
安裝與啓用¶
本插件是 Host-only bundle,不能用憑倉庫名拼出來的 dsh plugin add 代替官方方式。先把倉庫放到本機,再對該目錄的絕對路徑執行:
plugin_manager install_bundle <本目錄絕對路徑>
安裝成功後,工具列表裏應出現 voice_speak、voice_sing、voice_status。
依賴(安裝前準備)
- Python 3.10+,
pip install edge-tts;若用 ChatTTS,還需pip install ChatTTS,並預留約 1GB 模型緩存(首次加載可從 HF 鏡像下載)。 - ffmpeg / ffplay(轉碼與本機播放)。
行配置在 cordis.patch.yml,常見鍵如下(默認值以 README 爲準,部署時請改成自己機器上的路徑):
| 鍵 | 默認 | 說明 |
|---|---|---|
pythonPath |
E:\SD-WebUI-Forge\venv\Scripts\python.exe |
運行 voice.py 的 Python |
ffmpegPath |
(README 中的 Windows 示例路徑) | 轉碼 |
ffplayPath |
同目錄 ffplay.exe |
本機播放 |
modelHome |
C:\Users\Lenovo\.dsh\tts-models |
ChatTTS 模型緩存(HF_HOME) |
engine |
auto |
auto / chattts / edge |
dataDir |
空 | 輸出目錄;空則 <DSH_HOME>/dsh-voice |
典型用法¶
README 中的調用示例可直接復現:
voice_speak text="今天也要開心呀。" emotion="happy" voice="soft" play=true
voice_speak text="才、纔不是爲了你才這樣說呢……" emotion="shy" voice="default"
voice_sing text="一閃一閃亮晶晶" melody="star" play=true
生成的文件在 <dataDir>/out/,默認即 <DSH_HOME>/dsh-voice/out/。需要確認引擎或最近輸出時,調用 voice_status。
適用場景與注意¶
適合誰
- 在本機 DSH 裏做助手、角色扮演或演示,希望 Agent 工具鏈裏自帶「讀出來 / 唱一句」,而不單獨寫 TTS 腳本。
- 能接受配置 Python、ffmpeg,並在 Linux 或 Windows 上改好
cordis.patch.yml裏的路徑(README 默認示例偏 Windows)。
使用前務必知曉
- 插件以當前 dsh 進程權限運行,會執行你配置的
pythonPath並讀寫dataDir;安裝前應閱讀源碼與 MIT 許可證,確認路徑與網絡行爲(edge-tts 會訪問微軟語音服務)符合你的環境策略。 - ChatTTS 依賴 GPU 與模型體積;僅 edge-tts 時更輕,但說話質感與 ChatTTS 不同,且唱歌能力仍走 edge-tts + ffmpeg 方案。
- 社區目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係,插件亦來自社區維護者,非官方應用商店條目。
結尾¶
dsh-voice 把「帶情緒說話 + 簡單旋律唱歌」收成三個 Cordis 工具,並在 ChatTTS 與 edge-tts 之間做自動回退,輸出落在本機 out/ 目錄。若要試用或改配置,可從目錄頁 LIU118117/dsh-voice 進入,或直接查看 GitHub 倉庫 中的 README 與 cordis.patch.yml。