微软开源Webwright:浏览器Agent终于跳出"猜下一步点哪"的死胡同
2026年5月,微软开源了终端原生Web Agent框架Webwright,这事儿在Agent开发圈子里炸开了锅。
先说几个核心判断:这个框架的设计思路,可以说是彻底跳出了过去那种“单步操作”的老路子。
过去绝大多数浏览器Agent走的是同一条路:看页面,猜下一步,点一下,再猜。每一步都得调用一次大模型。说实话,在LLM能力还不够强的时候,这套逻辑确实能跑通。但问题是,随着模型写代码的能力越来越强,这种“小步慢跑”的设计反而成了瓶颈。
Webwright的思路完全不同,它更接近一个真实工程师做自动化的方式:
- 让LLM直接编写可运行的Playwright脚本,把网页操作转换成可复用的Python程序。
- 所有状态——脚本、截图、日志——都存在本地工作区里。浏览器会话只是一个可以随时启动、检查、丢弃的运行环境,它本身不是状态载体。
- 架构极简到让人有点意外:核心只有三个模块,加起来大概1500行代码。没有多智能体系统,没有图引擎,没有多余的插件层,依赖库也就四个:httpx、pydantic、playwright、typer。
这种模式的好处是,Agent跑完任务之后,留下的不是一次性操作痕迹,而是一份可以直接修改、复用、分享的自动化脚本。这才是关键所在。
性能达到SOTA级别
Webwright在两大主流浏览器Agent基准测试中,都刷新了当前开源框架的最好成绩。下面是用100步预算跑出来的结果:
- (包含300个真实网页任务):用GPT-5.4跑到了86.7%的准确率,这是同类开源框架中的最高水平;用Claude Opus 4.7也能达到84.7%,而且在难例拆分上甚至超过了GPT-5.4(80.5% vs 76.6%)。
Online-Mind2Web
- (200个长程任务,平均需要76.1步):用GPT-5.4拿到60.1%的完成率,比之前的SOTA高出15.6个百分点,比用坐标预测的基线GPT-5.4高出26.6个百分点。
Odysseys
另外,测试还发现一个有意思的点:哪怕是Qwen-3.5-9B这样的小模型,配合预置工具脚本,也能在Online-Mind2Web的难例上达到66.2%的完成率。对于低成本部署场景来说,这个表现相当扎实。
Odysseys长程任务评测结果对比
Online-Mind2Web任务评测结果对比
生态集成与附加功能
Webwright已经完成了主流Agent生态的适配,不需要改现有工作流就能直接接入:
- :通过插件市场安装后,支持两个命令——
Claude Code
/webwright:run(跑一次性任务)和/webwright:craft(生成可复用的参数化脚本)。 - :同样通过插件市场安装,用
OpenAI Codex
@webwright就能调用。 - :共用同一套skill目录,加载就能用。
OpenClaw、Hermes Agent
除此之外,还有两个实用功能值得留意:
- :任务完成后自动把结果渲染成可交互的HTML应用,省去了自己手动可视化的麻烦。
Task2UI模式
- :每次运行的轨迹、截图、日志都会存在本地,调试和回溯都很方便。
全程可审计
和同类项目的核心区别
社区里也有人问,Webwright和browser-use、agent-browser这些项目到底有什么不同?官方给出的架构对比很清楚:
维度 | Stagehand (Browserbase) | agent-browser (Vercel) | browser-use | Webwright |
|---|---|---|---|---|
范式 | 混合:代码 自然语言原语 | 供其他Agent调用的CLI工具 | 基于DOM快照的自主LLM循环 | 带终端的编码Agent,浏览器只是启动的运行环境 |
动作空间 | Playwright代码,或自然语言转译的Playwright | 离散子命令(打开、点击、截图等) | LLM选择的索引式点击/输入 | 自由格式Python,自己写完整Playwright脚本 |
状态载体 | 浏览器会话 | 浏览器会话 | 浏览器会话 | 本地工作区(代码、截图、日志),浏览器可丢弃 |
循环形态 | 命令式,需要时做多步操作 | 每个微操作调用一次CLI | 观察→预测动作→执行循环 | 写代码→执行→检查截图→修复代码 |
行业共识:Agent要跳出单步操作的局限
Webwright的设计思路在社区里得到了广泛认同,不少从业者表示,这才是浏览器Agent的正确方向。
有开发者指出,绝大多数自动化的瓶颈根本不在动作层,而在决策循环。Playwright点得已经足够快了,真正的问题是“该点什么”。如果新工具能压缩这个决策gap,那就是完全不同的品类;如果只是重新包装一层CDP调用,充其量是横向移动。
FSB(Full Self Browsing)的作者Lakshman Turlapati说得更直白:Webwright说明了方向是对的。Agent不该只猜下一步该点哪里,还要能把真实浏览器会话、DOM、截图、日志和恢复机制放进同一个控制层。FSB做的就是Chrome端的MCP层,让Codex、Claude、Cursor这类Agent能直接控制用户的真实Chrome,同时保留原有的cookie、扩展、登录态,还能做到敏感信息不泄露、多Agent tab隔离。这套方案特别适合处理收件箱分类、客服回复、数据拉取等需要登录态的重复工作。
还有开发者表示,Webwright本质上就是面向浏览场景的编码Agent。他自己之前手动用“Copilot CLI Playwright MCP”搭过类似的工作流,现在终于等来了更官方的方案,已经给OpenClaw和Hermes Agent装上了,用来收集AI编码的模式数据,进一步提升Agent的编程能力。
快速上手
基础运行
环境要求:Python 3.10 ,Playwright安装的Chromium,以及对应后端的API密钥(OpenAI/Anthropic/OpenRouter)。
# 安装
pip install -e .
playwright install chromium
# 运行示例任务
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作为Claude Code插件安装
# 添加插件市场
/plugin marketplace add microsoft/Webwright
# 安装插件
/plugin install webwright@webwright相关链接
- Webwright GitHub仓库:https://github.com/microsoft/webwright
- Webwright官方博客:https://www.microsoft.com/en-us/research/articles/webwright-a-terminal-is-all-you-need-for-web-agents/
- FSB官方网站:https://full-selfbrowsing.com/agents
- FSB GitHub仓库:https://github.com/lakshmanturlapati/FSB