鱼皮AI导航
鱼皮AI导航
  • 主页
  • 社区
  • AI工具
  • AI知识库
  • AI提示词
  • MCP
  • Skills
  • AI学习资源
  • AI资讯
  • GitHub开源
登录/注册

dsh-plugin-tts

用免费 Edge TTS 或你自己的 RVC 音色朗读 AI 回复:消息朗读与自动朗读、长文自适应分块渐进播放(无缝衔接)、音色包仓库一键安装、便携 RVC 运行时。

语音音频
访问 GitHub
文档README

dsh-plugin-tts

dsh-plugin-tts

Awesome

跳转

  • English README(English)
  • RVC 自定义音色指南(自定义音色 · 分块渐进播放 · 紧凑索引 · 音色包 · 便携运行时)
  • 使用手册(执行手册)(第一次用,逐步骤上手)
  • 自适应分块设计文档(长文无缝朗读的设计与实测)

dsh-plugin-tts — Edge TTS + RVC 语音大集成

DeepSeek Harness 语音插件:给 AI 回复加朗读——开箱即用微软免费在线音色(Edge TTS), 也能用你自己训练的 RVC 音色朗读;长回复自适应分块渐进播放、段间无缝; 音色可从音色包仓库一键安装;还提供免装 RVC WebUI 的便携运行时。

📖 第一次用?看《使用手册(执行手册)》——每一步都有 "做什么 / 怎么做 / 怎么算成功",从朗读、RVC 音色到音色包下载全覆盖。

单条朗读和自动朗读

alt text alt text

RVC配置

alt text

RVC高级参数

alt text

RVC音色包

alt text

功能

  1. 消息朗读按钮:每条 AI 回复左下角操作行新增「朗读」按钮,点击朗读该条消息 (按钮显示音柱跳动动画),再次点击停止。
  2. 自动朗读开关:输入框左下角的喇叭按钮;开启后每条新完成的 AI 回复自动朗读 (按钮带圆形高亮),关闭则不自动朗读。
  3. 语音设置面板:侧边栏「设置 → 插件」新增「语音」标签页:
    • TTS提供者:Edge TTS(免费在线)/ 自定义音色(RVC)
    • 朗读音色:22 个经实测可用的 Edge TTS 音色(默认 晓萱 zh-CN-XiaoxuanNeural)
    • 声音调节:语速 / 音调 / 音量(0 = 默认)
    • 音色包:从音色包仓库一键下载安装音色
    • 试听测试:输入文本 + 播放按钮(播放中显示旋转 loading,可点击停止;失败时红字提示)
  4. RVC 自定义音色:用你自己训练的 RVC 模型朗读,全程本机计算,支持上传原声、 免索引模式、高级参数(详见《RVC 指南》)。
  5. 长文本无缝朗读:自适应分块渐进播放——探测校准块大小、边播边合成、Web Audio 采样级拼接、段间无停顿(详见设计文档)。
  6. 朗读时 mini 播放器:暂停/继续 + 倍速(1x / 1.25x / 1.5x),分块长读显示可见的 「第 x/y 段」计数。
  7. 主题化 tooltip + RVC 首次引导:悬浮提示用主题 token(--dsw-*)渲染;RVC 面板顶部 内嵌首次使用三步引导(分 OS 启动命令 + 一键诊断)。
  8. 音频下载:每条消息操作行新增下载按钮,把合成音频(Edge 原声或 RVC 变声)保存为 MP3—— 复用进程内缓存,刚读过的消息一点即下。
  9. 朗读选中文本:在消息里选中文本会在选区上方出现「朗读选中」悬浮按钮,点按只朗读该选中片段。
  10. 长读流式(Edge 同样支持):纯 Edge 长文本也走自适应分块渐进播放——第一块先响、其余边播边合成, 不再干等整段合成完成。
  11. 审批语音提醒:可选地把 Agent 审批事件用语音播报。开启后:审批请求(approval/asked)会 打断当前朗读(Agent 正在等这个决定),审批结果(approval/decided)仅在空闲时播报。 播报固定走 Edge TTS(不依赖 RVC 服务)、用自己的提醒音色、按审批 id 去重、默认关闭。 (范围说明:任务完成播报留待后续阶段——jobs 子系统目前没有本插件可观察的会话事件通道。)

