KanbanNiang:DSH 下的 Live2D 看板娘與 MCP 工具鏈

前言

在 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。

安裝後驗證

  1. 重啓 DSH,新建會話,工具列表應出現 mcp__kanbanniang__get_status、mcp__kanbanniang__speak、mcp__kanbanniang__play_motion 等。
  2. 對模型說類似「讓看板娘揮揮手,並說歡迎回來」,應看到動作與氣泡。
  3. 宿主插件日誌:<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。

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

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

小夜