IronBee Gamer Vibe 项目
无 API 纯读画面玩浏览器游戏,玩法由大模型训练成毫秒级规则引擎
项目简介
IronBee Gamer 是一个让 AI 实时打浏览器游戏的开源项目:它打开一个网页游戏,把页面绘制的内容读成一份精简的 JSON 状态,再由一个快速决策引擎为每一步选择动作,而每个游戏的「打法」则由大模型从它反复游玩的过程中训练出来。整套系统不需要游戏方提供任何接口——没有 API,也不需要游戏暴露任何钩子,纯靠读取画面与状态。项目由 IronBee 团队(ironbee.ai)维护,本地附带一个网页界面,可以一边看游戏被玩,一边看每一次决策:引擎看到的状态、它选择的动作以及对应概率。配套的托管决策引擎叫 Jev,本地微调引擎叫 Laya。
核心功能
- 通用感知适配器:按渲染技术自动读取页面——二维 Canvas 绘制记录器、Phaser / PixiJS / Cocos 状态导出、任意 Canvas 转成小尺寸颜色网格,或直接读取训练器从游戏代码里写出的自有状态
- 双引擎决策:Jev 走托管服务,Laya 是本地微调模型,二者可切换;每次决策都在一毫秒级完成
- 状态与答案分离:状态里只放特征,不放答案;携带「该跳了」这类提示的字段会在引擎看到之前被剥掉,并告知训练器剥掉了多少个,防止引擎沦为橡皮图章
- 实时网页界面:左侧游戏库、中间游戏实时画面、右侧逐次决策记录(状态、动作与训练器写下的规则),可从 Hugging Face 下载已训练好的游戏档案与模型
- 训练闭环:训练器由编码智能体 CLI(Claude Code CLI 或 Codex CLI)驱动,负责写状态计算逻辑与「特征到动作」的规则;ibgamer train 会先检验表现、修掉丢分的规则(或直接训练更高分),只有确实打得更好才保留
- 可复现与可调时序:ibgamer check 用同一随机种子跑两次逐帧比对;--lag 可模拟 45 毫秒输入延迟,--tick 可改两次决策之间的游戏时间,每次运行结果一致
- 丰富的游戏库:内置 Chrome Dino、Flappy Bird、Pac-Man、Doodle Climb、Pop the Lock、Super Coin Box、Tetris、Crazy Snake、Racer、Infinite Mario、Breakout 等十余款游戏,各自标注了读取方式
技术实现
系统分成三层。第一层是感知:页面里的 Canvas 引擎或游戏框架把画面交给感知适配器,适配器按渲染技术选择读取策略——二维 Canvas 用绘制记录器,Phaser/PixiJS/Cocos 用状态导出,实在没有结构就退化为把整块 Canvas 缩成颜色网格;读到的原始数据再交给每个游戏专属的 extract 函数。第二层是状态抽取:extract 由训练器(一个接入 Claude Code CLI 或 Codex CLI 的大模型)编写,把原始数据压成只含特征的 JSON 状态,运行耗时不到一毫秒,并强制剥离任何直接给出答案的字段。第三层是决策:Jev(托管)或 Laya(本地微调模型)按训练器写下的规则对状态求值,输出按键、按住指针或点击;只有决策完成后游戏时钟才走一拍,游戏只在两次决策之间推进,从而保证决策与游戏帧的对应关系稳定。工程实现上,前端是本地网页界面(npm run ui,端口 1986),后端命令行以 ibgamer 开头,Laya 的 Python 环境用 ibgamer laya setup 初始化,训练好的游戏档案与模型约 700MB,从 Hugging Face 下载。
快速上手
- 安装构建:在仓库执行 npm install、npm run build,再执行 npm link 把 ibgamer 命令挂进 PATH(不 link 也可以用 npm start 代替)
- 准备本地引擎:执行 ibgamer laya setup 初始化 Laya 的 Python 环境(需要 python3);若走托管 Jev,导出 TYPESAFE_API_KEY 或写入 .env
- 启动界面:执行 npm run ui 打开 http://127.0.0.1:1986,在界面里从 Hugging Face 下载已训练游戏,选中游戏后点 Play(默认无头运行,加 --headed 可看真实窗口)
- 训练新游戏:用 ibgamer train flappy-bird 让训练器检查表现、修正规则,用 ibgamer check pacman-ghosts 验证可复现性,再用 ibgamer play dino --seconds 30 在终端里试玩
适用人群
- 关注智能体决策、世界模型与强化学习玩法的研究者和工程师
- 想看大模型如何把「玩法」写成可复现规则的 AI 编程爱好者
- 需要无侵入自动化测试网页游戏、页面交互的前端开发者
- 喜欢用编码智能体做实验、追踪 Jev / Laya 两类决策引擎差异的极客
官方链接
评论与建议
登录 后参与评论或提建议