dsh-omi-voice:用豆包自然音色朗读 DSH 对话回复

前言

在 DeepSeek Harness(DSH)里跟 AI 对话,有时需要把回复念出来:走路、做饭,或者单纯想少盯屏幕。DSH 内置朗读可以用系统语音或 Edge TTS,但音色往往偏机械;通用剪贴板朗读工具则要先复制文本,再切到别的应用,打断对话节奏。

dsh-omi-voice 针对的是这条路径:在 DSH 对话界面里,点一下回复旁的 🔊,用豆包 TTS 的自然中文音色把最终回答读出来。语音在本机 Omi 引擎里合成,豆包 API Key 由你自己提供(BYOK),只保存在 macOS 钥匙串,插件侧不持有 Key。

这是什么

dsh-omi-voice 是 DeepSeek Harness 的客户端插件,维护者为 PolinniZhong。它适配 dsh web(含桌面端),配合 macOS 上常驻的 Omi 引擎(v0.1.2+)工作。

插件本身相当于「遥控器」:从 DSH 取回复文本,通过本机 127.0.0.1:8765 调用 Omi 引擎;文本清洗、分段、豆包 TTS 流式合成、播放、暂停/继续、缓存都在引擎内完成。开源协议为 MIT。

核心功能

下面介绍插件已文档化的能力,均来自项目 README 与 package.json(当前版本 0.1.2)。

点读、暂停、继续

  • 点 AI 回复旁的 🔊 开始朗读。
  • 播放中再点 = 暂停;再点 = 从暂停处继续。
  • 点另一条消息的 🔊 会打断当前播放,改读新内容。

不做自动朗读:只有手动点 🔊 才发起合成,避免无意触发计费。

只读最终回答,并过滤不可读内容

工具执行日志、思考过程不会读。代码围栏、表格、纯图形(盒绘/ASCII)在请求前过滤。若回复只剩这些内容,🔊 按钮呈禁用态,并提示「没有可朗读的内容」。

豆包 TTS 与 BYOK

语音使用豆包 TTS 1.0(seed-tts-1.0)。API Key 在 Omi 引擎设置页配置,存入 macOS Keychain;插件零 Key,通信仅限本机 127.0.0.1

按字符计费,由你在火山引擎账户承担。引擎侧有成本控制:相同文本 3 秒内去重;进程内 LRU 缓存最近 3 条(≤5MB,退出即清);纯表格/纯代码等无效内容不发请求(invalid_text)。

平台与依赖

  • DSH:dsh web(含桌面端)。
  • Omi 引擎:macOS Apple Silicon,v0.1.2+。
  • 暂不支持 Windows(Omi 引擎仅 macOS)。

安装与启用

安装分两部分:DSH 插件,以及本机 Omi 引擎。

1. 安装 DSH 插件

官方推荐从 GitHub 指定版本安装:

dsh plugin --profile web add "github:PolinniZhong/dsh-omi-voice#v0.1.2&path:/"

项目已发布到 npm,也可直接安装:

dsh plugin --profile web add dsh-omi-voice

本地开发可装目录:

dsh plugin --profile web add /path/to/dsh-omi-voice

2. 构建并运行 Omi 引擎

引擎源码在仓库 engine/ 目录。按 engine/README.md 执行 ./engine/build/build-service.sh,再将产物复制到 ~/Applications/Omi DSH.app。建议开启开机启动,避免点 🔊 时提示「未检测到 Omi DSH 引擎」。

3. 配置豆包 API Key

本插件为 BYOK,需先在火山引擎开通「语音合成 1.0」,创建并关联该服务的 API Key。三步概要:

  1. 登录 火山引擎控制台,进入「豆包语音」(语音技术)。
  2. 开通「语音合成大模型 / 语音合成 1.0」。
  3. 创建 Access Key 并关联上述服务,将 Key 填入 Omi DSH「设置 > API Key」并保存。

经过上面的步骤,DSH 对话里即可使用 🔊 朗读。

典型用法

工作流如下:

flowchart LR
    A[ 🔊] --> B[插件取回复的最终回答文本]
    B --> C[POST 127.0.0.1:8765/v1/speak]
    C --> D[Omi 引擎清洗 + 分段]
    D --> E[豆包 TTS 流式合成]
    E --> F[本机扬声器播放]

日常操作:

  1. 确认 Omi DSH 已启动,且已保存豆包 API Key。
  2. 在 DSH 对话中等待 AI 回复完成。
  3. 点该条回复旁的 🔊;需要时在同一按钮上暂停、继续,或点其他消息的 🔊 切换朗读对象。

引擎未启动或未配置 Key 时,点击会给出明确提示(含如何打开 Omi)。音色 ID 可在 Omi 设置页修改;当前插件不提供音色 UI。

本地 HTTP 协议包括 /v1/status/v1/speak/v1/pause/v1/resume/v1/stop,详见仓库 docs/API.md

适用场景与注意

适合谁

  • 已在 macOS 上使用 DSH 桌面端或 dsh web,希望用更自然的中文音色听读 AI 回复。
  • 能接受 BYOK:自行开通豆包语音合成并按字符付费。
  • 偏好「点读」而非自动播报,且主要听最终回答而非工具日志。

使用前注意

  • 插件以当前 dsh 进程权限运行;安装前建议查看 GitHub 源码 与 MIT 许可证。
  • 需额外安装并维护 Omi DSH 本机引擎,不是「只装插件即可」。
  • dsh-voice-chat 的取舍:后者零 Key、零成本,但用系统机械音色;本插件用豆包自然音色,代价是 BYOK 与按字符计费。

社区目录 SkillHub 收录本插件(分类:客户端);该站点为独立社区目录,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-omi-voice 把 DSH 对话朗读从「系统播报腔」或「复制再读」拉到「对话内一点、豆包音色、本机合成」:插件负责取文与触发,Omi 引擎负责合成与播放,Key 留在你自己的钥匙串里。

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

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

小夜