BrowserGym 网页智能体实验场
用统一的 Gym 环境运行、测试和评估网页自动化智能体。
- Star 数
- ★ 1.4k
- 最近更新
- 1 天前
- License
- NOASSERTION
- 主语言
- Python
- FA 评分
- 54/100 · 缺口较多
30 秒速览
- 可在哪里用
- 通用 · 跨平台OpenAI API
- 开始前需要
- 典型场景
- 网页智能体研究人员需要在同一套 Gymnasium 执行循环中比较自研策略在 MiniWoB、WebArena 与 WorkArena 任务上的表现。
- 主要局限
- 项目明确说明其目标是加速网页智能体研究,不是面向消费者的产品,生产采用需自行补足安全、运维与流程治理。
这个 Agent 能做什么,适合哪些场景?
BrowserGym 是面向网页智能体研究的 Gym 环境框架,而非面向普通用户的自动化产品。它通过 Gymnasium 注册开放式网页任务和多个基准任务,智能体以 reset/step 循环获取观测、提交动作并接收 reward、终止状态与附加信息。默认覆盖 MiniWoB、WebArena、WorkArena、AssistantBench、WebLINX、OpenApps 和 TimeWarp 等基准,其中部分基准需要各自额外部署。核心接口可用于自行实现智能体,也提供以 OpenAI 为后端的演示智能体。它适合需要可复现实验环境和基准任务入口的研究或工程团队,不替代浏览器自动化产品的生产级治理与业务流程配置。
安装 browsergym 后,导入例如 browsergym.core、browsergym.miniwob 或 browsergym.webarena 会把相应任务注册为 Gymnasium 环境。调用 gym.make("browsergym/openended", task_kwargs={"start_url": "https://www.google.com/"}, wait_for_user_message=True) 可创建开放式网页任务;env.reset() 返回 obs 与 info,随后智能体在 env.step(action) 循环中提交动作,获得 obs、reward、terminated、truncated 与 info,最后调用 env.close()。基准任务可用诸如 browsergym/miniwob.choose-list、browsergym/workarena.servicenow.order-ipad-pro 和 browsergym/webarena.310 的环境 ID 启动。演示程序 demo_agent/run_demo.py 可运行 openended、miniwob、workarena、webarena 或 visualwebarena 任务,并可配置模型名和截图使用方式。
- 网页智能体研究人员需要在同一套 Gymnasium 执行循环中比较自研策略在 MiniWoB、WebArena 与 WorkArena 任务上的表现。
- 希望构建开放式浏览器助手的工程师,需要从指定 start_url 开始运行任务,并在每次智能体发送聊天消息后等待用户输入。
- ServiceNow 相关团队需要通过 browsergym/workarena.servicenow.order-ipad-pro 一类环境测试知识工作网页任务。
- 多模态智能体开发者需要运行 VisualWebArena 演示,并通过 use_screenshot 向视觉语言模型提供截图。
- 实验团队需要用 AgentLab 在 BrowserGym 基准上运行智能体、收集并分析执行轨迹。
如何安装或部署这个 Agent?
推荐安装:
pip install browsergym
playwright install chromium只需要核心开放式任务时可安装 pip install browsergym-core;具体基准也有对应包,例如 browsergym-miniwob、browsergym-webarena 和 browsergym-workarena。各基准还有单独的设置步骤。运行演示智能体前,可执行 pip install -r demo_agent/requirements.txt,然后执行 playwright install chromium;其 OpenAI 后端需要设置 OPENAI_API_KEY。
如何使用这个 Agent?
最小调用方式是先 import gymnasium as gym 和 import browsergym.core,再用 gym.make("browsergym/openended", task_kwargs={"start_url": "https://www.google.com/"}, wait_for_user_message=True) 创建环境。调用 env.reset() 后,在循环内以 env.step(action) 驱动你的智能体,直到 terminated 或 truncated 为真,并调用 env.close() 释放环境。要验证演示流程,可在已设置 OPENAI_API_KEY 后运行:
python demo_agent/run_demo.py --task_name openended --start_url https://www.google.com这个 Agent 有哪些优点和局限?
- 以 Gymnasium 的统一 reset/step 接口覆盖开放式任务和多个网页智能体基准,便于复用同一智能体循环。
- 默认列出 MiniWoB、WebArena、WebArenaVerified、VisualWebArena、WorkArena、AssistantBench、WebLINX、OpenApps 与 TimeWarp 等任务来源。
- 既可直接实现自定义 action 策略,也提供可运行的 OpenAI 演示智能体,并支持模型名与截图选项。
- 通过继承 AbstractBrowserTask 可以设计新的网页基准。
- 项目明确说明其目标是加速网页智能体研究,不是面向消费者的产品,生产采用需自行补足安全、运维与流程治理。
- Playwright Chromium 是必需运行依赖;不少基准还各自要求额外设置。
- 演示智能体使用 OpenAI 后端,运行该演示需要 OPENAI_API_KEY。
- README 未提供统一的所有基准一键部署流程,各基准的环境与数据准备成本不在核心安装命令中解决。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|
| BrowserGym 网页智能体实验场 当前 | 54 · 缺口较多 | ★ 1.4k | 1 天前 | Python | OpenAI API |
| Notte 网页自动化 | 44 · 缺口较多 | ★ 2k | 1 天前 | Python | — |
| CamoFox Browser Server | 72 · 存在缺口 | ★ 396 | 1 个月前 | JavaScript | Claude Code |
| Webwright 浏览器编程代理 | 66 · 存在缺口 | ★ 6k | 1 个月前 | Python | Codex · Claude Code · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:项目提供浏览器自动化环境,但未明确实现最小权限原则;用户确认机制存在(如wait_for_user_message),但未强制;数据流透明度有限,未详细说明数据收集和传输;敏感数据处理未明确;依赖安全未审计;外部影响(如浏览器操作)未明确限制;回滚机制未提及;来源归属明确(ServiceNow)。扣分原因:缺乏安全设计文档和权限控制细节。
证据显示:项目结构一致,README与代码示例一致;依赖可用性良好,有CI测试;失败消息在测试中有体现(如last_action_error)。扣分原因:未提供详细的错误处理文档。
证据显示:面向研究人员,提供多种基准测试场景;能力边界明确(如openended任务);触发精度通过任务ID控制;环境适配良好(支持多种浏览器和操作系统)。扣分原因:未详细说明所有环境配置。
证据显示:信息架构清晰,有README和文档;安装说明详细;命名稳定(如browsergym.*);提供示例和FAQ;已知限制在README中有警告;许可证为Apache 2.0;版本控制有GitHub Actions发布流程;维护责任明确(ServiceNow)。扣分原因:缺少详细的变更日志。
证据显示:输出可用性高,提供多种API和示例;边际价值高,提供多种基准测试;成本效益合理,开源免费。扣分原因:未提供性能基准数据。
证据显示:声明可追溯,有论文和引用;跨来源验证(如GitHub Actions测试);事实与推断分离(如README中的警告)。扣分原因:未提供独立的第三方验证。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 项目为研究框架,非消费级产品,使用时需谨慎。
- 未提供安全审计或权限控制细节,建议在生产环境使用前进行安全评估。
- 依赖外部服务(如OpenAI API),需注意数据隐私和成本。