dsh-big-fish-speak
让 dsh-pet 桌宠用它自己设置页里选的音色,把模型的输出念出来。
- 不自带语音引擎:文本直接交给本机 dsh-pet,由它用你设的音色合成播放
- 按标点切句,长文本整篇念完,不设段数上限
- 每段回读桌宠日志确认真的出了声,失败只跳过那一句
- 零依赖,只访问
127.0.0.1,不收集、不上传任何数据
安装包见 npm
安装
先装好并保持运行 dsh-pet(0.4.x)。
在 DSH 插件页「+ 添加插件」里填包名:
dsh-big-fish-speak
或命令行:
npm i dsh-big-fish-speak
想用本地包(自己改过代码、不想走 registry):在同一个入口填 tgz 路径或源码目录路径。
- 填 tgz → 真拷贝进 profile,源文件删了也不影响,但要重装得留着这个 tgz
- 填 目录 → 装成链接(Junction)指向该目录,改代码即时生效,但目录一删插件就断
用法
| 命令 | 作用 |
|---|---|
/speak <文本> |
让桌宠念这段话(默认念全文) |
/voice |
查看当前音色、音量、自动播报开关 |
/voice test |
试听一句 |
/voice auto on|off |
开关「模型输出自动播报」 |
自动播报默认开启:监听 session/event 的 assistant/message,模型一有正文就念。
它怎么念
切句:dsh-pet 的单句念白上限是 60 字(截至 dsh-pet 0.4.5),超了会被它自己截断,所以插件先切。
优先断在句末(。!?;… 换行),一句话超 60 字才退到句读(,、:),实在没标点才硬切;断点太靠前(不到 20 字)不采用,避免切出碎句子。
节奏:段间按实测语速衔接(约 0.23 秒/字 + 换气),上一段还在播时下一段已经在桌宠那边并行合成,所以听感是一句接一句,不会空等十几秒。
段数:不设上限,几百上千字都会念完。只有一层极端保护(200 段 ≈ 12000 字),正常对话碰不到。
合成失败怎么办
桌宠的广播接口回 ok:true 只表示「它收到了」,真正合成失败时它只在日志里留一行 failed,那一段会静默消失——听感就是念两句突然没了。
插件每送一段都会回读 ~/.dsh/dsh-pet/logs.txt:确认有新记录 = 这段真念了;是 failed = 退避重发,最多 3 次;仍失败只跳过这一句,后面的照念,不会整轮哑掉。最常见的失败原因是 Edge TTS 返回 429 限流。
config(可选)
写在 cordis.patch.yml,一般不用填:
| 键 | 默认 | 说明 |
|---|---|---|
maxChars |
60 |
单段字数上限,最大 60,只能改小 |
autoChunks |
不限 | 自动播报最多几段 |
speakChunks |
不限 | /speak 最多几段 |
已知限制
- 桌宠不在或没加载完:命令会明确报「找不到桌宠服务地址」
- 桌宠每次重启端口都会变,插件从
~/.dsh/dsh-pet/logs.txt最后一行读当前端口,所以桌宠刚重启时可能有一两秒找不到 - 音色、音量、语音播报开关全在桌宠自己的设置页里改,本插件不提供设置界面
免责与归属
非官方插件,与 DeepSeek Harness、dsh-pet 的作者均无隶属关系,也未经其背书。本插件只调用 dsh-pet 的本机接口,不含其任何源代码或素材。语音合成由 dsh-pet 完成(其使用 Edge TTS 免费接口),本插件不自带语音服务,不收集、不上传任何数据,只在本机读取桌宠日志用于确认是否真的出声。「大肥鱼」是本插件使用者的桌宠昵称,与任何第三方角色或商标无关。
License
MIT
No comments yet. Be the first to write one.