BrowserGym 网页智能体实验场
用统一的 Gym 环境运行、测试和评估网页自动化智能体。
- Star 数
- ★ 1.4k
- 最近更新
- 11 天前
- License
- NOASSERTION
- 主语言
- Python
- FA 评分
- 52/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 网页智能体实验场 当前 | 52 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 1.4k | 11 天前 | Python | OpenAI API |
| Notte 网页自动化 | 64 · 存在缺口 | 代码库 / SDK免费版 + 付费版 | ★ 2.1k | 今天 | Python | — |
| Playwright 浏览器自动化 MCP | 65 · 存在缺口 | MCP 服务器免费 | ★ 39k | 1 天前 | TypeScript | Codex · Claude Code |
| assay | 81 · 表现良好 | 命令行工具免费 | ★ 110 | 2 天前 | Python | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
BrowserGym 将网页任务作为可执行浏览器环境,Demo 暴露导航、标签页、点击等动作,并可选使用宽泛的 PythonActionSet;这支持研究用途但权限边界较薄,故最小权限仅 1。README 示例设置 wait_for_user_message,但没有通用的高影响操作确认、撤销或恢复机制,故确认 1、回滚 0。Demo 将聊天、页面 URL、可访问性树、DOM 和可选截图发给 OpenAI API,并要求配置 API key;数据流有部分说明,但没有敏感数据筛选或保留说明,故透明度和敏感数据处理均为 1。材料列出 Playwright、Gymnasium 等安装步骤但没有依赖审计或漏洞缓解证据,依赖安全 1;浏览器操作会产生外部效果且缺少影响控制说明,外部效果 1。LICENSE 明确 Apache-2.0,README 提供论文引用和项目身份,来源归属 2。
README 的安装和用法示例覆盖多个环境,但其中 VisualWebArena 示例导入 webarena,AssistantBench 示例导入 workarena 且列出 workarena 前缀,与任务名不一致,扣减自洽性至 1。安装说明提到 Playwright Chromium 及各 benchmark 的额外依赖,但大量 benchmark 依赖外部服务、数据或账户,且样本未展示锁定策略,依赖可用性 1。Demo Agent 遇到未知聊天角色会报错,Agent 构造时对缺少 HTML/A11y 输入有显式 ValueError;错误处理有部分支撑,但没有充分的用户恢复指导,失败消息 1。静态审阅未运行项目。
README 明确将产品定位为 Web agent 研究框架而非消费者产品,并列出开源任务、多个 benchmark、交互及实验场景,因此受众和场景 3。可扩展 AbstractBrowserTask、可选 DOM/AXTree/截图和动作子集表明能力可配置;但 Demo 中 PythonActionSet 示例被注释,边界没有完整描述,能力边界 2。任务安装、入口和 API key 前置条件大致可辨,然而 README 示例导入/前缀错配降低触发与选择精度,触发精度 2。Gymnasium 接口、Playwright 和任务注册说明与框架使用相符,但基准特有的外部配置较重,环境适配 2。
README 按设置、用法、Demo、生态和引用分区,且拆分 benchmark 安装指南,信息架构 2。安装有 pip、浏览器安装和本地开发步骤,但额外服务配置散布到各 benchmark 文档且样本不全,安装说明 2。browsergym 包名、任务 ID 和拆分包总体可见,但示例中的错配削弱稳定性,命名稳定性 1。多种任务代码、Demo 命令和 --help 提示提供实用示例,但 FAQ 未见且部分示例导入错误,示例与 FAQ 2。README 明示非消费者产品并提醒谨慎,列明额外 benchmark 设置需求,局限性 2。仓库 LICENSE 正文明确 Apache-2.0,许可证 3;材料有动态版本和 tag 发布工作流,但未见变更日志,版本与变更记录 1。Publisher 未经注册验证;README 展示 ServiceNow 项目身份和贡献入口,但没有清晰的维护负责人或支持路径,维护责任 1。
BrowserGym 提供统一 Gym 接口、任务注册、动作空间和浏览器观测,示例能帮助研究者接入,输出可用性 2。广泛 benchmark 集成、扩展任务基类及生态定位显示研究框架相对单一脚本有明显增量价值,边际价值 3。使用需要安装 Chromium,并可能配置 benchmark 服务、数据或账号;成本与收益有说明但没有成本评估或更轻量的风险控制建议,成本收益 1。
README 的安装、接口、生态及引用陈述有对应示例;CI workflow 具体列出构建和测试步骤,Demo 源码展示观测字段及 API 调用,故可追溯性 2。README、Demo、LICENSE、发布和 CI 文件对框架定位、许可证和操作方式有交叉支持;不过 CI 片段不完整且若干 benchmark 示例与代码用法存在冲突,交叉印证 2。材料可区分明确事实与示例性描述,但 README 的“容易设计”及生态/能力主张缺少样本中的定量依据,事实与推断区分 1。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 这是低置信度静态审阅,未执行代码或独立验证测试。
- Demo 会把页面 DOM、URL、聊天内容及可选截图发送给 OpenAI API;使用真实账户或敏感页面前应评估数据暴露。
- README 的 VisualWebArena 与 AssistantBench 示例存在导入或任务前缀错配;外部 benchmark 的额外配置需查阅对应文档。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
What's Changed * Add "BrowserGym Ecosystem" paper in the readme by @xhluca in https://github.com/ServiceNow/BrowserGym/pull/363 * Add WebArena Lite by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/368 * update webarenalite requirement and toml by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/369 * Version bump dev by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/371 * Webarenalite build fix by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/374 …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * Miniwob zoom by @recursix in https://github.com/ServiceNow/BrowserGym/pull/352 * prevent lxml to go to version 6 by @recursix in https://github.com/ServiceNow/BrowserGym/pull/356 * Fix_bbox_scale by @recursix in https://github.com/ServiceNow/BrowserGym/pull/357 * Make miniwob installation automatic. by @amanjaiswal73892 in https://github.com/ServiceNow/BrowserGym/pull/359 * Fill->type to trigger drop down by @recursix in https://github.com/ServiceNow/BrowserGym/pull/358 New Contributors …在 GitHub 查看 ↗ -
发布说明摘录
What's Changed * Some changes in preparation for agentlab's new ToolUseAgent and the new APIs by @TLSDC in https://github.com/ServiceNow/BrowserGym/pull/340 * Miniwob zoom by @recursix in https://github.com/ServiceNow/BrowserGym/pull/351 Full Changelog: https://github.com/ServiceNow/BrowserGym/compare/v0.13.4...v0.14.1在 GitHub 查看 ↗
常见问题
BrowserGym 能直接替我完成真实业务网页操作吗?
是否必须使用 OpenAI?
安装 browsergym 后是否所有基准都能立即运行?
如何创建自定义网页基准?
谢谢反馈,我们会据此改进页面。