dsh-dania-voice:在 DSH 里用本地 GPT-SoVITS 朗读助手回复

前言

在 DeepSeek Harness(DSH)里跑智能体时,助手往往一次输出大段 Markdown:代码块、表格、链接混在一起。若你想「边听边盯日志」或减轻长时间盯屏的负担,常见做法是接云端 TTS API,但文本与音频会离开本机,且要单独管密钥与计费。

下面介绍社区插件 dsh-dania-voice(维护者 xcw520,GitHub 仓库 xcw520/dsh-dania-voice):在本地跑 GPT-SoVITS,把助手最终回复读出来,界面顶部有一个可拖动的小挂件作开关;推理与合成都在本机完成,README 写明音频与文本不离开你的机器。插件归类为「模型推理」,适合愿意为本机 GPU 与磁盘空间付出成本的 DSH 用户。

这是什么

dsh-dania-voice 是 DSH 的语音朗读插件:监听会话里助手消息的结束事件,清洗正文(去掉代码块、表格、链接等),分段后请求本机 GPT-SoVITS 服务合成语音,再由浏览器播放。Host 进程本身没有音频设备,因此播放故意放在浏览器端,声音从你正在使用的这台机器扬声器出来。

数据流(与 README 一致)如下:

DSH session events (assistant/message + turn/end)
      │  取最终回复文本,剥离代码块 / 表格 / 链接
      ▼
Host:清洗并合并为 ≤120 字符的片段
      │  POST http://127.0.0.1:9880/tts
      ▼
GPT-SoVITS api_v2.py(本机,GPU)
      │  wav → 缓存目录 → 队列
      ▼
Browser:轮询 /dania-voice/next → Web Audio 播放

语音模型侧使用社区训练的 Dania 音色(鸣潮角色相关;README 标明为粉丝向项目,角色版权归库洛游戏)。安装器会从原始仓库拉取模型,本仓库不二次分发模型文件。

核心功能

  • 朗读助手回复:默认在读助手侧内容;可在配置里打开 speakUser,一并朗读你自己的消息。
  • 可拖动挂件:窗口顶部居中悬挂;单击开关朗读,拖动后位置会记住;朗读时挂件会轻微摆动。右键或 Shift+单击打开设置面板。
  • 面板参数:音量、语速、temperature(越低越稳、气息感越少)、句间停顿;另有「重复上一句回复」和「试读一行」便于调试。
  • 一键安装引擎:面板内 One-click setup 会单独起进程安装 Python 虚拟环境、PyTorch(检测到 nvidia-smi 时用 CUDA 构建)、推理依赖,并下载 GPT-SoVITS 源码、预训练底座与音色包;步骤可幂等,中断后重点会跳过已完成步骤。
  • 缓存:合成结果按「文本 + 参数」缓存,相同设置下重复播放可即时命中。

环境与要求

项目 说明
DSH >= 0.1.7-rc.1(package.json 中 engines 为 <0.3.0-0)
Python 3.10 – 3.12(安装器会查找,不会替你装 Python)
GPU 建议 NVIDIA 8 GB+ 显存;CPU 可用但明显更慢
磁盘 约 5 GB(PyTorch、底座模型、音色模型)

安装与启用

插件通过 DSH 官方插件命令安装(须使用资料原文命令,不要自行拼接 GitHub 路径):

dsh plugin --profile web add dsh-dania-voice

安装插件代码后,打开挂件面板,点击 One-click setup。安装器大致会:

  1. 在安装目录下创建 Python venv
  2. 安装 PyTorch(有 NVIDIA 驱动时用 CUDA 构建)
  3. 安装推理依赖
  4. 下载 GPT-SoVITS 源码(约 50 MB)
  5. 下载预训练底座(约 1.6 GB)
  6. 下载音色模型与参考音频(约 320 MB)

默认安装目录为 $DSH_HOME/dania-voice;若希望放到其他盘,可在配置里设置 installDir。

进度与失败信息会写回同一面板;也可查看 $DSH_HOME/dania-voice/install.log。

说明:插件以当前 DSH 进程的用户与权限运行;一键安装会下载数 GB 资源并在本机起 HTTP 服务。安装前建议在 GitHub 阅读源码与 MIT 许可证,确认符合你的安全与合规要求。DSH 社区插件目录(如 SkillHub 上的条目)为独立站点,与 DeepSeek / 幻方无官方从属关系。

典型用法

  1. 完成插件安装与 One-click setup,待面板显示就绪。
  2. 单击挂件开启朗读;与助手正常对话,一轮结束后会自动读最终回复。
  3. 在设置面板调节音量、语速、temperature、句间停顿;改动作用于下一次合成。
  4. 需要验收时,用「试读一行」或「重复上一句回复」检查本机链路。

若浏览器拦截自动播放,面板显示就绪却无声,按 README 提示:先单击挂件一次 解除自动播放限制。

配置说明

面板会把配置写入 $DSH_HOME/dania-voice/config.json;在 profile 的 config: 块里写同名项也可以,面板保存会覆盖 profile 中的值。

键 默认值 含义
enabled true 总开关
volume / speed / temperature 1 / 1 / 0.7 播放与采样
speakUser false 是否朗读用户消息
installDir $DSH_HOME/dania-voice 引擎安装位置
pythonPath / root / cacheDir 派生 仅手工安装时需要
baseUrl http://127.0.0.1:9880 GPT-SoVITS 端点
autostart true 需要时自动启动服务

适用场景与注意

适合:已在用 DSH Web profile、本机有 NVIDIA GPU(或接受 CPU 慢速)、希望助手回复本地 TTS、且能接受首次加载模型约 20–40 秒、之后每句约 1–3 秒的延迟。

注意:

  • 首次合成慢、后续快,属于模型载入 VRAM 的正常现象(README Troubleshooting)。
  • 挂件红框:插件路由未响应,检查插件是否启用。
  • 显示「Not installed yet」:执行一键安装或查 install.log。
  • 底座与音色下载体积大,网络不稳时依赖安装器的幂等重试。

结尾

dsh-dania-voice 把 DSH 会话事件、本机 GPT-SoVITS 与浏览器播放串成一条闭环:助手回复在本机变成语音,用挂件即可开关与调参。若你要从目录页或仓库核对版本与 issue,可参考:

  • 目录页:https://www.skillhub.cn/plugins/xcw520/dsh-dania-voice
  • GitHub:https://github.com/xcw520/dsh-dania-voice
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