前言¶
DeepSeek Harness (DSH) 的設計哲學是「一切皆插件」。當開發者在 DSH 中構建代理時,僅通過文本輸出往往缺乏直觀的交互體驗。dsh-plugin-mynah 解決了這一痛點,它充當了 DSH 與 Mynah 實時數字人棧之間的橋樑,讓智能體能夠控制數字人進行實時說話、打斷和手勢交互。
插件定位¶
該插件由 honwee 維護,開源協議爲 MIT。它允許 DSH 代理直接驅動 Mynah 實時數字人(基於 WebRTC 的脣形同步視頻),實現文本轉語音、會話管理、動作控制以及知識庫更新。
核心功能¶
插件提供了一系列工具(Tools),分爲實時交互工具和管理工具兩類:
-
實時交互
mynah_speak: 讓數字人在當前會話中說話。支持type=echo(逐字朗讀)或type=chat(走 Mynah 自身的大腦)。默認情況下,新句子會排隊,除非設置interrupt=true。mynah_interrupt: 強制打斷當前正在說話的數字人。mynah_action: 播放預設動作,例如揮手。
-
會話與管理
mynah_sessions: 列出當前活躍的會話 ID,供後續調用。mynah_channels: 列出已發佈的頻道及訪客訪問鏈接。mynah_status: 檢查覈心服務、頭像引擎、ASR、TTS 和數據庫的健康狀態。
-
知識庫
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 倉庫。