前言¶
在 DeepSeek Harness 里配了 dsh-pet 桌宠时,气泡里会冒出短句,但默认只有文字。若希望这些台词被朗读出来,又不想把整段助手回复都交给 TTS,就需要一个只盯桌宠气泡、范围明确的插件。市场里也有「朗读助手回复」类插件,职责不同;下面介绍的是维护者 jimmyfenwick 发布的 dsh-pet-tts(分类:联网工具),用微软 Edge 在线神经音色合成 mp3,并通过浏览器播放。
这是什么¶
dsh-pet-tts 是 DeepSeek Harness 插件:前端监听 Web UI 里 class 为 dsh-pet-bubble 的 DOM 节点;宿主侧在私有 Python 虚拟环境中调用开源 edge-tts 客户端生成音频。它只念桌宠气泡,桌宠不说话时保持安静;不充当通用「读助手正文」工具。
仓库:jimmyfenwick/dsh-pet-tts
目录页:skillhub.cn 插件页
当前 package 版本:0.1.0,MIT 许可。
依赖与环境¶
使用前需满足 README 列出的条件:
- 带 Web UI 的 DeepSeek Harness(
dsh web或桌面版网页视图),在 0.2.1-rc.5 上验证过。 dsh-pet用于产生气泡(可选;不装桌宠也能用控制台 API)。- Python 3.9+ 在
PATH上,或通过DSH_PET_TTS_SYSTEM_PYTHON指定解释器。 - 网络可访问
speech.platform.bing.com;首次安装还需一次性访问 PyPI(或镜像)以安装edge-tts。 - Node.js 20+。
核心功能¶
自动跟读气泡¶
页面脚本监视 .dsh-pet-bubble;有内容时向宿主请求合成并播放。单条气泡文本上限 300 字符,更长会被截断——设计上是短句气泡,不是长文朗读。
音色预设¶
内置多组预设(默认 anime-girl),语速、音高、音量与 dsh-pet-dfeiyu-mo 同源,换插件后听感可保持一致。例如默认预设使用 zh-CN-XiaoyiNeural,另有 anime-girl-hi、anime-boy、netstar、xiaoyi-raw 等,完整表格见 GitHub README。
浏览器控制台 API¶
不依赖桌宠时,可在 DevTools 里直接调用:
dshPetTTS.setPreset('anime-girl-hi') // 切换预设,写入 localStorage
dshPetTTS.say('主人,我回来了') // 立即念一句
dshPetTTS.say('你好', { voice: 'en-US-AriaNeural', rate: '+10%' })
dshPetTTS.mute(true) // 静音;mute(false) 恢复
await dshPetTTS.voices() // 宿主侧已知的微软音色列表
await dshPetTTS.health() // { ready, python, edgeTts, dataRoot }
宿主 HTTP 路由¶
前缀 /dsh-pet-tts/,便于脚本或自定义前端:
GET /dsh-pet-tts/ping→{ ok, defaultPreset, presets }GET /dsh-pet-tts/health→ 含venv等健康信息GET /dsh-pet-tts/presets→ 完整预设表GET /dsh-pet-tts/voices→ 微软当前返回的全部音色GET /dsh-pet-tts/say?text=…&preset=…→audio/mpeg(可选voice、rate、pitch、volume)
合成结果缓存在 ~/.dsh/dsh-pet-tts/cache,键为文本与参数组合,重复台词不再请求合成。
安装与启用¶
安装命令以 README 为准。任选其一:
dsh plugin --profile <你的档名> add github:jimmyfenwick/dsh-pet-tts
或从 release tarball:
dsh plugin --profile <你的档名> add https://github.com/jimmyfenwick/dsh-pet-tts/releases/latest/download/dsh-pet-tts.tgz
装完后重启或 reload 宿主。在页面内先点一次(或按键)——浏览器在用户手势前会拦截自动播放,这不是插件缺陷。再让桌宠说话或调用 dshPetTTS.say。
首次合成时插件会在 ~/.dsh/dsh-pet-tts/venv 创建虚拟环境并安装 edge-tts(约 30 MB,一次性,不污染全局 Python)。宿主机日志可见 [dsh-pet-tts] creating virtualenv … / installing edge-tts …。
配置项¶
| 环境变量 | 含义 |
|---|---|
DSH_PET_TTS_ROOT |
数据目录,默认 $DSH_HOME/dsh-pet-tts |
DSH_PET_TTS_PYTHON |
直接使用该解释器,跳过虚拟环境 |
DSH_PET_TTS_SYSTEM_PYTHON |
用来创建虚拟环境的基解释器 |
若 pip install 连不上 PyPI,插件会先重试清华镜像再试上游;也可预先装好 Python 环境并设置 DSH_PET_TTS_PYTHON 以跳过在线安装。
适用场景与注意¶
适合:已在 DSH Web UI 中使用 dsh-pet,希望气泡台词有语音反馈;或需要 Edge 神经音色、可切换预设的桌宠 TTS。
不适合:朗读助手完整回复——请选用市场内专门的回复朗读插件。
权限与安全:插件以当前 DSH 进程权限运行,会创建本地 venv、访问微软朗读端点并可能拉取 PyPI 包;安装前建议浏览仓库源码与 MIT 许可证。DeepSeek Harness 社区插件目录(如 skillhub.cn)为独立站点,与 DeepSeek / 幻方无官方从属关系。
限制(README 原文要点):
- 合成依赖网络,无离线模型。
- 首次发声需用户手势;仅
dsh-pet-bubble类节点触发自动朗读。 - macOS / Linux 为主验证环境;Windows 代码路径存在但未实测。
- 使用微软 Edge 公开朗读接口,未获微软背书,可能变更或限流;商业用途需自行核对微软条款。
卸载:
dsh plugin --profile <你的档名> remove dsh-pet-tts
可选删除 ~/.dsh/dsh-pet-tts(虚拟环境 + 缓存)。
结尾¶
dsh-pet-tts 把桌宠气泡与 Edge 在线 TTS 接在一起:范围窄、默认安静,需要时再出声。更多预设、路由与限制见 GitHub README;安装入口也可从 SkillHub 目录页 进入仓库链接。