dsh-speak: 在 DeepSeek Harness 中使用 macOS 朗读文本

前言

DeepSeek Harness (DSH) 是一个插件化的开发框架。在调试或使用智能体时,开发者有时需要直接让系统朗读 Agent 的回复,或者验证长文本的输出。浏览器自带的语音合成往往功能有限,且无法通过 Agent 工具直接调用。dsh-speak 插件通过调用 macOS 的 say 命令,在运行 DSH 的主机机器上播放音频,并提供了一套完整的朗读工具链。

介绍

dsh-speak 是一个运行在 macOS 上的 DeepSeek Harness 插件。它允许模型调用 speak 工具朗读文本,并在 Web UI 中提供消息操作按钮和选区朗读功能。所有音频播放均来自本地主机,不经过网络传输,不依赖模型下载。该插件支持中文、英文、日文和韩文的自动脚本检测。

核心功能

  • Agent 工具 (speak):模型可以通过调用 speak 工具来朗读文本或停止朗读。
  • 消息操作:每条已确定的助手回复下方有一个 🔊 按钮,点击可朗读该回复,再次点击停止。
  • 选区朗读:选中页面上的任意非输入文本,会出现一个朗读气泡,点击即可朗读。
  • 个性化设置:支持按语言配置语音、语速和 Han 字偏置。
  • 多语言支持:基于 macOS say 命令,支持中文、英文、日文、韩文,自动检测脚本。

安装与启用

方式一:插件管理器(推荐)

  1. 打开 DSH,进入 Plugins(设置中的 Plugins 或侧边栏的 Plugins 面板)。
  2. 点击 Install bundle,粘贴以下仓库地址:
   https://github.com/RinChanNOWWW/dsh-speak
  1. 插件会自动插入 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}
  1. 在 $DSH_HOME/profiles/<profile>/cordis.patch.yml 中添加一行:
   - insert:
       - id: speak
         name: ./plugins/dsh-speak/index.js
  1. 重启 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 密钥。

目录页 | GitHub 仓库

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