ds-tts
DSH 里用 DeepSeek 官方朗读音色朗读对话、导出音频,并提供「文本进、音频出」的接口与工具。宿主半走 DS 官方 TTS(ticket + wss),文本投递由真实浏览器经 CDP 完成(不逆向 PoW、不伪装 TLS 指纹)。 适合需要对话语音播报、音频导出,且追求官方原声效果的用户。
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:liceses/dsh-ds-tts首次使用
- 重启
dsh web(宿主半与客户端 bundle 都只在启动时装载),刷新页面。 - 第一次朗读会自动拉起一个专用浏览器(
$DSH_HOME/ds-tts/browser,端口 9222)。 在这个窗口里登录一次 chat.deepseek.com(之后全自动)。 - 点任意助手消息下的 🔊。首次要等投递 + 合成(数秒到数十秒),相同文本第二次秒回(内容寻址缓存)。 听腻了就点 ⟳ 重新生成 —— DS 每次合成的声音可能不同,缓存会让同文本秒回同一版,所以需要显式再要一版。
设置 → 通用 → 「语音朗读(ds-tts)」可以改音色/格式/投递模式/上限、看状态自查、重建朗读会话。
⚠️ 官方「朗读音色」是账号级设置:点「同步到 DS 账号」会同时改写你 DS 账号里的音色。
配置
部署默认值在 cordis.patch.yml 的 config:(Schemastery),用户在 $DSH_HOME/ds-tts/config.json 的覆盖层按 mtime 热读(改完不需要重启)。
| 项 | 默认 | 说明 |
|---|---|---|
voice | mira | 音色 voice_id |
format | pcm | pcm → 无损 WAV;opus → 体积小(带 Ogg 容器且有 ffmpeg 时转 MP3) |
mode | echo | 投递模式 echo(默认)/user/auto —— 见上文实测结论 |
maxChars | 2000 | 归一化后上限;超出在句末截断并回 truncated:true;离谱超长(8×)回 413 TOO_LONG |
cdpUrl / cdpPort | '' / 9222 | CDP 端点(cdpUrl 非空则完全用它,不再自启) |
browserPath / userDataDir | '' | 留空自动探测 Edge/Chrome 与 $DSH_HOME/ds-tts/browser |
autoLaunch | true | 没端点时是否自启专用浏览器 |
chatSessionId | '' | ds-tts 专用 DS 会话(首次投递时创建并记住) |
echoPrompt / echoVerify | 见 schema | echo 模式指令模板与回显校验 |
timeoutMs | 120000 | 单次合成总超时 |
cacheEnabled / cacheKeepDays | true / 30 | 内容寻址缓存与保留期 |
ffplayPath | '' | 工具 play:true 时用的 ffplay |