dsh-plugin-mynah
Verifieddsh-plugin-mynah · v0.1.1 · MIT
Give your DeepSeek Harness agent a talking face: drive a Mynah realtime digital human (speak, interrupt, sessions, channels, knowledge base).
Install
dsh plugin add dsh-plugin-mynah Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
dsh-plugin-mynah
给 DeepSeek Harness 的 Agent 一张会说话的脸。
这个插件让 dsh Agent 直接驱动 Mynah 实时数字人:对着屏幕前的人开口说话、打断、查看谁在线、列出已发布的频道、看健康状态、往知识库里塞资料。Mynah 是开源、可私有化部署的数字人全栈(WebRTC 唇形同步视频、管理控制台、频道发布、知识库,默认 EdgeTTS 免费语音,6GB 显卡或远端推理即可)。
Agent (DeepSeek Harness) ──mynah_speak──▶ Mynah cored ──WebRTC──▶ 浏览器里一张会说话的脸

左:DeepSeek Harness Web 界面,deepseek-flash 跑 Agent。右:Mynah 频道页。一句指令,Agent 依次调用 mynah_sessions → mynah_action(挥手)→ mynah_speak → mynah_status → mynah_speak,第二句自动排在第一句后面。语音是 Qwen 云端实时音色,Mynah 侧从收到请求到第一帧带口型的画面约一秒。 Full video: docs/agent-demo.mp4.
工具
| 工具 | 作用 | 需要管理员登录 |
|---|---|---|
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 秒试一下
- 打开一个 Mynah 频道页(例如
https://<你的 Mynah>:8443/channel/test),点 开始对话。 - 在 dsh 里说:"找到在线的 Mynah 会话,让数字人叫我的名字打个招呼。"
- 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