前言¶
在 DSH Desktop 里长时间阅读助手的长回复,眼睛容易疲劳;若只想快速过一遍某段结论,又需要自己在心里「念一遍」。浏览器自带的 Web Speech 或 Windows SAPI 默认音色往往偏机械,且很难和会话 UI 里的「当前读到哪一句」对齐。下面介绍社区插件 dsh-plugin-read-aloud(维护者 kevinx-key):在每条正式助手回复的操作栏增加朗读入口,并支持划词右键朗读,默认优先使用 Microsoft Edge 在线自然语音,失败时回退本机 SAPI5,再失败才用浏览器语音。
这是什么¶
dsh-plugin-read-aloud 是 DeepSeek Harness(DSH)的客户端插件(当前 package 版本 0.3.2,MIT 许可)。它注册到 conversation.chat.assistant-actions,在复制按钮旁增加喇叭按钮;同时监听会话正文选区,提供「朗读 / 复制」上下文菜单与 Alt+R 快捷朗读。插件要求 DSH Desktop 0.2.x(engines.dsh: >=0.2.1-rc.2 <0.3.0),Web GUI 基于 Chromium,依赖 ::highlight() 与 Web Audio。
目录页:https://www.skillhub.cn/plugins/kevinx-key/dsh-plugin-read-aloud
源码与说明:https://github.com/kevinx-key/dsh-plugin-read-aloud
核心功能¶
整段回复朗读¶
点击助手回复底部操作栏、复制按钮右侧的喇叭图标后:
- 从当前回复第一段起按从上到下顺序朗读,只读正式答复正文,跳过 Think 推理、按钮、代码块工具条等 chrome;
- 尚未朗读的文字用 CSS Custom Highlight API 标蓝色背景,读到后逐段清除,不修改 React DOM;
- 自动把当前句子滚到视野内;用户手动滚动后,自动跟随会暂停约 6 秒;
- 弹出「朗读设置」浮窗:语速 0.5×–3×(含
0.75× / 1× / 1.25× / 1.5× / 2× / 2.5× / 3×快捷档)、暂停 / 继续 / 停止 / 从头朗读、切换自然 / 本地音色;语速与音色会持久化; - 暂停后从当前音频位置继续,而不是从本句或全文开头重读。
划词朗读¶
- 在会话正文中选中文字,右键选「朗读」,或按
Alt+R; - 立即朗读选中内容,底部出现迷你播放条(暂停 / 继续 / 停止,
1×按钮可循环切换语速); - 选区保持浏览器原生蓝色,读完或停止后自动清除。
关闭浮窗不会停止朗读;点浮窗外或按 Esc 仅关闭浮窗。
语音引擎与回退¶
默认使用 Microsoft Edge Read Aloud 在线自然语音(如 Xiaoxiao、Yunxi、Yunjian、Xiaoyi 等),经 Host 在本机 127.0.0.1 的 18766–18777 端口启动仅 loopback 可访问的合成服务(无需手开端口)。网络不可用或 Edge 失败时自动回退 Windows SAPI5(如 Microsoft Huihui Desktop / Microsoft Zira Desktop);插件启动会对 SAPI 音色试音,下拉里只保留能真正出声的 Desktop 音色。再失败则回退浏览器 Web Speech。
隐私与离线:Edge 会把当前句子文字发给 Microsoft。介意隐私或需离线时,在音色下拉中选择带 · 本地 的 SAPI 音色。
安装与启用¶
从 GitHub 安装(仓库已包含构建后的 lib/):
dsh plugin --profile desktop add "git+https://github.com/kevinx-key/dsh-plugin-read-aloud.git"
本地开发可链接 checkout:
dsh plugin --profile desktop add "link:<仓库所在的绝对路径>"
npm 发布后可简写:
dsh plugin --profile desktop add dsh-plugin-read-aloud
DSH 没有官方插件市场;本仓库在 GitHub Pages 托管自定义索引。先在「插件 → 实验性插件 → 更多」启用「自定义插件市场」,再在「发现 → 添加索引源」填入:
https://kevinx-key.github.io/dsh-plugin-read-aloud/index.json
索引安装固定到 Git commit,不依赖 npm。
卸载:
dsh plugin --profile desktop remove dsh-plugin-read-aloud
安装、卸载或升级后需完全退出并重新打开 DSH Desktop,新插件才会进入 profile。清单备份位于 ~/.dsh/profiles/desktop/package.json.bak-readaloud-*。
典型用法¶
- 重启 DSH Desktop 后,打开任意已有正式答复的会话。
- 鼠标移到答复底部操作栏,点击复制右侧的喇叭图标。
- 朗读开始后浮窗自动出现;再次点喇叭可暂停并保留浮窗,浮窗内播放键可继续。
- 在浮窗内切换音色、拖动语速滑杆,或使用快捷倍速按钮。
排查 Host 是否就绪(PowerShell):
Invoke-RestMethod http://127.0.0.1:18766/health
正常应返回 ready: true,且 engines.edge / engines.sapi 至少一个为 true。浮窗底部通常显示「Microsoft Edge 在线自然语音」或「本地 SAPI 语音引擎」;若显示「浏览器语音引擎」,说明 Host 未连上。Edge 失败常见原因是网络或代理阻止 speech.platform.bing.com;SAPI 不可用时可查 DSH 日志中的 [read-aloud] SAPI worker unavailable(多与 PowerShell 执行策略或安全软件有关)。
适用场景与注意¶
适合:在 Windows 上使用 DSH Desktop、希望边听边看助手长文、或快速朗读选中片段的开发者与用户;需要较自然中文/英文发音且可接受 Edge 在线合成时体验最佳。
注意:
- 自然音色需要联网;离线请选本地 SAPI。
- OneCore 类音色(如 Kangkang / Huihui / Yaoyao)可能被 Chromium 列出但 SAPI
speak()会失败,插件已过滤不可用项。 - 插件以当前 DSH 进程权限运行,Host 在本机起 loopback 服务;安装前请自行查看源码与 MIT / 第三方许可(含 msedge-tts)。
- 社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,本插件由社区维护,GitHub 星标以仓库页为准。
结尾¶
dsh-plugin-read-aloud 把 Edge 自然语音、本机 SAPI 与按句高亮、精确暂停续播收进 DSH 会话 UI,减少「机械读稿」和 DOM 侵入式高亮的成本。安装命令与行为以上述 README 为准。