前言¶
DSH 裏的智能體回覆以文本爲主。你如果想讓它開口說話,常見的做法是在插件裏硬塞一段「合成音頻、上傳、發消息」的邏輯,結果播放、發送、上傳全壓在同一個插件裏,換個前端又要重做一遍。
下面介紹的 cilis/dsh-whale-tts 把這件事拆得很乾脆:它只負責把文本合成成本地音頻文件並返回路徑,播放、發送、上傳一概不管,交給調用方。維護者是 cilis,倉庫在 GitHub,許可爲 MIT,屬於社區目錄裏的「趣味換裝」分類。
這是什麼¶
一句話定位:DeepSeek Harness 的聚合語音朗讀插件,讓助手角色擁有自己的音色。它把文本合成爲本地音頻並返回絕對路徑、相對路徑和文件名。
它解決的痛點是:主流程要發音,但插件不該越界管播放。合成與交付的邊界被明確劃開。
核心功能¶
三個工具,職責單一:
tts_synthesize:文本轉語音,返回絕對路徑、相對路徑和文件名。tts_list_voices:列出 provider 能力和已保存的音色檔案。tts_status:自檢 provider、密鑰、緩存、輸出目錄。
聲音設計與克隆:寫一段描述可以生成 2~5 個候選,試聽後再固化;也可以上傳 10MB 內的 wav/mp3 做參考音頻克隆。設計與克隆都會保留描述中的語氣、語速作爲風格指令。
音色檔案:分預置、克隆、設計三種,最多 50 個,可手動切換;刪除檔案時會一併刪除參考音頻。
設置卡:在 DSH 插件頁可視化操作,包括試聽、生成候選、管理檔案、寫密鑰、改輸出設置,界面中英雙語。
朗讀:DSH 助手每條最終回覆的操作行有播放按鈕,用當前音色朗讀或暫停。設置卡里的「自動朗讀新回覆」默認關閉,開啓後只讀一輪的最後一條正文。還可以設置跳過代碼塊、分段長度和語速;行內代碼按詞語讀出,圍欄代碼塊默認跳過。
備份與恢復:把檔案、樣本、候選導出成一個 JSON(不含密鑰),導入支持合併或替換,導入前自動備份當前狀態。
密鑰安全:只保存 DSH 憑據的引用名,工具結果、日誌和前端都不會出現密鑰值;只允許清除本插件自己寫入的憑據。
離線回退:主 provider 目前只有 MiMo;MiMo 不可用時可以回退到 Windows 自帶的離線 SAPI。
安裝與啓用¶
官方安裝命令爲本地 tgz:
dsh plugin --profile <profile> add file:/路徑/dsh-whale-tts-0.5.0.tgz
# 或在 DSH 插件頁安裝 tgz / 本地目錄,裝完重啓 DSH
也可以在 DSH 插件頁直接安裝 tgz 或本地目錄,裝完需要重啓 DSH 才生效。
運行環境要求來自倉庫 package.json:
"engines": {
"dsh": ">=0.2.1-rc.4 <0.3.0-0",
"node": ">=24.9.0"
}
也就是說,DSH 版本需要落在 >=0.2.1-rc.4 <0.3.0-0,Node 至少 24.9.0。插件對外依賴 @deepseek-ai/cordis 和 @deepseek-ai/schemastery。
典型用法¶
先做自檢,確認 provider、密鑰、緩存和輸出目錄就緒:
tts_status
再列出可用音色和已有檔案:
tts_list_voices
拿到音色編號後合成一份音頻:
tts_synthesize
tts_synthesize 返回的是路徑,不是音頻本身。調用方拿到絕對路徑後自行決定怎麼播放、怎麼發、怎麼上傳。如果你要做持續朗讀,開設置卡里的「自動朗讀新回覆」,並按需設置語速和分段長度。
適用場景與注意¶
適合給 DSH 助手角色配上穩定的專屬音色,或者批量把回覆轉成本地音頻再交給下游處理。只想快速試聽一兩句,用設置卡的試聽功能即可。
這裏有幾個必須注意的點:
插件以當前 DSH 進程的權限運行,能讀進程可訪問的文件、能寫輸出目錄。安裝前應檢查源碼與許可證(本插件爲 MIT),確認沒有你不想授予的權限。
主 provider 目前只有 MiMo,這意味着首次使用需要可用的 MiMo 憑據;寫密鑰只寫引用名,插件不會把密鑰值帶進日誌或前端。Windows 下的離線回退依賴系統自帶的 SAPI,行爲與在線合成不同。
音色檔案和候選存在本地,刪除檔案會連參考音頻一起刪掉;跨機器遷移時用備份導出導入,而不是手工複製文件夾。
結尾¶
這個插件的價值在於把「合成」和「播放」拆開:插件只管產出音頻文件和返回路徑,怎麼用由調用方決定。如果你在給 DSH 助手做語音化,它是一個最小可用的起點。
- 目錄頁:https://www.skillhub.cn/plugins/cilis/dsh-whale-tts
- 倉庫:https://github.com/cilis/dsh-whale-tts