minecraft-automationfabric-modgame-aipathfindingnatural-language-controlsurvival-automationopenai-compatible-apijava

AIBot:Minecraft 自主玩家

让真实服务端玩家按中英文指令自主采集、建造、战斗与生存。

FollowAgents 评估 · FARS-2.1
推荐
83/ 100 五分制 4.2 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全22 / 29 · 3.8/5

默认 strict_survival、细粒度特权开关、失效关闭、所有者/管理员授权以及只读 CI 权限充分体现最小权限。付费 LLM 工作流需要显式确认,但普通游戏内采矿、建造、战斗等外部效果未显示逐项预览或二次确认,因此确认机制扣分。README 说明了外部 LLM 端点、模型配置和世界执行路径,但未完整列明发送给提供商的具体上下文、日志保留及隐私边界。密钥通过环境变量和 GitHub Secrets 注入,普通 CI 不接收密钥,但未说明本地配置保护、日志脱敏或密钥轮换。依赖版本和构建 CI 明确,但未提供锁定校验、依赖漏洞扫描或已知漏洞处置证据。世界修改受到配置和授权约束,也支持取消与暂停;不过已完成的世界修改没有事务式撤销或恢复说明。许可证、作者署名及 Fabric、DeepSeek、Carpet 传统的来源归属清晰。

2可靠稳定11 / 14 · 3.9/5

README、架构、测试清单和两个工作流在 Java、Minecraft、Fabric、配置档及验证流程上相互一致,并明确区分已验证与未验证材料。依赖要求和构建命令充分,但外部模型服务不可用时的重试、退避、降级或替代策略没有证据。配置迁移警告、失效关闭和 CI 输入错误信息较清楚,但运行时导航、任务、网络或模型失败的用户可见错误分类与恢复指引未展示。

3适用触发16 / 18 · 4.4/5

文档同时覆盖玩家、服务器管理员、贡献者、英语和中文用户,并列举采矿、建造、农业、战斗等场景。九类 Goal、63 个工具、34 个任务状态机以及 strict/operator 策略清楚界定能力边界。命令示例和类型化目标有助于准确触发,但未提供完整支持语句、歧义消解规则或工具选择规范,因此触发精度未获满分。Minecraft、Fabric、Java 和 API 兼容要求、环境变量覆盖及旧配置迁移均有明确说明,环境适配证据充分。

4规范维护14 / 18 · 3.9/5

README 的快速开始、架构、使用、验证、项目结构和限制组织良好;安装依赖与命令可直接采用。AIBot、Bob、配置档、命令和 profile 名称保持一致。提供了多组命令和配置示例,但没有独立 FAQ 或系统化故障排查。已知限制具体且避免夸大。MIT 许可证文件完整并与元数据一致。未提供发行版本策略、标签规则或变更日志,因此版本与变更管理证据很薄。仅能识别账号署名和一般贡献流程,未说明维护者职责、支持渠道或响应承诺;发布者身份未知本身不作负面推断。

5有效结果12 / 13 · 4.6/5

聊天、命令、面板、结构化日志、状态查询及持久化恢复让结果可观察、可控制且可继续使用。服务器内真实玩家、类型化目标和确定性状态机相对于 Python 控制器或普通聊天接口具有明确增量价值。付费故事测试要求确认,正常 CI 避免使用密钥,面板还显示模型用量;但没有令牌或货币预算、限额、缓存策略及服务器资源成本估算,因此成本效益仅属充分但不完整。

6证据核验8 / 8 · 5.0/5

声明被具体数量、测试层次、脚本名称、证据目录、验证器和基线选择流程关联,追踪性强。README 中的测试与持久化主张由 CI 工作流中的对应命令交叉印证,付费 LLM 行为也由单独工作流支持。材料明确区分源码检查、当前 CI、脏工作树本地结果、历史诊断和发布证据,并直言未认证能力;因此事实、推断和限制的分离处理充分。评分仍仅基于所给静态文件,未执行任何命令。

