dsh-gsv-tts
Real-time local TTS for DeepSeek Harness: voice presets, auto-read, engine setup assistant, a read-aloud button, and a settings panel for the GSV-TTS-Lite engine.
Install
dsh plugin --profile web add dsh-gsv-tts
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
dsh-gsv-tts
为 DSH(DeepSeek Harness)接入语音朗读能力 —— 双模式可选:云端快速体验(Edge,免安装、装上即听)+ 本地专业(GSV-TTS-Lite,音色克隆、完全离线)。


音色市场:taoruiliu19.github.io/gsv-market · 投稿指南:[docs/VOICE_MARKET.md](docs/VOICE_MARKET.md)
English README: [README_EN.md](README_EN.md) · 变更记录: [CHANGELOG.md](CHANGELOG.md)
✨ 功能亮点
- 🌐 云端快速体验(Edge):零配置、装上即用,无需 Python / 模型 / 引擎;20+ 种免费自然语言音色(晓晓、云希、Aria 等),联网即用,出声较快
- 🖥️ 本地专业(GSV):按参考音频克隆目标音色、完全离线;由云端简单模式一键升级引导而来
- 🔊 一键朗读:每条助手消息旁的 🔊 按钮直接朗读(自动排除思考内容);长回复流式播放(首块到达即出声,不再等整段合成完),带暂停/继续/停止与进度显示,正在朗读的消息会高亮
- ⚡ 首音更快:可选常驻模式(性能优先),插件加载后自动启动并预热默认音色;朗读走流式 WAV,长回复首音明显更快。默认节能模式(资源优先),不后台占资源(与旧版一致)
- 🔁 自动朗读:开启后自动朗读助手回复;新回复默认打断当前朗读(barge-in),可在设置中关闭
- 🔄 模式切换:设置面板一键在"快速体验 / 本地专业"间切换,音色与状态实时跟随
- 🎛️ 声音设置面板:可视化配置,保存即热生效(无需重启);每条音色可"试听",或"全部试听"循环对比
- 🎪 音色市场:从内置/自定义远端清单一键下载并注入音色,试听后安装、只读托管;内置可信源免确认,远端源二次确认;欢迎[投稿](docs/VOICE_MARKET.md)分享你喜欢的音色
- 🚀 引擎一键启停 / 一键安装:启动方式可选常驻模式(性能优先)或节能模式(资源优先,默认);也支持设置面板手动启停,模型加载约 15~90 秒
- 🔗 同源音频短链接:合成音频落盘并同源提供,不再撑爆模型上下文
🎯 快速上手(两种模式,任选其一)
你的诉求 · 用哪种 · 怎么开始
"我就想装上就能听" · 🌐 快速体验(Edge) · 见下方「一、快速体验模式」——无需任何安装
"我要克隆自己的声音 / 完全离线" · 🖥️ 本地专业(GSV) · 见下方「二、本地专业模式」
默认模式:全新安装默认为 Edge 快速体验(联网即用);从旧版本升级的老用户仍保持 GSV 本地模式、声音不变,可随时在设置面板切换。
DSH 版本要求:5.0.0 起适配 DSH 0.2.1-rc.2+(engines.dsh)。DSH 0.2 把设置改成了 volatile 配置 + 客户端configForms服务,5.0.0 已同步迁移;DSH 0.1.x 请使用 4.x 版本插件。
一、快速体验模式(Edge,新装默认)
1. 安装插件并重启 DSH(见「📦 安装」)
2. 打开 设置 → 声音设置 → TTS 模式选 快速体验(Edge)
3. "音色"下拉选一个云端音色(晓晓 / 云希 / Aria…)
4. 点任意助手消息旁的 🔊 —— 出声较快
无需安装 Python、无需模型、无需启动引擎。仅需联网。云端音色标注 🌐,为您提供免配置即听的入口。
二、本地专业模式(GSV)
1. 安装插件并重启 DSH(见「📦 安装」)
2. 打开 设置 → 声音设置 → TTS 模式选 本地专业(GSV)
3. 安装引擎:让 agent 调用 tts_setup_engine,或见「🔧 安装 GSV-TTS-Lite 引擎」
4. 选择引擎启动方式:默认节能模式(资源优先),不后台启动、首次出声较慢(需要先启动引擎,与旧版一致);切到常驻模式(性能优先)会自动启动并预热,首次出声较快。
5. 添加音色:在"音色预设"添加,或从「🎪 音色市场」一键下载,或克隆
6. 点任意助手消息旁的 🔊,或让 agent 调用 tts_speak
本地模式全程离线运行,支持音色克隆,不依赖网络与云端配额。
📦 安装
两种方式任选其一,然后在设置中启用:
# 方式一:从 npm 安装 dsh plugin --profile web add dsh-gsv-tts # 方式二:从 GitHub 安装 dsh plugin --profile web add "github:TaoruiLiu19/dsh-gsv"
关于 profile:以上以webprofile 为例;当前桌面应用常用desktopprofile,把命令里的web换成desktop即可。
安装后重启 DSH,工具自动注册到 agent,设置中出现"声音设置"项。
依赖 DSH 的webServer服务(Web / Desktop profile 自带)提供音频下载;settings服务提供设置面板。环境缺少这些服务时仅保留工具能力。
从 4.x 升级:直接安装新版即可,配置自动沿用;首次启动会把provider落定写回一次(有音色的老配置保持gsv,全新安装为edge),之后设置保存通过 DSH 0.2 的 volatile 配置就地热更新,不再重载插件。
🔄 模式切换与迁移
项 · 说明
如何切换 · 设置 → 声音设置 → TTS 模式(快速体验 / 本地专业),切换即时生效
配置项 · provider: 'edge' \ · 'gsv'(初始化分派,建议经设置面板切换,勿手动改)
老用户升级 · 无 provider 字段的旧配置:有音色预设 → 保持 gsv 本地模式,声音不变
全新安装 · 无音色预设 → 默认 edge 云端简单模式,联网即用
写入时机 · 首次启动判定后写回一次(settings.update),之后不再改写
schemaVersion · 配置结构版本,迁移守卫的落点
Edge 模式需联网;若云端不可用,面板会提示"云端通道拥挤 / 暂不可用",本地 GSV 模式始终可用作降级。
🏗️ 系统架构
📖 交互式架构图:[打开 dsh-gsv-tts.architecture.html](docs/architecture/dsh-gsv-tts.architecture.html)(支持缩放、聚焦、主题切换)
双 provider 架构:TTSService 按 config.provider 分发到云端(Edge)或本地(GSV),朗读主链路与工具调用两条路径对两种 provider 一致。
- 🔊 朗读主链路(经 webServer):用户点击 🔊 → DSH Web 客户端 →
webServer的/speak路由 →TTSService按 provider 请求 → 云端/本地引擎返回音频块 →AudioStore落盘 → 同源短链接回传浏览器播放。 - 🤖 Agent 工具调用(宿主内直连):Agent 调用
tts_speak等工具时,由宿主进程内 tools 服务直接执行,不经 webServer HTTP 网关。
构成 · 说明
DSH 应用(DeepSeek Harness) · 插件宿主:Web 客户端、webServer、settings 服务
dsh-gsv-tts 插件 · TTSService(按 provider 分发)/ AudioStore(落盘)/ 引擎管理(启停·安装·健康检查)
Edge provider · edge-tts-universal,微软精选网络音色,返回 MP3 流(浏览器解码)
GSV-TTS-Lite 本地引擎 · 本机 Python 进程,FastAPI :9880,真流式 /tts/stream,返回 WAV
📸 截图
设置 → 声音设置:TTS 模式、引擎开关、音色配置、健康状态
消息操作区的 🔊 朗读按钮(悬停显示"朗读结果")
本地引擎启动后的"运行中"状态
🌐 快速体验模式(Edge)详解
- 音色:20+ 种微软精选自然音色(中文晓晓 / 云希 / 云野等,英文 Aria 等),面板下拉即选,无需配置。
- 输出:MP3 音频流,由
edge-tts-universal生成,经AudioStore落盘为.mp3并同源提供,浏览器直接解码(无转码开销)。 - 健康检测:内置连接超时、令牌自动刷新与错误恢复;面板显示云端可用状态。
- 限流与降级:微软可能对过量使用限流。若检测到云端不可用,面板会引导切到本地 GSV(无限量 + 可克隆)。
- 配额字段:
quotaDaily(默认null= 不限量)为预留引导字段,硬配额待后续版本。
🖥️ 本地专业模式(GSV)详解
- 能力:按参考音频克隆目标音色;完全离线运行,数据不出本机。
- 成本:需安装 Python 环境 + 下载模型;首次模型加载约 15~90 秒。
- 入口:见「🔧 安装 GSV-TTS-Lite 引擎」与「🎙️ 添加音色 / 音色市场」。
🔧 安装 GSV-TTS-Lite 引擎
方式一:自动安装(推荐)
让 agent 调用 tts_setup_engine,自动完成:检测 Python → 安装 gsv-tts-lite==0.4.7 → 克隆仓库 → 安装依赖 → 部署流式 API → 启动服务。
方式二:手动安装
1. 安装 Python 3.10+(推荐 3.12),确保 pip 可用
2. 安装核心包:pip install gsv-tts-lite==0.4.7
3. 克隆仓库:git clone https://github.com/chinokikiss/GSV-TTS-Lite.git
4. 安装 API 依赖:pip install -r <仓库>/API/requirements.txt
5. 把本插件 scripts/ 下的 dsh_stream_api.py 复制到 <仓库>/API/ 目录(真流式 API)
6. 下载模型(s1v3.ckpt、s2Gv2ProPlus.pth 等)放入 <仓库>/models/
7. 启动:python <仓库>/API/dsh_stream_api.py -p 9880 --models_dir <仓库>/models
8. 在 设置 → 声音设置 打开引擎开关验证
引擎示例音频位于<仓库>/examples/(laffey.mp3、AnAn.ogg),可直接用作测试音色。
🎪 音色市场
从音色市场一键下载并注入音色,无需手动填写参考音频路径。
🌐 在线试听网站:[https://taoruiliu19.git
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::12,最后更新 2026-11-06