dsh-plugin-tts

dsh-plugin-tts

license Awesome node tests stars last commit

## 跳转 - **[English README](README.md)**(English) - **[RVC 自定义音色指南](docs/RVC-GUIDE.md)**(自定义音色 · 分块渐进播放 · 紧凑索引 · 音色包 · 便携运行时) - **[使用手册(执行手册)](docs/USER-GUIDE.md)**(第一次用,逐步骤上手) - **[自适应分块设计文档](docs/adaptive-chunked-playback.md)**(长文无缝朗读的设计与实测) --- # dsh-plugin-tts — Edge TTS + RVC 语音大集成 DeepSeek Harness 语音插件:给 AI 回复加朗读——开箱即用微软免费在线音色(Edge TTS), 也能用**你自己训练的 RVC 音色**朗读;长回复**自适应分块渐进播放、段间无缝**; 音色可**从音色包仓库一键安装**;还提供**免装 RVC WebUI 的便携运行时**。 > 📖 **第一次用?看[《使用手册(执行手册)》](docs/USER-GUIDE.md)**——每一步都有 > "做什么 / 怎么做 / 怎么算成功",从朗读、RVC 音色到音色包下载全覆盖。 ## 单条朗读和自动朗读 ![alt text](Snipaste_2026-08-16_13-29-01.png) ![alt text](Snipaste_2026-08-16_13-29-11.png) ## RVC配置 ![alt text](Snipaste_2026-08-16_13-28-10.png) ## RVC高级参数 ![alt text](Snipaste_2026-08-16_13-28-23.png) ## RVC音色包 ![alt text](Snipaste_2026-08-16_13-28-37.png) ## 功能 1. **消息朗读按钮**:每条 AI 回复左下角操作行新增「朗读」按钮,点击朗读该条消息 (按钮显示音柱跳动动画),再次点击停止。 2. **自动朗读开关**:输入框左下角的喇叭按钮;开启后每条新完成的 AI 回复自动朗读 (按钮带圆形高亮),关闭则不自动朗读。 3. **语音设置面板**:侧边栏「设置 → 插件」新增「语音」标签页: - **TTS提供者**:Edge TTS(免费在线)/ 自定义音色(RVC) - **朗读音色**:22 个经实测可用的 Edge TTS 音色(默认 晓萱 zh-CN-XiaoxuanNeural) - **声音调节**:语速 / 音调 / 音量(0 = 默认) - **音色包**:从音色包仓库一键下载安装音色 - **试听测试**:输入文本 + 播放按钮(播放中显示旋转 loading,可点击停止;失败时红字提示) 4. **RVC 自定义音色**:用你自己训练的 RVC 模型朗读,全程本机计算,支持上传原声、 免索引模式、高级参数(详见[《RVC 指南》](docs/RVC-GUIDE.md))。 5. **长文本无缝朗读**:自适应分块渐进播放——探测校准块大小、边播边合成、Web Audio 采样级拼接、段间无停顿(详见[设计文档](docs/adaptive-chunked-playback.md))。 6. **朗读时 mini 播放器**:暂停/继续 + 倍速(1x / 1.25x / 1.5x),分块长读显示可见的 「第 x/y 段」计数。 7. **主题化 tooltip + RVC 首次引导**:悬浮提示用主题 token(`--dsw-*`)渲染;RVC 面板顶部 内嵌首次使用三步引导(分 OS 启动命令 + 一键诊断)。 8. **音频下载**:每条消息操作行新增下载按钮,把合成音频(Edge 原声或 RVC 变声)保存为 MP3—— 复用进程内缓存,刚读过的消息一点即下。 9. **朗读选中文本**:在消息里选中文本会在选区上方出现「朗读选中」悬浮按钮,点按只朗读该选中片段。 10. **长读流式(Edge 同样支持)**:纯 Edge 长文本也走自适应分块渐进播放——第一块先响、其余边播边合成, 不再干等整段合成完成。 ## 要求 - DeepSeek Harness `web` profile(`dsh web`) - Node.js ≥ 22(worker 使用原生 `WebSocket`) - 仅使用 **RVC 自定义音色** 时:还需要本机 RVC 推理环境(RVC WebUI 或便携运行时, 并在使用前启动 `rvc-server.py`)。macOS 用户请看 [《RVC 指南》](docs/RVC-GUIDE.md) 的「启动本地 RVC 服务」和 [《使用手册》](docs/USER-GUIDE.md) §4.2。 ## 安装 ```sh # 已发布到 GitHub 后: dsh plugin --profile web add "github:1624318455/dsh-plugin-tts#main" # 或本地开发: dsh plugin --profile web add "file:/path/to/dsh-plugin-tts" ``` 重启 `dsh web` 后作为 profile bundle 自动加载,无需手动启用。 ## 可用音色(经实测,Edge TTS) | 区域 | 音色 | | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 简体中文 | 晓萱 Xiaoxuan · 晓伊 Xiaoyi · 云希 Yunxi · 云扬 Yunyang · 晓晓 Xiaoxiao · 云健 Yunjian · 云夏 Yunxia · 晓北(辽宁) liaoning-Xiaobei · 晓妮(陕西) shaanxi-Xiaoni | | 台湾 | 曉臻 HsiaoChen · 曉雨 HsiaoYu · 雲哲 YunJhe | | 香港 | 曉佳 HiuGaai · 曉曼 HiuMaan · 雲龍 WanLung | | 英文 | Aria · Jenny · Guy · Sonia(英) | | 日/韩/法 | 七海 Nanami · SunHi · Denise | > 注:Xiaohan / Xiaomeng / Xiaorui / Xiaoshuang 等旧音色已被 Edge 端点移除(返回 > `1007 Unsupported voice`),未列入。 ## 架构 | 层 | 位置 | 职责 | | ------ | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Host | `lib/index.mjs` | 注册 `/dsh-tts-api/speak`(合成/分块队列)、`/dsh-tts-audio/`(音频)、`/dsh-tts-api/rvc-*`(RVC 推理/文件/紧凑索引/音色包)等 webServer 路由;用 `node -e` 运行零依赖 worker | | Client | `lib/client.js` | `shell.overlay` 隐藏 `