证据充分度: 评估于 2026年9月22日 审查版本 a029fa6a3760
使用前请注意
  • 启用 operator profile 或全部 operatorCapabilities 会允许隐藏方块扫描、紧急传送、强制拾取和手动传送;仅应在服务器所有者明确批准后使用。
  • 自然语言任务能够改变持久化游戏世界,而材料未展示对已完成采矿、建造或物品操作的通用撤销机制;应先在备份世界或受限区域验证。
  • LLM 请求会发送到 DeepSeek 或自定义 OpenAI 兼容端点,但所给材料未完整说明发送字段、日志保留和隐私策略;不要在指令或可见游戏内容中放置敏感信息。
  • 本评估未执行构建、测试或运行时场景;README 中的数量、通过结果及安全主张仅按静态材料评价。
  • 未展示依赖漏洞扫描、密钥轮换、费用上限或模型服务不可用时的降级策略,部署者需自行补充这些控制。
评估证据 [1][2][3][4]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

AIBot 是面向 Minecraft 1.21.3 的服务端 Fabric 模组,会创建一个真实的服务端玩家,并接受中英文自然语言目标。它的 Brain 通过 OpenAI 兼容接口调用 DeepSeek 或其他支持聊天与工具调用的模型,从 63 个工具中选择意图。随后,GoalPlanner、GoalExecutor、9 类强类型 Goal 和 34 个确定性 Task 状态机负责规划、执行并检查完成条件,而不是让模型逐 tick 控制移动或直接修改世界。它覆盖采矿、合成、冶炼、建造、耕作、战斗、钓鱼、交易、仓储和生存,并通过聊天、`/aibot` 命令及 Bob 控制面板提供交互。运行状态会写入版本化原子快照,支持取消或替换任务、嵌套暂停与恢复,以及进程重启后的状态恢复。它适合愿意自行部署 Minecraft/Fabric 服务端并接受当前真实地形可靠性限制的用户,而不是一个经过所有地图与长流程验证的通用 Minecraft 自动通关方案。

玩家通过聊天、/aibot brain say/aibot task assign 或 Bob 面板提交目标。Brain 将可见环境信息发送给 OpenAI 兼容的聊天与工具调用端点,并从注册的 63 个工具中选择意图;GoalPlanner 把意图映射为强类型 Goal,GoalExecutor 根据后置条件追踪结果。34 个 Task 状态机再通过动作层和 A* 导航执行移动、采矿、交互、物品栏管理及建造等操作。系统可以产出采集物品、农作物、食物、护甲、工作站、库存或蓝图建筑等游戏内结果,同时记录模型用量、任务、检查点、共享 Job、暂停状态和有效权限。安全、生命周期与授权检查会约束命令、面板或网络动作、聊天路由、工具调用和共享作业;重启时,系统从原子快照恢复状态并重新开放过期的 Job 租约。

  1. 私有 Minecraft 服务器的服主希望让一个真实服务端玩家根据“挖 3 颗钻石”等自然语言目标执行采集任务。
  2. Fabric 模组开发者需要研究“模型选择意图、确定性状态机执行”的游戏智能体架构,而不希望采用逐 tick 的模型控制。
  3. 中英文玩家希望通过聊天、命令或 Alt+0 控制面板安排采矿、合成、耕作、战斗、钓鱼或仓储任务。
  4. 服务器管理员希望在 strict_survival 下禁用隐藏方块扫描、紧急传送、强制拾取和手动传送,以更接近常规生存规则。
  5. 测试人员希望使用 JUnit、Fabric GameTest、双 JVM 重启探针和证据脚本检查策略、持久化、运行控制及世界内行为。

这个 Agent 有哪些优点和局限?

优点
  • 模型只负责从 63 个工具中选择意图,实际操作由 34 个确定性 Task 状态机执行,降低逐 tick 模型控制带来的不确定性。
  • 它创建真实的服务端玩家,不需要 Mineflayer 账号或 Python 控制框架。
  • strict_survival 会关闭隐藏方块扫描、紧急传送、强制拾取和手动传送,并对资源及实体查询施加附近可见性过滤。
  • 支持取消或替换任务、嵌套暂停与恢复,以及通过版本化原子快照进行跨重启恢复。
  • 模型层采用 OpenAI 兼容的聊天与工具调用接口,可通过修改 baseUrlmodel 更换端点。
