前言¶
DeepSeek Harness (DSH) 是一个插件化的开发框架。在调试或使用智能体时,开发者有时需要直接让系统朗读 Agent 的回复,或者验证长文本的输出。浏览器自带的语音合成往往功能有限,且无法通过 Agent 工具直接调用。dsh-speak 插件通过调用 macOS 的 say 命令,在运行 DSH 的主机机器上播放音频,并提供了一套完整的朗读工具链。
介绍¶
dsh-speak 是一个运行在 macOS 上的 DeepSeek Harness 插件。它允许模型调用 speak 工具朗读文本,并在 Web UI 中提供消息操作按钮和选区朗读功能。所有音频播放均来自本地主机,不经过网络传输,不依赖模型下载。该插件支持中文、英文、日文和韩文的自动脚本检测。
核心功能¶
- Agent 工具 (
speak):模型可以通过调用speak工具来朗读文本或停止朗读。 - 消息操作:每条已确定的助手回复下方有一个 🔊 按钮,点击可朗读该回复,再次点击停止。
- 选区朗读:选中页面上的任意非输入文本,会出现一个朗读气泡,点击即可朗读。
- 个性化设置:支持按语言配置语音、语速和 Han 字偏置。
- 多语言支持:基于 macOS
say命令,支持中文、英文、日文、韩文,自动检测脚本。
安装与启用¶
方式一:插件管理器(推荐)¶
- 打开 DSH,进入 Plugins(设置中的 Plugins 或侧边栏的 Plugins 面板)。
- 点击 Install bundle,粘贴以下仓库地址:
https://github.com/RinChanNOWWW/dsh-speak
- 插件会自动插入
speak工具并加载浏览器端代码,无需额外构建。如果按钮未显示,刷新页面即可。
方式二:命令行安装(仅限 Web Profile)¶
对于 dsh web 配置文件,可以使用 CLI 安装:
dsh plugin --profile web add https://github.com/RinChanNOWWW/dsh-speak
方式三:手动安装¶
如果需要将插件安装到配置文件目录之外:
1. 将包文件复制到配置文件目录:
$DSH_HOME/profiles/<profile>/plugins/dsh-speak/{package.json, index.js, client.js}
- 在
$DSH_HOME/profiles/<profile>/cordis.patch.yml中添加一行:
- insert:
- id: speak
name: ./plugins/dsh-speak/index.js
- 重启 DSH 或重新加载配置文件以生效。
典型用法¶
让 Agent 朗读¶
你可以直接在对话中让助手朗读文本。支持的指令包括:
- “read this aloud”
- “读一下这段”
- “stop reading” / “别读了”
speak 工具参数¶
| 参数 | 说明 |
|---|---|
text |
要朗读的文本,markdown 会被剥离,除非 stop 为 true 否则为必填 |
stop |
设为 true 时停止当前朗读而非开始新的朗读 |
language |
偏置语言(zh/en/ja/ko),用于 Han 字判断和语音回退 |
voice |
指定 macOS 的具体语音名称(如 Tingting、Kyoko 等) |
rate |
语速,单位为每分钟字数,范围 80-500 |
wait |
是否等待朗读完整结束再返回 |
界面操作¶
- 消息操作:点击助手回复下方的 🔊 图标开始朗读,再次点击停止。若正在朗读其他内容,点击该图标会切换到当前内容。
- 选区朗读:选中页面文本,点击弹出的气泡朗读。气泡会保持并变为“停止朗读”状态。
- 设置:点击编辑器工具栏的齿轮图标,或选中文字气泡内的齿轮图标,可配置各语言的语音和语速。
注意事项¶
- 系统要求:仅支持 macOS,依赖
say命令。Linux 支持未实现。 - 版本要求:需要 DSH 0.2.x(桌面应用或浏览器配置文件)。
- 并发限制:同一时间只能播放一个朗读任务,新请求会覆盖旧任务。
- 手动安装:手动修改
cordis.patch.yml后必须重启或重新加载配置文件。 - CLI 限制:CLI
dsh plugin命令拒绝桌面应用配置文件,仅支持 Web Profile。
总结¶
dsh-speak 插件通过复用 macOS 的系统能力,为 DSH 提供了原生的文本朗读功能。它既能让 Agent 作为工具调用,也能通过 UI 交互为开发者提供便捷的文本验证手段。所有操作均在本地完成,无需额外的网络请求或 API 密钥。