开发与工程 ✓ Microsoft · 官方 browser-automationplaywrightpython-scriptingweb-task-executionreusable-code-skillsopenai-apianthropic-apitrajectory-inspection

Webwright 浏览器编程代理

让编程模型用 Python 脚本完成并复现长流程网页任务。

FollowAgents 评估 · FARS-2.1
谨慎使用
66/ 100 五分制 3.3 / 5
1 2 3 4 5 6
1信任安全13 / 29 · 2.2/5

README清楚说明浏览器、终端、本地工作区、截图、日志、轨迹以及模型后端之间的主要数据流,运行产物也便于事后检查;Credits、Citation、MIT版权声明和已验证的微软组织归属使来源归因充分。扣分在于:自由形式Playwright脚本具有广泛网页操作能力,未见域名或动作级最小权限控制;普通运行没有明确的提交、购买、发送或账户变更前确认机制,只有Skill Factory的assume_yes和草稿复核证据;API密钥仅说明通过环境变量提供,未展示脱敏、日志过滤、保存期限或秘密泄漏防护;依赖采用无上限的最低版本约束,未见锁文件、漏洞扫描或依赖更新策略;外部副作用、撤销和恢复语义未系统定义,保留脚本和产物只能提供有限审计与重跑能力。

2可靠稳定9 / 14 · 3.2/5

README中的架构、命令、配置和产物描述总体一致,测试还专门约束README配置键与实现、配置优先级、恢复检测、CLI兼容和防覆盖行为,因此自洽性较强。依赖均为常见公开Python包并注明Python和Chromium前置条件,但版本未锁定且浏览器、网站和模型API均是运行时外部依赖。测试展示缺失模板值、无参数运行、无效规范、已有文件和部分失败路径的信息处理,不过提供的测试集中在Skill Factory,未证明核心浏览器循环的错误消息覆盖,因此未给满分。

3适用触发15 / 18 · 4.2/5

资料明确覆盖独立CLI、Claude Code、Codex、OpenClaw和Hermes,并区分一次性脚本、可参数化工具、Task Showcase及Skill Factory,受众与场景说明很完整。边界方面明确说明没有多代理、图引擎、插件层或隐藏编排,也列出所需浏览器、模型后端及不同宿主的行为差异;但对登录、验证码、下载、支付、受限站点和危险写操作等能力边界说明不足。自然语言自动激活、显式命令和配置叠加均有说明,但自动触发描述较宽泛,缺少误触发或冲突处理规则。Python 3.10+、Playwright Chromium、三种模型后端及多宿主安装路径使环境适配证据充分。

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

README具有清晰的项目地图、快速开始、参数表、插件安装、使用方式、轨迹查看器和专题章节,信息架构与安装说明完整。包名、CLI入口、配置名和插件命令总体稳定,并有测试防止文档与实现漂移;但项目仍标为0.1.0,且多个宿主存在不同调用约定。示例丰富,也说明了report.json条件生成、插件重启、Hermes命令限制和结果可能变化等注意事项,但没有独立FAQ或系统化限制清单。MIT许可证文本完整。News提供带日期的变更摘要,但未见正式CHANGELOG、发布兼容政策或迁移指南。微软组织、版权与安全报告渠道使责任和升级路径部分明确,但未列维护者、支持承诺或响应时限。

5有效结果10 / 13 · 3.8/5

每次运行输出可重跑的Python脚本、轨迹、截图和结构化报告,Skill Factory还提供参数化CLI入口及帮助文本,输出可用性证据充分。代码即动作、可复用技能和多宿主集成相较逐步浏览具有明确的潜在增量价值,但主要性能优势来自README中的项目自述,所给文件没有完整基准数据或核心端到端测试。成本收益有令牌统计、约40秒零令牌复用和减少步骤的说明,也诚实提示单次结果会变化;不过未给模型调用总成本、浏览器资源、安全审查成本或广泛场景下的权衡,因此只属中等支持。

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

性能数字注明基准名称、任务数、模型、步数预算和比较对象,并指向博客;代码结构、命令和Skill Factory行为可追溯到列出的路径和测试。不过源材料未包含博客内容、原始结果、评测脚本或完整核心实现,SOTA与准确率主张无法在本次静态材料中闭环验证。README与pyproject、许可证、工作流及测试在安装、命名、配置和部分Skill Factory行为上相互印证,但性能主张主要是单一项目来源。事实、架构观点和宣传性结论大多通过章节与措辞区分,并明确称个别结果可能变化;然而“verified”“SOTA”等强结论未在所给证据中逐项附带可核查材料,因而扣分。

