DSH Realtime Voice 实时语音插件

前言

DeepSeek Harness (DSH) 采用插件化架构,旨在扩展系统能力。DSH Realtime Voice 是一个官方形态的实时语音 Agent 插件,提供全双工语音交互与打断能力,支持通过语音启动、追加、纠正或停止 DSH Agent 的工作。

核心功能

交互与界面

安装后,DSH 原生 3080 WebUI 的拨号按钮会出现在发送按钮右侧,使用同尺寸、同色系的蓝色圆形通话图标。界面包含一个独立可拖动的语音浮窗,支持展开收起,并在运行时显示动态波形和计时。用户可在通话中持续对话、打断播报或询问进度。

模型切换与打断

在 WebUI 的“设置 → 插件 → DSH 实时语音”中,可以一键切换 Qwen Audio Realtime Flash/Plus 模型,下一通通话生效。插件支持快速声学打断(采用浏览器本地起音检测、Host 显式取消和百炼 VAD 三层打断)和智能语义轮次切换。

安全性与架构

插件自动识别 DASHSCOPE_API_KEY,也支持通过 DSH 官方的 write-only credentials API 安全写入。Key 不进入浏览器包,不会被写入 cordis.patch.yml、浏览器代码或 Git。插件不修改 DSH 源码,不另起后台进程,卸载时会清理所有资源。

语义交接与闭环

插件采用“双平面”运行时:Qwen Audio Realtime 负责低延迟的听、说、问答和 VAD;DSH Agent 负责工具、项目和执行。只有文件、应用等真实工作通过 Function Call 交给 DSH。插件订阅 DSH 的 approval/requested、question/requested 事件,实现审批与追问闭环;订阅 turn/end 等事件,实现进度与终态闭环。

协议与音频

插件提供 dsh.voice.v1(WebUI)和 dsh.voice.direct.v1(微信/原生客户端)控制协议。下行 PCM 按响应重组为 24kHz/mono/s16le 的 40ms(1920 字节)有序帧。

安装与配置

使用官方 CLI 进行安装:

dsh plugin --profile web add github:martinbear1/dsh-realtime-voice#v0.1.0-alpha.9

卸载命令如下:

dsh plugin --profile web remove @harness-remote/dsh-realtime-voice

在 WebUI 的“设置 → 插件 → DSH 实时语音”中配置 DASHSCOPE_API_KEY。

使用示例

  1. 在 WebUI 输入框旁点击出现的蓝色拨号按钮。
  2. 持续对话,Agent 会实时转写并播报。
  3. 在通话过程中打断 Agent 播报或要求其执行具体任务。
  4. 在插件设置页面切换 Qwen Audio Realtime Flash 或 Plus 模型。

注意事项

  • 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
  • 插件不修改 DSH 源码,不另起后台进程,卸载时会清理所有资源。
  • 浏览器端不可回读明文 Key。
  • 小程序 V1 仅支持前台实时通话。
  • 自动测试不会擅自采集或上传环境音。

总结

DSH Realtime Voice 将 Qwen Audio Realtime 的低延迟交互能力与 DSH Agent 的执行能力结合,通过语义交接和闭环机制,实现了语音驱动的 Agent 工作流。开发者可通过上述命令快速集成到 DSH 环境中。

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

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

小夜