dsh-voice:讓 Harness 智能體帶情緒說話與唱歌

前言

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 查看當前引擎、路徑、模型緩存與最近生成的文件

說話引擎

  1. ChatTTS(默認路徑):本機 GPU 推理,語氣自然,有停頓和情感;需要 modelHome 下的模型緩存,以及 Python 環境中的 ChatTTS 包。
  2. edge-tts:不依賴本地大模型,啓動快;ChatTTS 不可用時自動回退。
  3. 唱歌:用 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。

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

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

小夜