前言¶
在 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 界面¶
- 打開 DSH 左側「插件」→「添加插件」。
- 輸入
dsh-minecraft-p2安裝默認發佈版,或dsh-minecraft-p2@<version>指定版本;若有本地.tgz,填絕對路徑。 - 按提示啓用插件。
通過命令行¶
將 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 目錄頁 跳轉。