证据充分度: 评估于 2026年8月25日 审查版本 bc26750af3ad
使用前请注意
  • Webwright允许模型生成并执行自由形式Playwright代码;在真实账户、支付、发布、发送或删除场景中,应在外部增加域名白名单、动作限制和提交前人工确认。
  • 不要把轨迹和截图当作安全边界:它们可能包含页面内容、账户信息或其他敏感数据,应限制访问、设置保留期限并验证日志脱敏。
  • 依赖只有最低版本约束且未展示锁文件或漏洞扫描;部署前应固定并审计Python与浏览器依赖。
  • README中的SOTA、准确率和零令牌复用数字未由本提示所含的原始评测材料独立验证。
  • 本评估仅基于所给静态文件,未执行代理、浏览器、测试或基准。
查看完整评分方法 →

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

Webwright 是一个轻量级浏览器代理框架,让模型在终端中编写、运行和修复 Playwright Python 脚本,而不是逐次预测点击或坐标。其核心包括 `agents/default.py` 中的代理循环、Playwright 浏览器环境、OpenAI/Anthropic/OpenRouter 模型后端、Typer CLI,以及 `image_qa` 和 `self_reflection` 工具。浏览器会话可以随时重建,持久状态则保存在本地工作区的代码、日志、轨迹和截图中。每项任务最终收敛为可重新运行的 `final_script.py`;Task Showcase 配置还可生成 `task.json` 和结构化的 `report.json`。Skill Factory 能将成功脚本提炼为经过输入校验和独立回放验证的参数化技能,并在后续任务中直接运行或作为先验注入。它适合愿意提供 Python、Chromium、网络访问、文件系统和模型凭据,并重视可审查脚本而非托管式无代码体验的团队。

用户通过 python -m webwright.run.cli 提交任务、起始网址、配置文件和输出目录。agents/default.py 执行扁平的“提示→观察→执行脚本”循环:模型在终端工作区中生成 Python,浏览器环境启动一个或多个 Playwright/Chromium 会话,脚本查询元素、等待页面条件、填写表单或遍历多步流程,并在需要时保存页面状态和截图。失败时,代理检查日志或截图并修改代码,直到形成可重跑的最终脚本;普通运行写出 trajectory.json 等调试产物,叠加 task_showcase.yaml 后还会生成 task.jsonreport.jsonwebwright.skill_factoryrecommendroutelearnbuildupdate 流程可复用、提炼和回归验证既有脚本。仓库还提供 Claude Code、Codex、OpenClaw 和 Hermes Agent 的插件或技能接入方式,以及用于比较 Webwright、Codex 和 GitHub Copilot 轨迹的浏览器查看器。

  1. 自动化工程师需要把跨多个页面的搜索、筛选、表单填写或信息收集任务沉淀为可重复运行的 Playwright Python 程序。
  2. 研究浏览器代理的团队希望在 Online-Mind2Web 或 Odysseys 一类长流程任务上试验代码即动作范式,并检查完整轨迹与截图。
  3. 使用 Claude Code 或 Codex 的开发者希望通过插件,让现有编码代理原生驱动浏览器任务,而不另建多代理编排层。
  4. 运营或数据团队需要定期执行商品、库存、职位、天气等网页任务,并通过 Task Showcase 将结构化结果渲染成简单仪表盘。
  5. 拥有重复网站任务的团队希望用 Skill Factory 把成功运行提炼为参数化 CLI 技能,后续在不调用模型的情况下独立执行。
  6. 框架作者需要一个约 1.5k 行、依赖较少且代理循环可直接阅读和修改的浏览器代理起点。

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

优点
  • 代码即动作:最终浏览历史是一份可重跑、可修改和可共享的 Python 脚本,而不是只能依赖存活浏览器会话的动作序列。
  • 架构精简且可审查:核心代理循环约 450 行,浏览器环境约 570 行,CLI 约 150 行,并明确避免图引擎、插件层和隐藏编排。
  • 支持 OpenAI、Anthropic 和 OpenRouter 后端;同一技能目录还明确接入 Claude Code、Codex、OpenClaw 和 Hermes Agent。
  • 运行产物优先:轨迹、截图和日志写入磁盘,便于复盘失败、比较不同执行框架并调试长流程任务。
  • Skill Factory 可把成功任务变为经过双重验证的参数化程序;来源给出的 WebArena 实验中,复用将留出集准确率从 55% 提升到 70%。
  • 来源报告其在 100 步预算下于 Online-Mind2Web 达到 86.7%,并在 Odysseys 达到 60.1%,对长流程网页任务提供了具体基准证据。
