dsh-plugin-mynah: 为 DeepSeek Harness 代理添加实时数字人对话能力

前言

DeepSeek Harness (DSH) 的设计哲学是「一切皆插件」。当开发者在 DSH 中构建代理时,仅通过文本输出往往缺乏直观的交互体验。dsh-plugin-mynah 解决了这一痛点,它充当了 DSH 与 Mynah 实时数字人栈之间的桥梁,让智能体能够控制数字人进行实时说话、打断和手势交互。

插件定位

该插件由 honwee 维护,开源协议为 MIT。它允许 DSH 代理直接驱动 Mynah 实时数字人(基于 WebRTC 的唇形同步视频),实现文本转语音、会话管理、动作控制以及知识库更新。

核心功能

插件提供了一系列工具(Tools),分为实时交互工具和管理工具两类:

  1. 实时交互

    • mynah_speak: 让数字人在当前会话中说话。支持 type=echo(逐字朗读)或 type=chat(走 Mynah 自身的大脑)。默认情况下,新句子会排队,除非设置 interrupt=true。
    • mynah_interrupt: 强制打断当前正在说话的数字人。
    • mynah_action: 播放预设动作,例如挥手。
  2. 会话与管理

    • mynah_sessions: 列出当前活跃的会话 ID,供后续调用。
    • mynah_channels: 列出已发布的频道及访客访问链接。
    • mynah_status: 检查核心服务、头像引擎、ASR、TTS 和数据库的健康状态。
  3. 知识库

    • mynah_kb_add: 向 Mynah 的知识库添加文本或 Markdown 文档。

安装与配置

通过官方 CLI 安装插件:

dsh plugin --profile web add dsh-plugin-mynah

安装后,需要在 DSH 的配置中指明 Mynah 实例的地址。可以在 cordis.patch.yml 中添加配置块:

- id: mynah
  name: dsh-plugin-mynah
  config:
    baseUrl: https://your-mynah-host:8443      # 访客/实时端点
    adminUrl: https://your-mynah-host:9443     # 管理后台端点
    username: admin
    password: ********

或者使用环境变量(MYNAH_URL, MYNAH_ADMIN_URL, MYNAH_USER, MYNAH_PASSWORD 等)进行配置。

使用示例

在 Web UI 中对话,或在 Headless 模式下运行脚本:

场景 1:Web UI
在 DSH 的对话窗口中输入提示词:

“Find the live Mynah session and have the digital human greet me by name.”

场景 2:Headless 脚本

dsh --profile headless "Use mynah_sessions, then make the digital human say: 今天的部署已经完成。"

运行要求与注意

  • 环境依赖:DeepSeek Harness 版本需 ≥ 0.1.2-alpha.5,Node.js 版本需 ≥ 22.19。
  • Mynah 实例:需要部署一个可访问的 Mynah 实例。Mynah 是自托管的数字人栈,默认使用免费的 EdgeTTS,无需 API Key 即可发声。
  • 硬件资源:Mynah 基于 WebRTC 运行,建议运行环境拥有约 6GB 显存(或使用远程推理)。
  • 权限说明:实时工具(如 mynah_speak)仅需要会话 ID,无需登录;管理工具(如 mynah_sessions)需要管理员登录并缓存 JWT Token。

结语

该插件通过 mynah_* 工具链将 LLM 推理与数字人交互打通,使 Agent 能够拥有具象化的交互能力。完整文档与源码见 GitHub 仓库。

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

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

小夜