前言¶
在 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.11.0-beta。1.10.5 穩定版僅 3 個空殼工具(
get_launcher_info/start_session/end_session),無法覆蓋本文能力。 - 啓動器內:設置 → MCP 服務器 → 啓用,並允許完全訪問(寫操作需要)。
- 插件要求 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 啓動器工作流。