微软开源Webwright:浏览器Agent告别盲目猜测
2026年5月,微软将终端原生Web Agent框架Webwright开源,迅速引发Agent开发社区的广泛关注。
先划几个重点:这套框架的设计逻辑彻底跳出了过去“单步操作”的旧范式。
此前绝大多数浏览器Agent采用同一套路:解析页面、猜测下一步、执行点击、再猜测。每一步都要重新调用一次大模型。坦白说,在LLM能力尚有限时,这套逻辑勉强跑得通。但随着模型写代码的能力持续增强,这种“小步慢走”的设计反而成为了效率瓶颈。
Webwright的思路截然不同——它更接近真实工程师的自动化习惯:
- 让LLM直接编写可执行的Playwright脚本,将浏览器操作转化为可复用的Python代码。
- 所有状态——脚本、截图、日志——都保存在本地工作区。浏览器会话仅作为可随时启动、检查、丢弃的运行环境,本身不承载状态。
- 架构极简到令人意外:核心仅三个模块,总计约1500行代码。没有多智能体系统,没有图引擎,没有冗余插件层,依赖库只有四个:httpx、pydantic、playwright、typer。
这种模式的优势在于:Agent执行完任务后留下的不是一次性操作记录,而是一份可直接修改、复用、共享的自动化脚本。这才是真正的价值所在。
性能达到SOTA水平
Webwright在两大主流浏览器Agent基准测试中,均刷新了当前开源框架的最佳成绩。以下是用100步预算跑出的数据:
- Online-Mind2Web(含300个真实网页任务):搭配GPT-5.4达到86.7%准确率,为同类开源框架最高;用Claude Opus 4.7也能达到84.7%,在难例子集上甚至超越GPT-5.4(80.5% vs 76.6%)。
- Odysseys(200个长程任务,平均需76.1步):搭配GPT-5.4拿下了60.1%的完成率,比之前SOTA高出15.6个百分点,比使用坐标预测的基线GPT-5.4高出26.6个百分点。
测试中还发现一个有趣现象:即使是Qwen-3.5-9B这样的小模型,配合预置工具脚本也能在Online-Mind2Web的难例上达到66.2%完成率。对于低成本落地场景来说,这个表现相当扎实。
生态集成与附加能力
Webwright已完成主流Agent生态的适配,无需修改现有工作流即可直接接入:
- Claude Code:通过插件市场安装后,支持两个命令——
/webwright:run(执行一次性任务)和/webwright:craft(生成可复用的参数化脚本)。 - OpenAI Codex:同样通过插件市场安装,使用
@webwright即可调用。 - OpenClaw、Hermes Agent:共用同一套skill目录,加载即用。
此外还有两个实用功能值得关注:
- Task2UI模式:任务完成后自动将结果渲染为可交互的HTML应用,省去手动可视化的麻烦。
- 全程可审计:每次运行的轨迹、截图、日志均保存在本地,调试和回溯非常便捷。
与同类项目的核心差异
社区有人问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的点击速度已经足够快,真正的问题是“该点什么”。如果新工具能压缩这个决策短板,那就是完全不同的品类;如果只是重新包装一层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

