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 在游戏环境中应用的绝佳平台,无论是学术研究还是趣味实验,都具有很高的价值。