前言¶
在 DSH 的智能體流程中,文本輸出很常見,但語音場景往往需要額外處理:文字要合成語音時,要關心音色、請求參數和輸出文件;音頻要轉文字時,要關心 ASR 端點、密鑰、語言和結果落盤。
dsh-voice 把這幾件事收進 DSH 插件:提供 voice_tts、voice_stt 和 voice_list 三個工具,覆蓋文字合成 MP3、音頻轉文字和常用音色清單。
這是什麼¶
dsh-voice 是一個 DSH 語音雙件套插件,定位是給 agent 增加 TTS 與 STT 工具能力。
- 項目倉庫:https://github.com/STARDUSTLC666/dsh-voice
- 已覈實資料中的 owner 爲 STARDUSTLC666;資料中同時出現 stardustlc 表述,但未明確兩者是否爲同一人或主維護者。
- 許可證爲 MIT。
- 在
@deepseek-ai/dsh@0.1.2-alpha.2上驗證(2026-08-31)。 - 運行時不 import 任何
@deepseek-ai/*內部模塊。 - Node 要求爲
Node >=22。 - 實現上使用原生 WebSocket,並提供插件級代理。
核心功能¶
下面介紹插件提供的三個工具。
voice_tts:文字合成 MP3¶
voice_tts 用於把文本合成爲 MP3(免費)。text 爲必填參數;voice、rate、pitch、output 爲可選參數。
voice_tts { text: 今天的 AI 早報來了 } # 曉曉女聲,輸出 voice_output.mp3
voice_tts { text: hello, voice: en-US-AriaNeural } # 英文女聲
已覈實資料說明,voice_tts 零配置可用;合成走 edge-tts 協議直連,並本地生成 Sec-MS-GEC 令牌。
voice_stt:音頻轉文字¶
voice_stt 用於把音頻轉成文字。audio 爲必填參數;engine、model、language、prompt、output 爲可選參數。
voice_stt { audio: E:\audio\meeting.mp3, language: zh } # 轉寫會議錄音
該工具需要 ASR 密鑰。它支持 OpenAI 兼容 ASR 接口,可指向 Groq、OpenAI 或自定義端點;密鑰推薦改用環境變量 DSH_VOICE_ASR_KEY。
voice_list:音色清單¶
voice_list 用於返回常用音色清單,方便選擇 voice_tts 的 voice 參數。
voice_list {}
安裝與啓用¶
先確認運行環境滿足 Node >=22,再執行:
dsh plugin --profile web add dsh-voice
執行上面的命令後,即可在 DSH 工具調用中使用下面三個示例。如果後續使用 voice_stt,建議把 ASR 密鑰放入環境變量 DSH_VOICE_ASR_KEY,而不是把密鑰寫進日常配置裏。
適用場景與注意¶
適合的場景:
- 在 DSH agent 中直接把文本轉成 MP3,例如生成早報語音。
- 在 DSH agent 中把會議錄音等音頻轉成文字。
- 需要快速查看可用音色,再調整
voice_tts參數。
使用時注意:
voice_tts零配置可用;voice_stt需要 ASR 密鑰。- 插件會對輸入做前置校驗:文本不超過 5000 字符,音頻不超過 25MB。
- 輸出文件同名時會自動加序號。
- 卸載後需要重啓 Web 服務;如需徹底清理,可再手動刪除自己 profile
cordis.patch.yml中覆蓋的插件行。 - 插件會以當前 dsh 進程權限運行。安裝前建議檢查源碼、依賴和 MIT 許可證。
- DSH 的插件生態強調“一切皆插件”,社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-voice 的價值在於把 TTS、STT 和音色清單放進 DSH 插件工具鏈中,減少 agent 語音輸入輸出所需的膠水代碼。
項目倉庫:https://github.com/STARDUSTLC666/dsh-voice