AIRI Minecraft Bot 完整指南:用自然语言指挥 LLM 驱动的 Minecraft 机器人
【免费下载链接】airi💖🧸 Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-sama's altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi
在本地 Minecraft 服务器里输入#follow,名为 AIRI 的机器人会实时寻路跟在你身后;再发一句自然语言的建造或采集指令,它会自己规划路线、砍树、合成、放方块。AIRI(ai-mo/airi)是一个自托管的 LLM 虚拟角色系统,除了 Web、macOS、Windows 端上的虚拟形象和实时语音对话,它内置了一个基于 Mineflayer(Minecraft 协议客户端库)的机器人服务,让角色真正走进 3D 游戏世界执行任务。
定位:一个会接活的 Minecraft 智能机器人
它不是传统意义上"按脚本走"的 MC 机器人,而是一个"感知—决策—行动"全链路打通的智能体:聊天指令与游戏内事件进入感知层,由 LLM 在意识层生成可执行计划,再由行动层调用寻路、战斗、建造等技能落到游戏里。你只需要下达意图,中间的过程拆解由它完成。
能力拆解:指令进来,动作出去
跟随与移动:#follow发出去,机器人就走过来
以聊天框里以#开头的消息作为指令入口(普通聊天不会触发指令解析),输入#follow后机器人开始跟随发送者,#stop立即停止。底层是 src/skills/movement.ts 中的goToPosition配合 mineflayer-pathfinder 寻路插件:目标坐标校验、地面自动抬升一格、按进度回调,失败时会返回带原因的结构化结果而不是静默卡住。
自保反击:被打先还手,血量低先吃食物
机器人受击、掉血、低血量都会生成事件信号,由 src/cognitive/perception/ 下的 YAML 规则引擎判定,再交给反射层行为执行:装备武器、寻路接近、发起攻击(src/skills/combat.ts),低血量时自动进食、逃离危险源(src/cognitive/reflex/behaviors/)。这条链路不依赖 LLM 思考,所以反应快、开销小。
采集与合成:一句"找些木头"触发多步计划
"帮我找些木头"这类指令由意识层拆解为多步动作:定位最近的树、依次砍伐(src/skills/actions/gather-wood.ts)、把物品按类别归入背包(src/skills/inventory.ts)、需要时自动合成木板等中间产物(src/skills/crafting.ts)。
建造:从"建个房子"到方块落地
README 给出的事件流示例很能说明问题:"Build a house" 一条指令,感知层检测到事件,意识层的规划者拆出采集木材、合成木板、搭建墙体三个步骤,行动层逐步执行,完成后回到聊天确认。建筑逻辑集中在 src/skills/blocks.ts,方块类型匹配由 src/skills/actions/block-type-normalizer.ts 归一化处理,避免"橡木原木"和"原木"这类叫法差异导致执行失败。
实现思路:四层认知架构
整个服务按认知科学分成四层,代码边界清晰,可按层定位问题:
- 感知层src/cognitive/perception/:Mineflayer 原始信号 → 事件注册表 → YAML 规则 → 派生信号,纯数据管道
- 反射层src/cognitive/reflex/:有限状态机驱动的快速反应,可向上层发出"抑制"信号,避免重复触发 LLM
- 意识层src/cognitive/conscious/:
brain.ts负责 LLM 回合编排与预算保护,js-planner.ts在隔离沙箱中执行 LLM 生成的 JS 计划脚本,query-dsl.ts提供只读的世界/背包/实体查询 - 行动层src/cognitive/action/:
task-executor.ts执行计划并广播生命周期事件,action-registry.ts做参数校验与工具分发
事件总线 src/cognitive/event-bus.ts 贯穿四层,任何一层的行为都可以被观测到,这也是调试面板能工作的前提。
上手路径:安装检查清单
环境要求
- Node.js 23+ 与 pnpm(仓库为 pnpm workspace)
- 一台本地 Minecraft 服务器,默认协议版本 1.20
- 任意 OpenAI 兼容的 LLM 端点(支持自定义
OPENAI_API_BASEURL) - 已启动的 AIRI 服务(机器人通过 WebSocket 向 AIRI 回传状态与指令)
配置项说明(integrations/minecraft/.env,复制为.env.local后修改):
| 配置项 | 作用 | 示例 |
|---|---|---|
OPENAI_API_KEY/OPENAI_API_BASEURL | LLM 密钥与端点地址 | 必填 |
OPENAI_MODEL/OPENAI_REASONING_MODEL | 对话模型 / 推理模型 | deepseek-chat |
BOT_USERNAME/BOT_HOSTNAME/BOT_PORT | 机器人身份与服务器地址 | localhost25565 |
BOT_VERSION | 协议版本 | 1.20 |
AIRI_WS_BASEURL/AIRI_CLIENT_NAME | 连回 AIRI 的 WebSocket 地址 | ws://localhost:6121/ws |
ENABLE_MCP_SERVER等三项 | 调试端点开关 | 保持false |
首次验证步骤
- 克隆仓库并安装依赖:
git clone https://gitcode.com/GitHub_Trending/ai/airi cd airi && pnpm i- 复制环境模板:
cp integrations/minecraft/.env integrations/minecraft/.env.local并填好上表必填项 - 在仓库根目录执行
pnpm -F @proj-airi/minecraft-bot dev,观察终端:配置通过校验后,日志应显示机器人同时连上 AIRI 与 Minecraft 服务器 - 进游戏在聊天框发
#follow,机器人应开始跟随;再发#stop,移动立即停止
适用边界与常见问题
- 这是过渡期服务:README 明确标注 Mineflayer 机器人处于弃用路线上,官方计划由 Fabric mod 运行时接管 Minecraft 集成,不建议在其上构建长期功能
- 仅限可信服务器:动作计划在隔离沙箱中执行,但仍驱动一个真实本地进程;官方安全提示要求不要连接不可信的公开服务器
- 调试端口无鉴权:MCP、Debug Server、Viewer 三个端点开启后不校验身份,只在本机使用,切勿暴露到公网
- 必填项缺失会直接报错:配置由 zod 严格校验(
src/composables/config.ts),OPENAI_API_KEY、OPENAI_MODEL等留空时启动即失败,这是特性不是 bug,便于排查 - 指令范围有限:
#follow/#stop是插件层硬编码指令,其余能力走 LLM 规划,效果随所选模型能力浮动
建议从本地单人服务器开始,先验证跟随与自保这类基础行为,再逐步交给它采集和建造任务;接入新环境前,先在 README 中核对弃用与安全两节的最新说明。
版本说明:以上路径与配置项基于仓库当前快照的
integrations/minecraft/工作区,功能细节以该目录下的 README 与.env模板为准。
【免费下载链接】airi💖🧸 Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-sama's altitude. Capable of realtime voice chat, Minecraft, Factorio playing. Web / macOS / Windows supported.项目地址: https://gitcode.com/GitHub_Trending/ai/airi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考