dsh-plugin-axolotl:把美西螈啓動器的 269 個 MCP 工具收成 11 個領域工具

前言

在 DSH 裏直接連 Minecraft 美西螈啓動器(Axolotl Launcher)自帶的 MCP 端點,往往會碰到三件事:會話大約 30 秒無應答就被服務端殺掉、269 個工具的 tools/list schema 大約 195 KB 常駐上下文、截圖類工具只給 base64 或路徑而不是對話裏直接可見的圖。直連可以工作,但對智能體來說成本和穩定性都不理想。

下面介紹社區插件 dsh-plugin-axolotl(維護者 sdf123098,分類:客戶端)。它在 DSH 與啓動器之間加一層適配:代持 MCP 連接並應答心跳、把上游工具按前綴摺疊成領域工具、把截圖轉成 DSH 附件;可選 Bearer 令牌認證。插件以當前 DSH 進程權限運行,安裝前請查看 GitHub 源碼 與 MIT 許可證。

這是什麼

一句話:把 Axolotl Launcher 的 MCP 服務器(默認 http://127.0.0.1:5219/mcp)接入 DeepSeek Harness 的 Cordis 插件。

啓動器從 1.11.0-beta.2 起暴露約 269 個 MCP 工具。本插件不把它們原樣註冊給模型,而是收成 9 個領域工具,外加 axolotl_status(診斷)和 axolotl_raw(按上游原名調用任意工具),共 11 個 DSH 工具。

爲什麼需要這一層

會話與心跳

啓動器(Rust/rmcp)每 15 秒經獨立 SSE 流 ping 客戶端,10 秒內無應答會終止整個 MCP 會話,之後調用常表現爲 Streamable HTTP error: Error POSTing to endpoint。插件內維持常駐 SDK 客戶端,自動應答 ping;斷線後自動重連並重試一次。

工具清單體積

全量 schema 約 195 KB。插件按工具名前綴分成 9 個領域,每個領域工具描述裏只列 op 名稱(總量約 9 KB)。需要完整參數時,對應該領域工具傳 op: "help" 現查,用一次調用換上下文裏的常駐體積。

截圖進對話

ui_screenshot、skin_get_texture、screenshot_get 等返回的 base64 圖片,插件會轉成 DSH 附件引用,截圖可直接出現在對話裏;依賴 profile 是否掛載附件存儲,未掛載時可能降級爲僅文本。

核心功能

工具 覆蓋上游工具數 用途
axolotl_status — 版本、連接、控制會話、各領域工具數
axolotl_instances 48 實例、安裝任務、下載隊列、遊戲進程
axolotl_launch 18 啓動、Java、窗口、內存、遊戲版本元數據
axolotl_content 26 模組、資源包、光影、整合包
axolotl_files 15 實例內文件、壓縮包、NBT
axolotl_worlds 17 存檔與種子
axolotl_schematics 9 .schem、.litematic 等投影
axolotl_servers 34 專用服務器與聯機
axolotl_ui 7 界面截圖、導航、點擊、輸入
axolotl_system 91 設置、代理、存儲、數據庫、日誌、賬號、皮膚、更新
axolotl_raw 269 按上游原名調用任意工具(可配置關閉)

各領域工具參數統一:

  • op(必填):上游工具名,或 "help"
  • args:該 op 的參數對象;instance_id / session_id 會自動補全
  • instance_id:便捷寫法,等價於 args.instance_id

啓動器同一時刻只允許一個控制會話;插件按 sessionPolicy 等配置自動開關。閒置默認 15 分鐘後釋放。寫操作在 requireApproval: true 時可走 DSH 審批(共 83 個需完全訪問權限的寫操作)。

啓動器開啓「要求身份驗證」時,HTTP 請求需 Authorization: Bearer <令牌>。令牌保存在 <DSH_HOME>/data/dsh-plugin-axolotl/config.json,不寫進 cordis.patch.yml;設置頁僅顯示首尾四位,修改後下次調用即用新令牌重連。

安裝與啓用

官方安裝命令(來自倉庫 README):

dsh plugin install dsh-plugin-axolotl

或手動:將包放入 profile 的 node_modules,在 cordis.patch.yml 的 insert 中增加:

    - id: axolotl
      name: 'dsh-plugin-axolotl'
      config:
        upstreamUrl: 'http://127.0.0.1:5219/mcp'

前提:

  1. 啓動器版本 ≥ 1.11.0-beta。1.10.5 穩定版僅 3 個空殼工具(get_launcher_info / start_session / end_session),無法覆蓋本文能力。
  2. 啓動器內:設置 → MCP 服務器 → 啓用,並允許完全訪問(寫操作需要)。
  3. 插件要求 Node ≥ 20(見 package.json)。

常用配置項(可在 DSH 插件設置頁或 cordis.patch.yml 中修改):

字段 默認 說明
upstreamUrl http://127.0.0.1:5219/mcp 啓動器 MCP 地址
autoConnect true DSH 啓動時自動連接
sessionPolicy auto auto / persistent / manual
sessionIdleMs 900000 控制會話閒置自動關閉(15 分鐘)
sessionRetryMs 45000 會話被佔用時的重試上限
exposeRawTool true 是否註冊 axolotl_raw
requireApproval true 高危寫操作是否走 DSH 審批
toolCallTimeoutMs 120000 單次上游調用超時

典型用法

建議先對目標領域執行 op: "help",再帶參調用。README 中的示例鏈路如下:

axolotl_instances  op: instance_list          → 列出實例
axolotl_instances  op: instance_launch  args: { instance_id }  → 啓動,返回 operation_id
axolotl_system     op: operations_get   args: { operation_id } → 輪詢異步結果
axolotl_content    op: content_list     args: { instance_id }  → 模組清單
axolotl_ui         op: ui_screenshot                           → 截圖進入對話

下載、安裝等異步操作不阻塞:返回 operation_id,用 axolotl_system 的 operations_get 輪詢。

適用場景與注意

適合誰: 已在本地運行美西螈啓動器、希望通過 DSH 智能體管理實例、模組、存檔、聯機或查看啓動器界面,又不想自己處理 MCP 心跳、巨大 tools/list 和截圖管道的人。

注意:

  • 不支持多啓動器並聯;控制會話全局唯一。
  • 不修改啓動器源碼(上游 GPL-3.0,本插件 MIT)。
  • axolotl_ui 可截圖和點擊,但不接管啓動器 UI 結構。
  • 剛重啓 DSH 後約 30 秒內可能因舊會話未釋放而失敗,插件會重試至 sessionRetryMs;仍失敗時需等待啓動器心跳超時釋放會話。
  • 社區目錄 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係;DSH 生態理念是「一切皆插件」,請自行審閱代碼後再安裝。

故障排查要點: axolotl_status 顯示 not connected 時檢查啓動器與 MCP 開關;upstream tools: 0 時覈對是否爲 1.11.0-beta 及以上;401 與端口不通插件會給出不同提示(401 優先看 error.code,勿與「會話過期」混淆)。

結尾

dsh-plugin-axolotl 把 Axolotl Launcher 的 MCP 能力整理成少量領域工具,並處理連接保活、上下文體積、截圖附件與可選令牌認證,適合在 DSH 裏用自然語言驅動本地 Minecraft 啓動器工作流。

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

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

小夜