中文EN

dsh-plugin-mynah

voice已测通过npmMIT

给 Agent 一张会说话的脸:七个工具驱动自托管的 Mynah 实时数字人——开口说话(排队或打断)、播放动作片段、打断、查看在线会话与频道、健康检查、往知识库加文本。

下载量 / Downloads
1,063
依赖体积 / node_modules
8.02 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

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

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-plugin-mynah

给 DeepSeek Harness 的 Agent 一张会说话的脸。

这个插件让 dsh Agent 直接驱动 Mynah 实时数字人:对着屏幕前的人开口说话、打断、查看谁在线、列出已发布的频道、看健康状态、往知识库里塞资料。Mynah 是开源、可私有化部署的数字人全栈(WebRTC 唇形同步视频、管理控制台、频道发布、知识库,默认 EdgeTTS 免费语音,6GB 显卡或远端推理即可)。

Agent (DeepSeek Harness) ──mynah_speak──▶ Mynah cored ──WebRTC──▶ 浏览器里一张会说话的脸

<img src="docs/agent-demo.gif" alt="dsh-plugin-mynah agent demo" width="900">

<sub>左:DeepSeek Harness Web 界面,deepseek-flash 跑 Agent。右:Mynah 频道页。一句指令,Agent 依次调用 mynah_sessions → mynah_action(挥手)→ mynah_speak → mynah_status → mynah_speak,第二句自动排在第一句后面。语音是 Qwen 云端实时音色,Mynah 侧从收到请求到第一帧带口型的画面约一秒。 Full video: <a href="docs/agent-demo.mp4">docs/agent-demo.mp4</a>.</sub>

工具

工具 · 作用 · 需要管理员登录

mynah_speak · 让数字人在某个在线会话里说 text。type=echo 原话播报(默认);type=chat 交给 Mynah 自己的对话大脑回答。默认排在当前这句后面说,interrupt=true 才打断。 · 否

mynah_interrupt · 让数字人闭嘴。 · 否

mynah_action · 让数字人做一个动作,例如 wave 挥手。 · 否

mynah_sessions · 列出在线会话(拿 session id 给 mynah_speak 用)。 · 是

mynah_channels · 列出已发布频道和访客链接。 · 是

mynah_status · 实时核心 / 数字人引擎 / ASR / TTS / 数据库健康状态。 · 是

mynah_kb_add · 往知识库添加一篇文本/markdown 文档。 · 是

实时类工具只需要 session id,这是访客页本来就持有的凭证;管理类工具用控制台账号登录一次并缓存 JWT。

安装

dsh plugin --profile web add dsh-plugin-mynah      # 从 npm
# 或从本地检出:
dsh plugin --profile web add ./dsh-plugin-mynah

告诉它 Mynah 在哪。改 profile 的 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,可选 MYNAH_TOKEN、MYNAH_INSECURE_TLS=1)。注意 patch 会整块替换 config,需要的键要写全。

dsh --profile web --dump-config | grep -A3 'id: mynah'
dsh --profile web

60 秒试一下

1. 打开一个 Mynah 频道页(例如 https://<你的 Mynah>:8443/channel/test),点 开始对话。

2. 在 dsh 里说:"找到在线的 Mynah 会话,让数字人叫我的名字打个招呼。"

3. Agent 先调 mynah_sessions,再调 mynah_speak,屏幕上的数字人就开口了。

无头模式,适合脚本和 CI:

dsh --profile headless "先用 mynah_sessions,然后让数字人说:今天的部署已经完成。"

开发

npm install
npm run build          # 按 npm 上的 @deepseek-ai 包编译
npm run check:local    # 对着旁边的 deepseek-harness 源码检出编译 + vitest(见 tsconfig.local.json)

tests/cordis-integration.spec.ts 会启动真实的 @deepseek-ai/dsh-tools 注册表,挂载本插件,对一个本地假 Mynah 跑通各工具。

要求

  • DeepSeek Harness ≥ 0.1.2-alpha.5,Node ≥ 22.19
  • 一个能访问的 Mynah 实例(Mynah 仓库里 docker compose up -d;默认 EdgeTTS,不用任何 key 就能听见它说话)

MIT © honwee

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:3,最后更新 2026-10-12

链接

GitHub · Homepage · npm

同类插件