在 DeepSeek Harness (DSH) 使用场景中,当智能体任务执行完毕、需要人工审批,或运行过程中需要中断确认时,开发者通常需要切换到终端或界面查看日志。这种方式在远程场景或移动端效率较低。下面介绍一个插件,它将 dsh 会话与 ElevenLabs 语音代理结合,通过电话链接提供语音反馈和指令输入。

插件定位与功能

该插件由 StephenEvenson 维护,属于“web 工具”类别。它是一个 DeepSeek Harness 插件:当 dsh 任务结束或等待批准时,插件会向手机发送一个链接。打开该链接后,可通过 ElevenLabs 语音代理读取运行摘要、回答关于运行的问题,并在确认指令后通过工具将指令回传给 dsh 会话。

核心能力包括:
* 语音回调:通过电话链接获取结果。
* 发送手机链接:支持终端显示、二维码、推送等多种方式。
* 对话交互:与 ElevenLabs 语音代理进行多轮对话。
* 总结与问答:Agent 会总结运行结果,并回答关于运行细节的问题。
* 指令下发:通过工具发送指令,或处理审批。

环境与安装

安装前需确认环境满足以下条件:
* Node.js 版本 >= 22,且已安装 pnpm。
* DeepSeek Harness 版本为 0.1.1-rc.2(开发者预览版)。
* 拥有 ElevenLabs 账户及 API Key。
* 能够提供公共 HTTPS URL(可使用 cloudflared 或自定义反向代理)。

安装命令如下:

dsh plugin --profile web add github:StephenEvenson/dsh-plugin-elevenlabs-callback

典型使用流程

  1. 配置与启动:
    配置环境变量 ELEVENLABS_API_KEY。首次启动时,插件会自动创建 ElevenLabs 代理和工具。插件会绑定 127.0.0.1:7331,并尝试打开 HTTPS 隧道。

  2. 会话触发:
    当 dsh 会话结束、失败或停止等待审批时,插件会通过终端、二维码、推送等方式向手机发送一个链接。

  3. 语音交互:
    在手机浏览器中打开链接并授权麦克风使用。语音 Agent 会读取上一次运行的摘要,并允许开发者通过语音下达下一步指令(如“approve”、“run tests”等)。

  4. 指令回传:
    Agent 确认指令后,会通过 webhook 工具将指令回传给 dsh 会话,作为后续的 follow-up turn 或审批结果。

注意事项

  • HTTPS 限制:浏览器仅在 HTTPS 协议下允许使用麦克风,因此必须配置公共 HTTPS URL,以确保 ElevenLabs 能够拨打电话并处理 WebRTC。
  • 权限与安全:插件以当前 dsh 进程的权限运行,安装前应检查源码和许可证(MIT)。
  • 版本依赖:该插件依赖 DeepSeek Harness 0.1.1-rc.2 开发者预览版,API 变更后可能需要更新插件。