Mindcraft – 用LLM+Mineflayer打造Minecraft AI
Mindcraft是一個開源專案,結合大型語言模型(LLM)和Mineflayer,為Minecraft創造智慧AI機器人。它支援多種LLM提供商(如OpenAI、Google、Anthropic等),可進行任務自動化、對話和程式碼執行。專案提供配置檔案、Docker支援,並附有安全警告:預設停用程式碼執行以防注入攻擊。
Mindcraft 是一個開源專案,旨在將大型語言模型(LLM)與 Mineflayer(一個 Node.js 的 Minecraft 機器人庫)相結合,為《我的世界》(Minecraft)創造智慧的 AI 代理。該專案由多位開發者貢獻,並有一篇相關研究論文《Collaborating Action by Action: A Multi-agent LLM Framework for Embodied Reasoning》。
核心功能
Mindcraft 允許玩家透過配置不同的 LLM 模型(如 GPT、Gemini、Claude 等)來驅動 Minecraft 中的機器人。機器人能夠理解自然語言指令,執行任務(如收集木材、合成物品),甚至進行對話。專案支援多種 API 提供商,包括 OpenAI、Google、Anthropic、DeepSeek、Ollama 等,使用者只需在配置檔案中填入相應的 API 金鑰即可使用。
安全警告
由於 LLM 能夠生成並執行程式碼,專案預設停用程式碼寫入功能。使用者如需啟用,必須在 settings.js 中將 allow_insecure_coding 設定為 true,並理解其中的安全風險。開發者強烈建議在 Docker 容器中執行專案以降低風險,同時強調即使在 Docker 中也不完全保證安全。
快速開始
- 確保已安裝 Minecraft Java 版(最高支援 1.21.11,推薦 1.21.6)以及 Node.js(推薦 v18 或 v20 LTS)。
- 下載最新發布版或克隆倉庫,重新命名
keys.example.json為keys.json並填入 API 金鑰。 - 執行
npm install安裝依賴,然後在遊戲中開啟 LAN 伺服器(預設埠 55916)。 - 執行
node main.js啟動機器人。
任務系統
Mindcraft 支援透過 JSON 配置檔案定義自動化任務。例如,可以讓機器人收集 4 個橡木原木:
node main.js --task_path tasks/basic/single_agent.json --task_id gather_oak_logs任務檔案可指定目標物品、初始庫存、超時時間等引數。更復雜的任務可參考 Minecollab 指導。
自定義與擴充套件
使用者可以透過編輯 andy.json 等配置檔案來調整機器人的名稱、模型、提示詞以及行為。支援為聊天、程式碼生成、視覺、嵌入和語音合成分別指定不同的模型。專案還提供了 Dockerfile 和 docker-compose.yml 以便容器化部署。
社群與貢獻
專案在 GitHub 上開源,擁有超過 5400 顆星和 838 個分支。開發者鼓勵透過 Pull Request 貢獻程式碼,但在 GitHub 上提交 Issue 可能響應較慢,更推薦加入 Discord 社群獲取支援。
Mindcraft 為 Minecraft 玩家和 AI 愛好者提供了一個探索 LLM 在遊戲環境中應用的絕佳平臺,無論是學術研究還是趣味實驗,都具有很高的價值。