要求

  • DeepSeek Harness web profile(dsh web)
  • Node.js ≥ 22(worker 使用原生 WebSocket)
  • 仅使用 RVC 自定义音色 时:还需要本机 RVC 推理环境(RVC WebUI 或便携运行时, 并在使用前启动 rvc-server.py)。macOS 用户请看 《RVC 指南》 的「启动本地 RVC 服务」和 《使用手册》 §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),未列入。

架构

层位置职责
Hostlib/index.mjs注册 /dsh-tts-api/speak(合成/分块队列)、/dsh-tts-audio/<id>(音频)、/dsh-tts-api/rvc-*(RVC 推理/文件/紧凑索引/音色包)等 webServer 路由;用 node -e 运行零依赖 worker
Clientlib/client.jsshell.overlay 隐藏 <audio> 宿主 + UI(朗读按钮 / 自动朗读开关 / 语音设置面板),通过 fetch 调 Host 路由

TTS 引擎:worker 协议镜像 node-edge-tts@1.2.10: Sec-MS-GEC 查询参数(ticks 向下取整到 5 分钟边界)、 Sec-MS-GEC-Version=1-143.0.3650.75、二进制帧 Path:audio 前缀、 xml:lang 由音色 locale 推导、1006 异常关闭自动重试一次。音频输出 audio-24khz-48kbitrate-mono-mp3。

边界行为

  • 自动朗读中点击同一消息朗读按钮 → 停止;点击另一消息 → 打断自动、改手动朗读。
  • 手动朗读中关闭自动开关 → 不打断手动;自动朗读中关闭 → 停止自动朗读。
  • 新消息完成(自动开启)→ 打断当前、朗读最新;无文本消息跳过;切换会话只停自动来源。
  • 停止 / 换消息时立即取消当前 RVC 分块 job,本地转换服务停止调度后续块、及时释放 GPU/内存 (不必等惰性回收)。
  • 同一段文本+音色重复朗读 → 复用进程内音频缓存(不重复合成);若缓存底层文件已被系统清理, 会自动重新合成而非返回失效的 404 URL。
  • Edge 音色被端点移除(1007 Unsupported voice)→ 从选择列表剔除并自动回退默认音色。
  • 首次用户手势即解锁自动播放(resume Web Audio 上下文 + 播放静音片段),朗读不会因浏览器自动 播放策略被静默拦截。
  • Esc / S(非输入框内)停止当前朗读。
  • 合成/播放失败(消息朗读与自动朗读路径)→ 弹出主题化 toast 提示(不再静默失败; 试听面板仍保留内联红字)。RVC 模式下错误 toast 带一键「改用 Edge TTS 朗读」动作; 若在 RVC 设置里开启「RVC 失败时自动改用 Edge TTS」(默认关闭——RVC 为纯本地处理, 自动降级会把文本发送给微软在线端点),RVC 朗读失败会自动改用 RVC 底噪音色经 Edge 重读, 并弹 warn toast 提示。
  • 智能分句:分块切分绝不切断 URL / 邮箱 / 小数 / 版本号(如"3.14");硬切会滑到 词/标点边界;末尾的极短句会并入前一块,避免听感像结巴。
  • 审批语音提醒(opt-in):Host 订阅 session/event 火线(approval/asked / approval/decided)并按审批 id 去重;客户端轮询 /dsh-tts-api/notify?s=N—— 首次轮询只做基线同步(刷新不重播旧提醒);播报失败静默(不弹错误 toast,避免 Agent 循环期间刷屏)。

设置持久化

音色、自动朗读开关、TTS 提供者、RVC 降级开关、审批语音提醒设置与 RVC 配置会 持久化到 localStorage(dsh-tts-settings),刷新 / 重开面板不丢。设置面板 提供「恢复默认设置」按钮,一键复位并清除已存设置。

RVC 自定义音色

