MobileGym

以可编程状态和确定性判定评测、训练移动 GUI 智能体。

Star 数
★ 794
最近更新
26 天前
License
Apache-2.0
主语言
Python

30 秒速览

可在哪里用
兼容但需适配
开始前需要
Node.js 22Python 3.11Playwright ChromiumShell / 命令行网络访问本地文件系统
典型场景
移动智能体研究人员需要在每次试验使用完全相同初始状态的 WeChat、Alipay 或跨应用任务上比较模型时。
主要局限
它模拟的是研究替身应用,不连接真实服务、账户或资金,因此不能验证真实生产应用中的认证、网络后端或支付行为。

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

MobileGym 是一个在浏览器中运行的 Android 风格移动模拟平台,用于移动 GUI 智能体研究。它由 React/Vite 前端模拟器、Python 与 Playwright 驱动的 bench_env 基准环境,以及 mobilegym-rl 在线强化学习管线组成。平台将环境暴露为结构化 JSON 状态,可进行读取、注入、快照、恢复和并行克隆,并由任务中的程序化检查函数判定结果与副作用。仓库提供 28 个模拟应用、416 个参数化任务模板和一个 256 任务测试集;模拟应用不连接真实服务、账户或资金。它适合需要可复现评测和大规模在线 RL 的团队,但不是可直接操控真实 Android 手机或真实第三方账户的自动化产品。

前端通过 apps/、system/ 和 os/ 组合出模拟手机环境;bench_env 通过 Playwright 打开该环境并使用 __SIM__、__OS__、__SIM_INPUT__ 读取截图、输入 tap/type/swipe/back/home/wait/drag/complete 等动作。运行 python -m bench_env.run 时,任务类会提供 description、setup 里的 JSON 状态注入,以及 check_goals() 或 get_answer() 的确定性判定;运行器可执行单任务、suite、split、并行评测、pass@k 与重试。agent 目录提供 autoglm、uitars、venus、gui_owl、generic、generic_v2、mai_ui 和 human 适配器,输出运行结果,并可在 run_explorer.html 中查看逐步截图、动作标注、提示词和模型响应。mobilegym-rl/ 则承载在线 RL 训练代码。

  1. 移动智能体研究人员需要在每次试验使用完全相同初始状态的 WeChat、Alipay 或跨应用任务上比较模型时。
  2. 强化学习团队需要把同一任务状态克隆到大量浏览器实例中,执行 GRPO 式并行 rollout 时。
  3. 基准维护者需要为一个模拟应用编写含 setup 状态注入与 check_goals() 确定性判定的新任务时。
  4. 模型接入工程师需要使用已有 AutoGLM、UI-TARS、UI-Venus、GUI-Owl 或统一 JSON 适配器评估 GUI 模型时。
  5. 开发者需要以 human 手动模式重放任务、检查判定器,并在浏览器中审阅完成后的运行轨迹时。

如何安装或部署这个 Agent?

前置条件:Node.js ≥22、Python ≥3.11,以及可用的 shell 与网络连接。执行:git clone https://github.com/Purewhiter/mobilegym.git;cd mobilegym;npm install;pip install -r bench_env/requirements.txt;playwright install chromium。可选数据集约 1.9 GB:curl -L -o mobilegym-data.tar.gz https://github.com/Purewhiter/mobilegym/releases/download/data-v0.1.0/mobilegym-data-v0.1.0.tar.gz;tar -xzf mobilegym-data.tar.gz。模拟器密钥是可选项;规范基准不要求凭据。

如何使用这个 Agent?

先执行 npm run build && npm run preview -- --port 4173,然后以人工模式验证首次运行:python -m bench_env.run --task-id wechat.ReadMyWxid --agent human --env-url http://localhost:4173。列出任务可运行 python -m bench_env.run --list;运行完整测试集可使用 python -m bench_env.run --split test --parallel 8 --env-url http://localhost:4173 --agent autoglm --model-name autoglm-phone-9b。需要至少 8 路以上高并发时,先安装 nginx,执行 npm run build 和 ./scripts/server/start_nginx_gateway.sh,再把环境地址改为 https://localhost:4180。

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

优点
  • 完整环境状态以结构化 JSON 管理,可快照、恢复、注入和克隆,而非仅依赖截图或无障碍树。
  • 任务通过程序化 check_goals() / get_answer() 判定,能够检查完成结果及意外副作用,不需要 VLM 作为判定器。
  • 浏览器托管的轻量实例支持高并发 rollout;README 给出了单服务器 256 实例的资源与启动指标。
  • 应用、系统层、基准任务和模型适配器分层组织,新增应用可依 manifest 合约接入,新增适配器也有明确位置。