局限
  • 部署绑定 Minecraft 1.21.3、Fabric 及 Java 21,且需要自行构建和运行服务器环境。
  • 模型驱动任务需要外部网络端点和相应 API 密钥;基于 LLM 的故事测试为可选且会产生费用。
  • 长距离导航、从零获取钻石、100 件批量采矿和完整结构验证尚未获得发布级认证。
  • 现有真实地形能力报告主要是历史诊断材料;来自脏工作树的本地通过结果被标记为 UNVERIFIED,不能证明当前 HEAD。
  • 严格模式拒绝特权恢复后,危险路线可能直接失败;复杂目标在不同地形上并不保证成功。
  • 缺少顶层 profile 的旧版 aibot.json 会为兼容性被加载为 operator,升级时需要注意迁移警告和权限配置。

如何安装或部署这个 Agent?

前置条件为 Minecraft 1.21.3、Fabric Loader 0.18.4+、Fabric API 0.114.1+1.21.3、Yarn mappings 1.21.3+build.2 和 Java 21。

执行:

git clone https://github.com/zoyluoblue/mc_aiplayer.git
cd mc_aiplayer
./gradlew build
./gradlew runServer

如需客户端环境,可运行 ./gradlew runClient。推荐用 export DEEPSEEK_API_KEY="sk-your-key" 提供默认 DeepSeek 密钥。首次运行会在 Fabric 配置目录生成 aibot.json;新安装默认使用 strict_survival。如使用其他支持聊天和工具调用的 OpenAI 兼容服务,需要在该文件中修改 deepseek.baseUrldeepseek.model。可用 AIBOT_PROFILE=strict_survivalAIBOT_PROFILE=operator 为单次进程覆盖配置。

如何使用这个 Agent?

启动服务端并配置模型后,可依次运行:

/aibot spawn Bob
/aibot list
/aibot brain say Bob mine 3 diamonds
/aibot task assign Bob mine minecraft:stone 16
/aibot task status Bob
/aibot brain status Bob

Alt + 0 可打开 Bob 面板,查看生命、饥饿、当前工作、模型用量、物品栏、运行配置和有效特权。手动传送仅在 MANUAL_TELEPORT 权限有效时可用。生产模组不包含 /aibot test/aibot verify;如需这些测试命令,应运行 ./gradlew runHarnessServer

这个 Agent 与同类方案有什么区别?

与 Mineflayer 机器人账号或由 Python 控制框架驱动的方案不同,AIBot 以 Fabric 服务端模组形式创建真实的服务端玩家。它也不让 LLM 逐 tick 操纵角色或直接编辑世界:模型选择意图,强类型 Goal 定义完成条件,确定性 Task 状态机负责执行。其假玩家模型沿用了 Carpet 模组的传统,但源码没有提供两者的功能或性能对比。

常见问题

必须使用 DeepSeek 吗?
不必须。默认配置和环境变量面向 DeepSeek,但可以通过修改 baseUrlmodel 使用其他支持聊天和工具调用的 OpenAI 兼容端点。
默认会使用传送或扫描隐藏方块吗?
新安装默认采用 strict_survival,会禁用隐藏方块扫描、紧急传送、强制拾取和手动传送。operator 中的各项特权也能独立关闭。
服务器重启后任务会丢失吗?
系统会把机器人、任务、检查点和共享作业状态写入版本化原子快照,并支持重启恢复;恢复时会重新开放旧进程持有的过期 Job 租约。
它能稳定完成任意 Minecraft 目标吗?
不能。它只处理已支持的目标,且不同地形并不保证成功;长导航、深层采矿、大规模库存和完整建筑仍缺少更广泛的干净提交、多种子证据。
使用它会产生哪些费用?
MIT 许可允许使用源码,但模型端点可能按调用计费。文档明确指出 LLM 驱动的故事测试为选择性运行且会产生费用。

相关 Agents