用你本地训练的 RVC 模型做音色转换:设置面板把 TTS提供者切到「自定义音色(RVC)」 即可。第一次用 RVC 先做两件事:①准备模型文件(.pth);②启动本地 RVC 服务—— macOS/Windows/Linux 的启动命令见 《RVC 指南》 或 《使用手册》 §4.2。涵盖服务启动、面板配置、长文无缝播放、紧凑索引、 音色包一键安装、便携运行时、设置项详解与排查——完整内容见 《RVC 自定义音色指南》。

公开音色仓库示例:rvc-for-tts (设置 → 语音 → 音色包 → 仓库地址填 https://raw.githubusercontent.com/1624318455/rvc-for-tts/main)。

疑难排查(Edge TTS)

  • 403 / Sec-MS-GEC 被拒:Edge 端点协议或版本校验变更,更新 lib/index.mjs 内 worker 的 CHROMIUM_FULL_VERSION / TRUSTED_CLIENT_TOKEN。
  • 1007 Unsupported voice:所选音色已被端点移除,换用上表列出的音色。
  • 无声音:确认系统音量、浏览器自动播放策略(先与页面交互一次)或合成日志 (dsh web 控制台 [tts] 前缀错误)。

RVC 相关排查见 《RVC 指南》疑难排查。

常见问题(FAQ)

Q:体积大吗?

  • 默认体验(Edge TTS):插件本体很小(MB 级),不需要下载任何服务或模型。
  • 想用自定义音色(RVC)才需要本地 RVC 便携包,体积主要来自自带的离线 Python 运行时 + 推理依赖 + 预训练模型:
    平台压缩包解压后
    macOS(Apple Silicon)~660 MB~1.3 GB
    Windows(纯 CPU 精简版)~1–2 GB~2–3 GB
    Windows(保留 NVIDIA GPU 加速)~6 GB~7 GB
  • 上面这些是自包含运行包的体积;完整版 RVC WebUI 有 7.8GB,本插件用不到的 WebUI/训练/实时变声都不会带。

Q:依赖大吗?

  • 不小,但完全不需要你安装:RVC 便携包自包含 Python、ffmpeg(Windows)/PyAV(macOS)以及全部推理依赖,解压即用,无编译、无环境配置。
  • 插件本体依赖极简,只在确实用到时才加载。

Q:需要本地 TTS 模型吗?

  • 用默认 Edge TTS:不需要本地模型(在线合成,免费)。
  • 用自定义音色(RVC):需要你自己的 RVC 音色模型(.pth),可选加一个 .index 索引;预训练的 hubert / rmvpe 已随便携包带好,你只需提供自己训练的模型。

Q:好装吗?

  • 插件按常规方式安装即可。
  • 用 RVC 时:下载对应平台的便携包 → 解压 → 运行启动脚本(mac 双击 .command,Windows 双击 .bat)→ 把 .pth 放进 assets/weights → 在插件面板里点「浏览」选模型即可。
  • 无需编译、无需手动装 Python/ffmpeg。注意 mac 首次启动会慢几十秒(macOS 首次扫描解压出的运行库,一次性行为),之后启动只要几秒。

Q:需要付费 API 吗?

  • 不需要。默认 Edge TTS 免费(无 API key);RVC 完全本地推理,免费。
  • 提示:Edge TTS 是微软公开的端侧免费能力,个人使用没问题;商用 / 高并发请留意微软服务条款。

Q:改动 DSH 本体了吗?

  • 没改。这是一个独立插件,通过 dsh 的插件机制加载,不修改 DSH 主程序本体,可随时安装 / 停用 / 卸载,不影响 DSH 与其它插件。

其他常见疑问

  • 需要显卡吗? 不需要,CPU 就能跑。要更快可用 Apple Silicon 的 MPS(macOS)或 NVIDIA GPU(Windows,需用 CUDA 版 torch,体积随之增大)。
  • 隐私如何? RVC 转换完全在本地进行,音频不上传;Edge TTS 会把要朗读的文本发送到微软端点作在线合成(选择合适的音色前请注意)。
  • 只支持 Apple Silicon 吗? macOS 版目前是 arm64,支持 M1–M5;Intel Mac 需另行提供 x86_64 版。

界面语言(i18n)

插件设置面板顶部有「界面语言」选择:自动(跟随浏览器)/ 中文 / English。

  • 默认「自动」:按浏览器/系统语言显示(简体中文及其他 → 中文,其余 → English)。
  • 切换后立即生效,并持久化到 localStorage(dsh-tts-lang),刷新/重开面板不丢。
  • 覆盖范围:整个设置面板 + 气泡/朗读按钮 + 诊断 + 音色包面板,以及 RVC 服务的报错/进度提示。

开发

▼
sh
复制代码
node tests/smoke.mjs # 冒烟测试:fake ctx 注册路由 + 真实 Edge TTS 合成 + 音频回放断言 npm run test:all # 全量:smoke + live + patch + i18n + client-load

改 lib/ 后的热更新(Windows 下 file: 安装是复制而非符号链接, 运行中的 dsh 读的是 profile 副本):

▼
powershell
复制代码
Copy-Item lib/* $env:USERPROFILE\.dsh\profiles\web\node_modules\@dsh-external\dsh-plugin-tts\lib\ -Recurse -Force # 然后刷新浏览器即可(bundle 每次请求重新读盘;勿用 pnpm install --force 覆盖)

已知限制

  • 音色 / 自动朗读开关 / TTS 提供者 / RVC 配置已持久化到 localStorage 并跨刷新保留 (见上文「设置持久化」);但音频缓存本身仅进程内(音频写在 OS 临时目录,由系统清理), 完全重启后每段文本第一次朗读会重新合成。
  • 合成音频写入 OS 临时目录,由系统清理。
  • 中英文布局/视觉(英文文本较长可能换行/溢出,主题变量 --dsw-* 适配)需在装有所插件的真实 dsh 界面里人工确认—— 本插件无独立 HTML,UI 由 dsh web 宿主注入 slots 渲染,无法脱离宿主做 headless 截图对比(tests/client-load.mjs 只做内存渲染断言,不生成真实 DOM/CSS)。

License

MIT

语音音频

快捷安装

复制到终端去安装插件

dshplugin--profilewebaddgithub:1624318455/dsh-plugin-tts

温馨提示

装插件等于在本机跑第三方代码,权限与你相同,能读文件、用凭据、访问网络,工具审批管不到。请只装可信来源,并尽量锁定 commit。

站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
站长:程序员鱼皮 老鱼简历 商务合作 增值电信业务经营许可证
2026 鱼皮AI导航 | 沪ICP备19026706号-6
🔥热门工具
朱雀AI检测朱雀AI检测
朱雀AI检测助手朱雀AI检测助手
LovartLovart
老鱼简历老鱼简历
WritePass官网WritePass官网
面多多面多多
CursorCursor
星月写作星月写作
零感AI零感AI
墨得问题墨得问题
dsh 插件推荐
dsh-tool-lipsync
DSH 免费对口型口语视频生成插件,支持 3000+ 声音和 500+ 语言。
dsh-plugins#dsh-ding-sound
DSH 对话结束提示音:内置网络热梗原声(你干嘛哎呦、鸡你太美、神鹰哥等),设置面板可试听/切换/随机,支持自定义音频目录。
dsh-audiogen
面向 DeepSeek Harness Web 的 AI 音频插件 —— 多厂商 TTS、音乐、音效与音色设计,含侧边栏面板、模型对比、资源库与 Agent 工具。
dsh-voice-assistant
dsh web 语音助手:说出唤醒词(如「小鲸」)即可免手听写,说话内容自动转成文字填入输入框;支持口述编辑指令(发送、清空、换行、停止朗读),并可用中文朗读 AI 回复。语音识别基于 sherpa-onnx WASM 在浏览器本地运行,离线可用、无需 API Key。
dsh-voice-control
DSH 网页端语音控制:按住说话将语音转文字输入发送框(可自动发送),用浏览器语音合成朗读助手回复;右键麦克风打开设置面板,支持 Ctrl+M 全局快捷键。