局限
  • 它模拟的是研究替身应用,不连接真实服务、账户或资金,因此不能验证真实生产应用中的认证、网络后端或支付行为。
  • 本地运行需要 Node.js、Python、Playwright Chromium;高并发模式还依赖 nginx,并在高并发下有 Linux inotify 配置要求。
  • 伴随数据集约 1.9 GB,且数据与内容采用 CC BY-NC 4.0,非商业学术用途限制可能影响商用采用。
  • 新模型必须符合现有适配器的输出模式,或自行在 bench_env/agent/ 中实现并注册适配器。

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

相较于真实设备或常规模拟器路径,MobileGym 的定位是将完整应用状态做成可写、可重置、可克隆的 JSON,并以状态差异进行确定性判定;其 README 将 AppWorld、WebArena、VisualWebArena、AndroidWorld、AndroidLab 和 A3 列为启发来源。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
MobileGym 当前 50 · 缺口较多 ★ 794 26 天前 Python
通义深度研究 49 · 缺口较多 ★ 20k 6 个月前 Python
MARO 资源优化平台 44 · 缺口较多 ★ 925 2 年前 Python
RLinf 强化学习基础设施 35 · 缺口较多 ★ 5.3k 4 天前 Python

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
50/ 100 五分制 2.5 / 5
信任安全 10/29
可靠稳定 6/14
适用触发 12/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全10 / 29 · 1.7/5

证据显示:仓库声明了Apache-2.0许可证,但未提供安全策略或漏洞报告渠道;依赖项未固定版本,存在供应链风险;模拟器声称不连接真实服务,但未提供数据流透明度的详细说明;有回滚机制(状态快照/重置),但未提供用户确认机制;外部影响被限制在沙箱内,但未提供详细说明。扣分原因:缺少用户确认、数据流透明度不足、依赖安全未充分处理。

可靠稳定6 / 14 · 2.1/5

证据显示:README和测试文件提供了任务定义和判断逻辑,但未提供完整的错误处理文档;依赖项未固定版本,可能影响可复现性;失败消息未在文档中明确说明。扣分原因:依赖可用性未充分保证,失败消息不明确。

适用触发12 / 18 · 3.3/5

证据显示:README提供了多种使用场景(探索、评估、训练),并说明了能力边界(如并行限制、inotify限制);触发条件(命令)明确;环境适配(Node、Python版本)有说明。扣分原因:能力边界描述不够详细,环境适配未覆盖所有平台。

规范维护10 / 18 · 2.8/5

证据显示:README提供了详细的信息架构(目录、文档映射),安装说明清晰,示例丰富,已知限制有提及,许可证明确,但版本变更日志未提供,维护责任未明确。扣分原因:缺少版本变更日志,维护责任不明确。

有效结果9 / 13 · 3.5/5

证据显示:输出可用性高(提供多种输出格式),边际价值高(解决真实设备无法解决的问题),成本效益合理(轻量级、并行)。扣分原因:成本效益未提供具体数据。

证据核验3 / 8 · 1.9/5

证据显示:README中的声明(如性能数据)未提供可追溯的验证方法,跨来源验证不足,事实与推断未明确分离。扣分原因:声明缺乏可追溯性,事实与推断混淆。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 依赖未固定版本,存在供应链风险。
  • 缺少用户确认机制,可能影响安全性。
  • 数据流透明度不足,需进一步说明。
  • 版本变更日志缺失,维护责任不明确。
证据充分度: 评估于 2026年8月9日 审查版本 093a3292d13f 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

常见问题

它会操作我的真实微信、支付宝或 eBay 账户吗?
不会。仓库说明这些均为独立实现的研究替身,不连接真实服务,也不会接触真实账户或资金。
是否必须配置 API key?
不是。模拟器密钥用于更丰富的本地视觉效果、实时地图或天气回退、内置 LLM 或快照数据再生成;规范基准可不配置。
可以评测自己的 GUI 模型吗?
可以,前提是模型可使用已有适配器所支持的模式之一;否则需在 bench_env/agent/ 添加并注册适配器。
高并发运行有哪些限制?
npm run preview 适合不超过约 8 路并行;更高并发应使用仓库的 nginx gateway。parallel 达到 192 以上时,README 要求在 Linux 提高 fs.inotify.max_user_instances。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents