mindcraft
mindcraft 是一个让大语言模型(LLM)在《我的世界》(Minecraft)中“活”起来的开源项目。它结合了强大的 AI 模型与 Mineflayer 机器人框架,使 AI 能够像真实玩家一样进入游戏世界,理解自然语言指令、自主规划任务并执行复杂操作,甚至能在沙盒环境中编写和运行代码来解决问题。
该项目主要解决了传统游戏机器人缺乏灵活性与智能决策能力的问题。用户不再需要编写繁琐的脚本,只需通过对话即可指挥 AI 助手进行建造、挖掘、合成或探索,极大地降低了自动化游戏的门槛,也为研究多模态智能体在虚拟环境中的行为提供了理想平台。
mindcraft 特别适合开发者、AI 研究人员以及热爱技术探索的玩家使用。如果你希望实验不同的大模型(支持 OpenAI、Gemini、Claude、Ollama 等多种接口)在游戏场景中的表现,或者想观察 AI 如何通过学习掌握游戏机制,这是一个极佳的实践工具。其独特的技术亮点在于将代码生成能力融入游戏交互,允许 AI 动态编写策略代码,但出于安全考虑,该功能默认关闭,需用户手动配置并谨慎使用。无论是用于教育演示、算法验证,还是单纯体验与智能体共同游戏的乐趣,mindcraft 都提供了一个开放且可高度定制的实验场。
使用场景
一位独立游戏开发者希望在《我的世界》中快速验证复杂的红石机械逻辑或建筑算法,但受限于手动操作效率低下且缺乏即时编程辅助。
没有 mindcraft 时
- 试错成本极高:开发者需反复进出游戏手动放置方块测试红石电路,一次逻辑验证往往耗时数小时。
- 代码实现门槛高:若想通过脚本自动化建造,必须精通 JavaScript 和 Mineflayer 库,学习曲线陡峭。
- 缺乏动态交互:预设脚本无法根据游戏内突发状况(如地形阻挡)实时调整策略,导致任务中途失败。
- 创意落地缓慢:脑海中复杂的建筑结构难以迅速转化为游戏内的实际坐标指令,灵感容易流失。
使用 mindcraft 后
- 自然语言驱动:开发者直接用英语描述“建造一个自动分类物品的红石仓库”,mindcraft 即可理解意图并规划步骤。
- 自主代码生成:mindcraft 调用大模型实时编写并执行 JavaScript 代码,无需人工干预即可完成复杂逻辑部署。
- 智能环境适应:在建造过程中,mindcraft 能感知周围地形变化,自动规避障碍或调整材料用量,确保任务完成。
- 即时迭代反馈:若结果不理想,只需口头指出问题,mindcraft 立即修改代码并重试,将验证周期从小时级缩短至分钟级。
mindcraft 将《我的世界》从单纯的手动沙盒升级为可由自然语言直接操控的智能实验场,极大释放了玩家的创造力与工程验证效率。
运行环境要求
- Windows
- macOS
- Linux
未说明 (主要依赖云端 LLM API,若使用本地 Ollama 模型则取决于具体模型需求)
未说明