局限
  • 自托管运行需要 Python 3.10+、Playwright、Chromium、网络和可写工作区;这些运行时与浏览器依赖会增加部署和维护成本。
  • 独立框架模式需要所选模型后端的 API 密钥,并会产生相应模型调用成本;只有宿主插件模式声明无需宿主订阅之外的额外模型密钥或费用。
  • 最终脚本依赖具体网站的页面结构和动态行为;虽然可等待条件并修复代码,网站改版仍可能使已有自动化失效。
  • Task Showcase 的 report.json 不是普通运行默认产物,必须显式叠加 task_showcase.yaml,仪表盘还需要另行安装 Flask。
  • 来源展示的是特定模型、任务集和步数预算下的结果,不能据此保证在任意网站、权限环境或业务流程中获得相同成功率。
  • 框架刻意不提供多代理系统、图引擎或隐藏编排;需要复杂审批、分布式调度或企业级工作流治理的团队必须自行扩展。

如何安装或部署这个 Agent?

要求 Python 3.10+、可联网的运行环境、文件系统、Playwright Chromium,以及所选后端的 API 密钥。克隆仓库并在仓库根目录执行:

pip install -e .

playwright install chromium

使用 OpenAI 配置时设置 OPENAI_API_KEY;使用 Anthropic 配置时设置 ANTHROPIC_API_KEY。框架也提供 OpenRouter 后端,但所给快速开始示例没有列出其凭据变量。Claude Code 可先执行 /plugin marketplace add microsoft/Webwright,再执行 /plugin install webwright@webwright 并重启会话。Codex CLI 可执行 codex plugin marketplace add microsoft/Webwright,随后进入 codex、打开 /plugins 安装 Webwright,并重启 Codex。

如何使用这个 Agent?

OpenAI 后端的首个运行示例:

python -m webwright.run.cli \
-c base.yaml -c model_openai.yaml \
-t "Search for flights from SEA to JFK on 2026-08-15 to 2026-08-20" \
--start-url https://www.google.com/flights \
--task-id demo_openai \
-o outputs/default

-c 可叠加 src/webwright/config/ 中的配置,-t 是任务说明,--start-url 指定初始页面,--task-id 指定输出子目录,-o 指定输出根目录。若要生成可由 Task Showcase 渲染的结构化结果,额外叠加 -c task_showcase.yaml;随后可运行 python assets/task_showcase/app.py --tasks-dir outputs/default/<run>/task_showcase/tasks。在 Claude Code 中可使用 /webwright:run <任务> 生成一次性脚本,或 /webwright:craft <任务> 生成带 argparse 参数的可复用 CLI。Codex 新线程中可输入 @webwright <任务>

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

相较 Stagehand,Webwright 不以自然语言 act/extract 原语或混合式接口为中心,而让模型自由编写 Playwright Python。相较 Vercel 的 agent-browser,它不要求代理为每个微步骤调用 openclicksnapshot 子命令,而是组合成完整程序。相较 browser-use 的 DOM/AX 快照与索引化点击循环,Webwright 把本地代码、截图和日志视为状态,并允许浏览器会话被丢弃和重建。README 还给出了基准对照:在 Odysseys 上,GPT-5.4 Webwright 为 60.1%,高于所列视觉持久浏览器方案 Opus 4.6 的 44.5%和基础 GPT-5.4 坐标预测方案的 33.5%;这些数字仅对应来源注明的评测设置。

常见问题

必须使用 OpenAI 模型吗?
不必。独立框架明确提供 OpenAI、Anthropic 和 OpenRouter 后端。选择相应配置文件并提供该后端的凭据;Anthropic 运行中的 image_qaself_reflection 默认使用同一模型,不要求额外的 OpenAI 密钥。
每次运行都会生成结构化报告吗?
不会。普通 base.yaml 运行生成 trajectory.json 和调试产物,但不生成 report.json;必须叠加 task_showcase.yaml 才会写出可供仪表盘渲染的任务与报告文件。
成功脚本能否脱离模型再次运行?
可以。最终脚本本身可重跑;Skill Factory 还可将多次成功解法提炼为参数化技能,并要求技能在入库前独立回放其答案。来源称已学习技能约 40 秒即可运行且消耗零模型 token。
插件模式是否仍需要单独配置模型 API 密钥?
Claude Code 和 Codex 的插件说明称宿主代理原生驱动 Webwright 循环,不产生宿主订阅之外的额外模型密钥或费用;但仍需安装本仓库及 Playwright Chromium。独立 CLI 框架模式则需要所选后端的 API 密钥。
它需要哪些本地权限?
需要终端执行能力、网络访问和文件系统读写权限,以便安装及启动 Chromium、访问目标网站、生成脚本,并保存轨迹、日志与截图。来源没有要求 MCP。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents