dsh-voice:DeepSeek Harness 网页语音消息插件

在 DeepSeek Harness(DSH)的开发中,当智能体仅以文本形式回复时,交互往往显得单调。开发者希望为 Web UI 增加语音能力,让智能体不仅能说,还能主动发送语音便签。dsh-voice 插件正是为此设计的解决方案。

这是什么

这是一个由 Lorodn4x 维护的 DSH 客户端插件。它利用 Edge TTS 为 DSH 网页 UI 提供了两个核心能力:浏览器端的语音播放按钮,以及 Agent 主动调用 voice_say 发送语音消息的功能。无需 API 密钥,直接使用微软 Edge 语音合成。

核心功能

插件通过 Node-端和浏览器端两部分协作实现语音功能:

  1. Agent 工具:在 ctx.tools 中注册了 voice_say(text, voice?) 工具。Agent 可以调用此工具主动发送语音消息。
  2. HTTP 路由:在 ctx.webServer 上注册了 POST /dsh-voice/tts 路由,接收 {text, voice} 参数并返回 audio/mpeg 格式的音频数据,供浏览器端调用。
  3. 文本清理:在合成语音前,会自动移除 fenced 代码块、缩进代码、行内代码、URL、HTML 标签、表格和标题,仅保留可读文本。
  4. 浏览器端渲染:在 conversation.chat.turnTail 插槽中渲染播放器、听取按钮和语音切换器。

安装与启用

安装插件需要将代码路径添加到配置中,并确保配置项正确写入。

  1. 执行安装命令,将插件链接到 Web 配置文件:
    dsh plugin --profile web add --save link:/путь/к/dsh-voice
*(注意:命令中的路径需替换为实际代码路径)*
  1. 在 DSH 配置文件中添加 "dsh-voice" 到 dsh.profile.bundles 列表中。

  2. 重启配置:安装完成后必须重启当前使用的配置(Profile),因为工具和路由运行在宿主进程中。

典型用法

1. Agent 主动发送语音

Agent 在执行任务时,可以通过调用 voice_say 工具发送语音回复。例如:

ctx.tools.voice_say('你好')

2. 用户听取语音

浏览器端渲染的界面会显示「听取」按钮。用户点击后,系统会合成文本并播放。切换语音时,听取按钮会重新合成文本(不同语音的缓存是独立的)。

3. 语音配置

默认语音为俄语。若需使用其他语言,Agent 或用户需通过 voice 参数使用完整的 Edge TTS ShortName,例如:
- ru-RU-DmitryNeural (男性)
- ru-RU-SvetlanaNeural (女性)

适用场景与注意

适用场景:
- 需要 Web UI 具备语音交互能力的开发者。
- 希望智能体能主动通过语音发送便签的场景。

注意事项:
- 权限与网络:语音合成需要访问 speech.platform.bing.com。
- 缓存位置:生成的音频文件会缓存于 $DSH_HOME/voice-cache/<sha1>.mp3。
- 许可证:本项目采用 MIT 许可证。

总结

dsh-voice 通过复用 Edge TTS 引擎,为 DeepSeek Harness 的 Web UI 补齐了语音交互能力。开发者可以直接通过 Agent 工具或浏览器端按钮使用语音功能,无需配置复杂的 API 密钥。更多细节可查看插件目录或源码:GitHub。

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

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

小夜