dsh-minecraft-p2:在 Minecraft Java 版裏接上 DSH 第二名玩家

前言

在 Minecraft Java 版裏做自動化,常見做法是自己寫 Bot、裝服務端插件,或把 AI 留在遊戲外只對地圖和日誌做分析。前者要維護協議與路徑邏輯,後者很難讓智能體像真實玩家一樣持續挖礦、撿物、放方塊並與你在同一世界對話。DeepSeek Harness(DSH)把工作流拆成可插拔能力;dsh-minecraft-p2 把「第二名玩家」接到 DSH 會話裏——P2 以獨立角色連上服務器,你在遊戲裏聊天下達意圖,在 DSH 裏用工具查狀態、派任務,任務執行結果會回報到當前會話。

這是什麼

dsh-minecraft-p2 是維護者 Azetus 發佈的 DSH 工作流類插件(社區目錄:skillhub 條目)。它通過 Mineflayer 使用原版 Java 協議連接 Minecraft 服務端,在 DSH 側暴露 p2_* 工具與會話命令,在遊戲內以默認用戶名 P2_Bot(可配置)出現。README 標明當前爲 0.2.x 預覽版(package 版本 0.2.1),部分命令與工具參數可能隨版本調整。

架構上可以概括爲:DSH 插件(bridge)託管子進程 P2Mind,P2Mind 經 provider(mineflayer)連到 Minecraft 服務端;DSH 管會話、工具與插件生命週期,P2Mind 管遊戲內任務執行。

核心功能

下面能力均來自項目 README,安裝前應結合許可證(MIT)與源碼自行判斷是否滿足你的環境要求;插件以當前 DSH 進程權限運行。

  • 持續執行任務:P2 接受目標後會在遊戲中持續執行,並向 DSH 報告完成、受阻或失敗。
  • 放置方塊與收集材料:可在指定位置放置方塊,通過挖掘和拾取掉落物收集材料。
  • 生存與自理:默認遇險嘗試撤離、飢餓嘗試進食、卡住嘗試脫困;自動戰鬥默認關閉,可按需開啓。
  • 個性與記憶:.p2/persona.md 定義說話方式及是否將玩家話語視爲命令;記憶按世界與角色分文件保存。
  • DSH 工具集:啓動後當前會話可用 p2_status、p2_body、p2_order、p2_observe 等工具,用自然語言或結構化參數派單、觀測世界與排查問題。

p2_order 支持的任務動詞包括 go / place / dig / collect / equip / use / attack / check / container / craft / build / traverse / hold 等;返回 accepted 表示已受理,結束時 P2 會主動向 DSH 會話彙報。

兼容性與限制

穩定驗收範圍是 Minecraft Java 版 1.21.1,且服務器須允許離線登錄(online-mode=false);不支持 Mojang/Microsoft 正版驗證。.p2/config.json 中 minecraft.version 須與服務器一致,默認 1.21.1。僅 Java 版,不支持基岩版。

連接能否成功,取決於服務端是否接受原版客戶端,而非模組標籤裏的「客戶端/服務端」字樣。通常可連原版或離線服、不強制客戶端裝模組且不在加入時塞未註冊自定義數據包的服;強制模組握手、或加入時發送原版不認識的自定義數據包的服可能無法連接。能登錄也不等於能可靠操作模組方塊與物品——Mineflayer 只認識協議庫中的原版內容,模組環境建議只操作原版方塊與物品。

前置條件還包括:已安裝 DSH(README 在 DSH 0.2.1-rc.3 上測試);可連的 1.21.1 離線服;連接時服務器內不能有與配置同名的玩家在線。

安裝與啓用

前置

確認 DSH 與 Node 引擎滿足插件 package.json 要求(dsh: >=0.2.1-rc.3 <0.3.0;node: ^22.19.0 || >=24.0.0)。

通過 DSH 界面

  1. 打開 DSH 左側「插件」→「添加插件」。
  2. 輸入 dsh-minecraft-p2 安裝默認發佈版,或 dsh-minecraft-p2@<version> 指定版本;若有本地 .tgz,填絕對路徑。
  3. 按提示啓用插件。

通過命令行

將 web 換成你實際使用的 profile(桌面版常用 desktop)。安裝默認發佈版:

dsh plugin --profile web add dsh-minecraft-p2

安裝本地包時,路徑含空格請加引號:

dsh plugin --profile web add "/絕對路徑/dsh-minecraft-p2-<version>.tgz"

安裝或升級後請完全退出並重新啓動 DSH,以便宿主重新加載插件。

典型用法

在有項目目錄的 DSH 會話中,可先執行 /p2 setup 檢查項目目錄,再啓動 P2。把示例地址和端口換成你的服務器:

/p2 start 127.0.0.1:25575

首次 /p2 start 會在項目目錄生成 .p2/ 與默認配置。連接成功後,在遊戲玩家列表確認 P2_Bot 已加入,在聊天中試發「P2,你好」。常用會話命令:/p2 status 查看狀態,/p2 stop 斷開。若要改角色名,先 stop,編輯 .p2/config.json 的 minecraft.username,再重新 /p2 start(連接地址仍由啓動命令指定)。

在 DSH 裏用工具派單的示例(README 原文):

p2_observe {mode:"find", only:["crafting_table"], radius:16}
p2_order {verb:"go", params:{x:48,y:64,z:30}}

工作區目錄結構如下;請將 .p2/ 排除在版本控制之外:

.p2/
  persona.md
  config.json
  memory/<world>/<character>.jsonl
  skills/<name>/SKILL.md
  archive/journal.jsonl

適用場景與注意

適合已在用 DSH 編排智能體、並有一臺 1.21.1 離線 Java 服 的開發者或玩家:你想在遊戲內多一個可對話、可執行挖礦/收集/放置的第二角色,同時又在 DSH 會話裏用工具做觀測、排隊任務和排錯。

使用前務必覈對:服務端 online-mode、版本與 config.json 一致、同名玩家未佔用;模組服只把「能登錄」和「能可靠交互」分開看待。社區插件目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;星標與成熟度以倉庫現狀爲準(目錄抓取爲 0 star),預覽版行爲以發行說明與 p2_events 等工具自行驗證。

結尾

dsh-minecraft-p2 把 DSH 會話與 Minecraft 裏的第二名玩家綁在一起:遊戲裏聊天,DSH 裏用 p2_order 等工具細化任務,P2 自己尋路、用工具並在受阻時重試或繞路。進一步說明見倉庫 README 與 開發文檔;安裝入口亦可從 Skillhub 目錄頁 跳轉。

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

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

小夜