前言¶
在 DSH 裏做 Agent 會話時,工具多半落在文件、終端和 HTTP 上,桌面側缺少一個可被模型直接「看見反饋」的載體。若你希望 Agent 能驅動桌面角色做動作、換表情、說話並移動窗口,又希望同一套 MCP 端點也能接到 Claude Desktop 等客戶端,KanbanNiang(看板娘)把 Tauri 2 桌面應用、Live2D 渲染和內置 MCP 服務打包成一層 DSH 插件:安裝並重啓 DSH 後,宿主會按需拉起看板娘進程,並把 11 個工具注入爲 mcp__kanbanniang__*。
下面介紹它是什麼、能做什麼,以及如何在本機以 DSH 插件方式安裝與驗證。
這是什麼¶
KanbanNiang 由維護者 Evil-Wideplain 發佈,在 SkillHub 社區目錄中歸類爲客戶端插件;倉庫爲 Evil-Wideplain/kanbanniang,許可證 MIT,當前 package 版本爲 0.1.0。
一句話定位:Tauri 2 + Live2D 桌面看板娘,內置 MCP 服務(Streamable HTTP,11 個工具);同時是 DSH 插件包——DSH 啓動時可通過宿主插件自動拉起應用,並把工具註冊到會話。任意支持 Streamable HTTP 的 MCP 客戶端(含 DSH 內置 MCP 客戶端、Claude Desktop、MCP Inspector)均可連同一端點 http://127.0.0.1:7432/mcp(端口可在看板娘設置頁修改,插件從 settings.json 的 mcpEnabled / mcpPort 讀取,默認 7432)。
核心功能¶
MCP 與 Agent 工具¶
| 能力 | 說明 |
|---|---|
| 單端點傳輸 | POST http://127.0.0.1:7432/mcp,Streamable HTTP;GET /health 供探活 |
| DSH 注入名 | 工具在會話中表現爲 mcp__kanbanniang__<tool> |
| 11 個工具 | 動作序列、表情、說話、窗口移動、窗口內站位、待機、列舉動作、列舉表情、狀態、換模型、列舉模型 |
協議側:initialize 的 protocolVersion 按客戶端請求回顯,支持 2025-06-18 / 2025-03-26 / 2024-11-05;舊版 HTTP+SSE 的 /mcp/sse 已下線。
桌面看板娘本身¶
- 窗口:透明、無邊框、置頂、不佔任務欄;主窗口 640×800,角色按 360×480 渲染。
- 鼠標穿透:僅角色像素接收鼠標,空白區域事件落到下層窗口。
- 模型:需自備 Cubism 3–5.3 的 Live2D 模型(
.model3.json);可構建期放入models/<模型名>/,或運行後把.zip/ 模型文件夾拖到角色身上熱切換;set_model失敗會回滾。 - Cubism 運行時:倉庫已內置
live2dcubismcore.min.js(6.0.1),無需單獨下載 Core。
DSH 插件鏈路(概要)¶
DSH 啓動 → 宿主插件(cordis.patch.yml 插入)解析 MCP 端點、探測 /health、未運行則拉起 target/release/kanbanniang.exe → @deepseek-ai/dsh-mcp-client 以 streamable-http 連接同一端點並注入工具。插件以 link: 方式註冊,運行時直接執行倉庫內構建產物,不復制 exe;因此安裝流程會先構建 Tauri 應用(不可用 cargo build --release 代替完整 tauri build,否則 DSH 拉起易出現白屏與查詢超時)。
市場安裝:README 明確寫明當前不能從 DSH 插件市場一鍵安裝(git 包缺編譯產物與 exe、無 npm 發佈等),請使用下文本地安裝。
安裝與啓用¶
前置¶
| 依賴 | 說明 |
|---|---|
| DSH 桌面端 0.2.x | 需至少啓動過一次,完成 desktop profile 初始化 |
| Node.js ≥ 18 | 前端構建與 Tauri CLI |
| Rust stable | 見 Tauri 前置 |
| Windows | WebView2 一般已預裝;VS Build Tools 需「使用 C++ 的桌面開發」 |
將本倉庫放到本機某絕對路徑後,在該目錄執行下列命令(與 README「作爲 DSH 插件安裝」一致):
npm install
npm run plugin:install
若已有 target/release 產物、希望跳過構建:
npm run plugin:install -- --no-build
腳本會通過桌面端自帶的 dsh.cmd(resources/runtime/cli/bin/dsh.cmd)執行 plugin --profile desktop add link:<倉庫絕對路徑>;PATH 上的 npm dsh 不能操作 desktop profile。找不到桌面 CLI 時會退化爲改 profile 清單並提示需手工執行的 pnpm 命令。
圖形界面等價操作:DSH 側欄「插件」→「安裝第三方插件」→ 填寫倉庫絕對路徑 → 安裝並啓用。
安裝或卸載後需完全退出並重啓 DSH 才生效。
卸載¶
npm run plugin:uninstall
看板娘應用與倉庫文件不會被刪除,仍可直接運行 target/release/kanbanniang.exe。
安裝後驗證¶
- 重啓 DSH,新建會話,工具列表應出現
mcp__kanbanniang__get_status、mcp__kanbanniang__speak、mcp__kanbanniang__play_motion等。 - 對模型說類似「讓看板娘揮揮手,並說歡迎回來」,應看到動作與氣泡。
- 宿主插件日誌:
<DSH_HOME>/kanbanniang/plugin.log(Windows 默認%USERPROFILE%\.dsh)。
僅開發、不裝 DSH 插件時,可在倉庫內 npm run tauri:dev 啓動窗口,另開終端跑冒煙腳本:
node cmd/client/test-streamable.mjs
腳本順序覆蓋 /health、initialize、tools/list(不少於 11 個工具)、get_status、speak、play_motion 等。
典型用法¶
在 DSH 會話裏¶
安裝插件並重啓後無需手工配 MCP。在對話中通過已注入的 mcp__kanbanniang__* 工具即可驅動角色;查詢類工具(如 get_status、play_motion)由前端經 Tauri 事件回傳,Rust 側 oneshot 等待約 5s;speak 等部分工具發射後即返回。
在其他 MCP 客戶端¶
先啓動看板娘應用(或由 DSH 宿主拉起),在客戶端配置 Streamable HTTP URL。Claude Desktop 示例:
{
"mcpServers": {
"kanbanniang": {
"url": "http://127.0.0.1:7432/mcp"
}
}
}
修改端口後,URL 需與看板娘設置頁一致。
可選配置(一般保持默認)¶
| 位置 | 字段 | 說明 |
|---|---|---|
| 看板娘設置頁 | MCP 開關 / 端口 | 寫入 settings.json,插件讀取 |
cordis.patch.yml 宿主行 |
autoLaunch |
是否由插件拉起應用,默認 true |
| 同上 | mcpUrl |
強制固定端點,覆蓋設置文件 |
| 同上 | repoRoot / launchCommand |
倉庫路徑或自定義啓動命令 |
cordis.patch.yml MCP 行 |
toolCallTimeoutMs |
單次工具調用超時,默認 15000ms |
| 同上 | reconnect.maxAttempts |
重連耗盡後工具註銷,需重載配置 |
適用場景與注意¶
適合誰:希望在 DSH 或任意 MCP 客戶端裏,用結構化工具控制桌面 Live2D 角色(演示、陪伴式 UI、Agent 與桌面反饋聯動)的開發者;能接受本機構建 Rust/Tauri 與自備 Live2D 模型。
務必注意:
- 插件與看板娘進程以當前用戶權限運行;安裝前請閱讀源碼與 MIT 許可證,確認信任維護者與倉庫內容。
- 當前不支持從 DSH 插件市場直接安裝,必須本地
link:路徑安裝並完成tauri build。 - 社區目錄 SkillHub 插件頁 與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,目錄是獨立社區站點。
結尾¶
KanbanNiang 把桌面 Live2D 看板娘和 MCP 工具合成一條鏈路:DSH 側自動拉起與 mcp__kanbanniang__* 注入,站外客戶端連同一 Streamable HTTP 端點即可複用。更多架構細節與市場上架阻塞說明見倉庫 README 與 docs/market-distribution.md。