快速开始
🧠mindcraft⛏️
利用大语言模型和Mineflayer!为Minecraft打造智能机器人。
常见问题解答 | Discord支持 | 视频教程 | 博客文章 | 论文网站 | MineCollab
[!注意] 请勿将此机器人连接到启用了代码执行功能的公共服务器。该项目允许大语言模型在您的计算机上编写和执行代码。虽然代码处于沙箱环境中,但仍可能受到注入攻击。默认情况下,代码编写功能已禁用;您可以通过在
settings.js中将allow_insecure_coding设置为true来启用该功能。敬请留意。
入门指南
系统要求
- Minecraft Java版(最高至v1.21.11,推荐v1.21.6)
- 已安装Node.js(建议使用Node v18或v20 LTS版本。Node v24及以上版本可能会导致原生依赖项出现问题)
- 至少一个来自受支持API提供商的API密钥。请参阅支持的API列表。默认使用OpenAI。
[!重要提示] 如果在Windows上安装Node.js,请确保勾选“自动安装所需工具”选项。
如果在macOS上运行
npm install时遇到错误,请参阅常见问题解答,以解决原生模块构建问题。
安装与运行
确保已满足上述系统要求。
下载最新发布版本并解压,或直接克隆本仓库。
将
keys.example.json重命名为keys.json,并填入您的API密钥(只需一个即可)。所需模型可在andy.json或其他配置文件中设置。如需使用其他模型,请参考下表。在终端或命令提示符中,进入安装目录并运行
npm install。启动一个Minecraft世界,并将其开放为局域网游戏,监听本地回环地址端口
55916。在安装目录中运行
node main.js。
如遇问题,请查阅常见问题解答或前往Discord支持频道寻求帮助。目前我们对GitHub上的问题响应较为有限。有关任务执行,请参阅MineCollab使用说明。
配置
模型自定义
您可以在settings.js中配置项目相关参数。查看文件。
您还可以在各代理配置文件中(如andy.json)设置代理名称、使用的模型及提示词。模型可通过model字段指定,例如model: "gemini-2.5-pro"。请务必使用与所选API提供商匹配的正确API密钥。所有支持的API列表如下。
⭐ 查看支持的API ⭐
| API名称 | 配置变量 | 文档链接 |
|---|---|---|
openai |
OPENAI_API_KEY |
文档 |
google |
GEMINI_API_KEY |
文档 |
anthropic |
ANTHROPIC_API_KEY |
文档 |
xai |
XAI_API_KEY |
文档 |
deepseek |
DEEPSEEK_API_KEY |
文档 |
ollama(本地) |
无 | 文档 |
qwen |
QWEN_API_KEY |
国际版/中文版 |
mistral |
MISTRAL_API_KEY |
文档 |
replicate |
REPLICATE_API_KEY |
文档 |
groq(非Grok) |
GROQCLOUD_API_KEY |
文档 |
huggingface |
HUGGINGFACE_API_KEY |
文档 |
novita |
NOVITA_API_KEY |
文档 |
openrouter |
OPENROUTER_API_KEY |
文档 |
glhf |
GHLF_API_KEY |
文档 |
hyperbolic |
HYPERBOLIC_API_KEY |
文档 |
vllm |
无 | 无 |
cerebras |
CEREBRAS_API_KEY |
文档 |
mercury |
MERCURY_API_KEY |
文档 |
如需更全面的模型配置及语法说明,请参阅模型规格。
对于本地模型,我们支持ollama平台,并提供经过微调的专属模型供您使用。要安装我们的模型,请先安装ollama,然后在终端中运行以下命令:
ollama pull sweaterdog/andy-4:micro-q8_0 && ollama pull embeddinggemma
连接在线服务器
若要连接到在线服务器,您的机器人需要一个官方的Microsoft/Minecraft账号。您可以使用自己的个人账号,但如果您希望同时登录并游玩,则需要另一个账号。要进行连接,请修改settings.js中的以下几行:
"host": "111.222.333.444",
"port": 55920,
"auth": "microsoft",
// 其余部分保持不变...
[!重要提示] 机器人在
profile.json中的名称必须与Minecraft玩家名称完全一致!否则机器人会不断向自己发送消息。
若需使用不同账号,Mindcraft将连接当前Minecraft启动器所使用的账号。您可以在启动器中切换账号,然后运行node main.js,待机器人成功连接后再切换回您的主账号。
任务
任务会自动启动机器人,并提供一个提示和一个需要获取的目标物品或建造蓝图。要运行一个简单的任务,例如收集4个橡木原木,可以执行以下命令:
node main.js --task_path tasks/basic/single_agent.json --task_id gather_oak_logs
以下是一个示例任务的 JSON 格式:
{
"gather_oak_logs": {
"goal": "收集至少四根原木",
"initial_inventory": {
"0": {
"wooden_axe": 1
}
},
"agent_count": 1,
"target": "oak_log",
"number_of_target": 4,
"type": "techtree",
"max_depth": 1,
"depth": 0,
"timeout": 300,
"blocked_actions": {
"0": [],
"1": []
},
"missing_items": [],
"requires_ctable": false
}
}
initial_inventory 是机器人在任务开始时拥有的初始物品清单,target 表示目标物品,而 number_of_target 则表示智能体需要收集的目标物品数量,以成功完成任务。
如果你想进一步优化并自动启动 Minecraft 世界,你需要按照 Minecollab 指南 中的说明进行操作。
Docker 容器
如果你打算启用 allow_insecure_coding,建议将应用程序运行在 Docker 容器中,以降低运行未知代码的风险。在连接到远程服务器之前,强烈建议这样做,尽管这并不能完全保证安全性。
docker build -t mindcraft . && docker run --rm --add-host=host.docker.internal:host-gateway -p 8080:8080 -p 3000-3003:3000-3003 -e SETTINGS_JSON='{"auto_open_ui":false,"profiles":["./profiles/gemini.json"],"host":"host.docker.internal"}' --volume ./keys.json:/app/keys.json --name mindcraft mindcraft
或者简单地使用:
docker-compose up --build
在 Docker 中运行时,如果希望机器人加入你的本地 Minecraft 服务器,必须使用特殊的主机地址 host.docker.internal,以便从容器内部访问你的本地主机。请将以下内容添加到你的 settings.js 文件中:
"host": "host.docker.internal", // 而不是 "localhost",用于从 Docker 容器内连接到本地 Minecraft
若要连接到不受支持的 Minecraft 版本,可以尝试使用 viaproxy。
机器人配置文件
机器人配置文件是 JSON 文件(如 andy.json),用于定义:
- 机器人后端使用的 LLM 模型,用于对话、编码和嵌入。
- 用于影响机器人行为的提示语。
- 帮助机器人完成任务的示例。
模型规格
LLM 模型可以简单地指定为 "model": "gpt-4o",也可以更具体地写成 "{api}/{model}" 的形式,例如 "openrouter/google/gemini-2.5-pro"。所有支持的 API 可以在此处查看 模型自定义。
model 字段可以是字符串或对象。如果使用对象格式,必须指定 api,还可以选择性地指定 model、url 和其他 params。你也可以为聊天、编码、视觉处理、嵌入和语音合成使用不同的模型或提供商。以下是一个示例:
"model": {
"api": "openai",
"model": "gpt-4o",
"url": "https://api.openai.com/v1/",
"params": {
"max_tokens": 1000,
"temperature": 1
}
},
"code_model": {
"api": "openai",
"model": "gpt-4",
"url": "https://api.openai.com/v1/"
},
"vision_model": {
"api": "openai",
"model": "gpt-4o",
"url": "https://api.openai.com/v1/"
},
"embedding": {
"api": "openai",
"url": "https://api.openai.com/v1/",
"model": "text-embedding-ada-002"
},
"speak_model": "openai/tts-1/echo"
model 用于聊天,code_model 用于新动作编码,vision_model 用于图像理解,embedding 用于嵌入文本以选择相关示例,而 speak_model 则用于语音合成。如果没有特别指定,model 将默认用于其他所有功能。并非所有 API 都支持嵌入、视觉处理或语音合成。
所有 API 都有默认的模型和 URL,因此这些字段是可选的。params 字段也是可选的,可用于为模型指定额外的参数。它接受 API 支持的任何键值对,但不适用于嵌入模型。
嵌入模型
嵌入模型用于嵌入文本,并高效地选择与对话和编码相关的示例。
支持的嵌入 API:openai、google、replicate、huggingface、novita
如果你尝试使用不受支持的模型,系统将默认采用简单的词重叠方法,性能可能会有所下降。我们建议使用受支持的嵌入 API。
语音合成模型
语音合成模型用于朗读机器人的响应,并通过 speak_model 进行指定。此字段的解析方式与其他模型不同,仅支持格式为 "{api}/{model}/{voice}" 的字符串,例如 "openai/tts-1/echo"。目前我们仅支持 openai 和 google 作为语音合成提供商。
通过命令行指定配置文件
默认情况下,程序会使用 settings.js 中指定的配置文件。你可以使用 --profiles 参数指定一个或多个代理配置文件:node main.js --profiles ./profiles/andy.json ./profiles/jill.json。
贡献
我们欢迎对该项目的贡献!通常我们对 GitHub 上的问题响应较慢,但对拉取请求的响应更快。请加入 Discord 以获得更积极的支持和指导。
虽然允许提交 AI 生成的代码,但请务必仔细审查。大量提交粗糙的代码和文档会严重阻碍开发进程。
补丁
我们依赖的一些 Node.js 模块存在 bug。要添加补丁,只需修改本地的 Node.js 模块文件,然后运行 npx patch-package [package-name]。
开发团队
感谢所有为项目做出贡献的人,尤其是官方开发团队:@MaxRobinsonTheGreat、@kolbytn、@icwhite、@Sweaterdog、@Ninot1Quyi、@riqvip、@uukelele-scratch、@mrelmida。
引用:
本工作发表在论文《逐行动协作:用于具身推理的多智能体 LLM 框架》中(arXiv 预印本 arXiv:2504.17950)。如果你在研究中使用本项目,请引用以下文献:
@article{mindcraft2025,
title = {Collaborating Action by Action: A Multi-agent LLM Framework for Embodied Reasoning},
author = {White*, Isadora and Nottingham*, Kolby and Maniar, Ayush and Robinson, Max and Lillemark, Hansen and Maheshwari, Mehul and Qin, Lianhui and Ammanabrolu, Prithviraj},
journal = {arXiv preprint arXiv:2504.17950},
year = {2025},
url = {https://arxiv.org/abs/2504.17950},
}
贡献者
感谢所有在 GitHub 上提交过问题、提出过建议,并总体上帮助使这个项目变得更好的人。

版本历史
v0.1.42026/03/20v0.1.32025/09/20v0.1.22025/09/07v0.1.12025/08/24v0.1.02025/08/24常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
