Webwright – 微软开源的终端原生网页智能体开发框架

AI工具1天前更新 老高
14 0

Webwright 是一款由微软研究院于 2026 年 5 月开源发布、同年 10 月更名为 CUAWright 的终端原生网页与桌面智能体框架,主要用于让编程模型在终端里编写并执行浏览器自动化脚本,支持写 Playwright 代码、跑 bash 命令与看日志自查,适用于网页数据采集、回归测试与重复性后台操作等场景。

基础信息内容
产品定位终端原生的网页与桌面智能体框架
出品方微软研究院
发布时间2026 年 5 月 4 日(首次公开发布)
项目更名2026 年 10 月 3 日更名为 CUAWright
开源协议浏览器运行时 MIT;桌面运行时 Apache-2.0
运行依赖Web 需 Python 3.10+;Desktop 需 3.12+ 与 Docker
模型后端浏览器端 OpenAI、Anthropic、OpenRouter
两种模式cuawright web 管浏览器、cuawright desktop 管桌面
基准成绩Online-Mind2Web 88.1%、Odysseys 77.5%(GPT-5.4)
Webwright 官方项目页截图

Webwright 的核心能力

Webwright 的出发点和多数网页智能体相反:不给模型一套封装好的点击接口,而是让它自己写代码、自己跑、自己看报错。以下三点是这条路走得通的前提。

把终端当成动作空间

在浏览器脚本执行模式下,模型不再局限于逐次预测点击与输入,而是通过终端生成并执行 Playwright 脚本,结合命令行输出、截图与运行日志检查结果,再根据报错调整代码。相比逐步预测页面动作,这种方式更容易把复杂操作组合成可复用程序;仓库另有 Live-browser 模式,并非所有运行方式都会生成独立脚本。它明确面向「编程模型」而不是通用对话模型。

两个运行时整合进同一项目

2026 年 10 月的更名把两条腿并到同一项目体系:浏览器运行时 cuawright.webwright 走 Playwright,桌面运行时 cuawright.desktop 跑在 OSWorld-V2 Ubuntu 虚拟机中,用 CDP、xdotool 与键鼠能力执行桌面任务。两者不是共用一套 Playwright 接口,也不是同一个执行环境;原有 webwright 命令与 Python 导入保持兼容,已有集成方不必重写接入层。

不绑定模型供应商

浏览器运行时支持 OpenAI、Anthropic 与 OpenRouter 三类入口,按成本与效果更换即可;桌面端要求 Responses API 兼容的模型接口,可通过接口地址配置其他兼容服务,两者的接入方式并不完全一致。框架本身不训练模型,价值在把终端、浏览器、日志这圈闭环搭好。

成绩来自工程改进而非换模型

官方 News 记录 2026 年 9 月 1 日的更新:加入逐步浏览的持久化与原生 run_command 工具调用后,配合 GPT-5.4 在 Online-Mind2Web 达到 88.1%、Odysseys 达到 77.5%。这是特定模型结合框架后的基准成绩,不是框架脱离模型独立实现的准确率。同一思路的终端型工具可对照站内 cmux。

Webwright 与同类网页自动化方案的对比

下表从形态、动作空间、模型依赖与部署方式等维度,把三款网页自动化产品放在一起对照。

对比维度WebwrightPage AgentCommand Code
形态开源框架,需自己跑JavaScript 网页内嵌智能体,支持扩展多页面操作终端编码智能体及桌面应用
出品方微软研究院阿里Command Code 团队
动作空间写 Playwright 脚本并执行命令页面内操作终端命令与代码编辑
模型依赖可换 OpenAI、Anthropic、OpenRouter接入方自选自带模型策略
部署方式pip 安装后命令行运行嵌入自有网页本机安装后使用
桌面任务支持,走 Ubuntu 虚拟机不涉及不以通用桌面 GUI 自动化为主要定位
典型用途采集、回归测试、批量后台操作网页内嵌助手日常编码与脚本任务
  • 表格内数据来源:Webwright 取仓库 README 的 News 记录与项目页;Page Agent 取阿里官方发布说明,Command Code 取产品官方站点与仓库;未公开的项标注「以官方说明为准」,不作推测。
  • 产品对比简述:Webwright 在动作空间上选择写脚本而非点页面,因此模型依赖更强但脚本可复用;Page Agent 的部署方式是嵌进自有网页;Command Code 的典型用途日常编码而非网页批量任务。三者在桌面任务一栏差异最大。

如果更想要一个开箱即用的浏览器产品而不是自己搭框架,站内的 Ego Lite 是另一种取舍。

Webwright 的应用场景与适用人群

适合「流程固定但要反复跑、且页面经常改」的任务;一次性、页面简单的操作,用现成的浏览器插件更快:

  • 数据采集:让模型自己写抓取脚本;页面结构变化导致执行失败时,可根据新的页面状态与报错尝试调整代码,但不保证所有改版场景都能自动修复。
  • 回归测试:把关键路径写成脚本反复跑,失败时读日志定位是哪一步断了。
  • 重复后台操作:批量填表、批量下载,用脚本固化下来避免每次重新点。
  • 桌面任务:在 Ubuntu 虚拟机里跑需要图形界面的操作,与浏览器任务共用一套入口。

适用人群:适合有 Python 环境、愿意自己调框架的工程与测试团队,也适合需要把浏览器自动化长期维护下去的团队;不想碰命令行、只偶尔跑一次网页操作的用户,装个现成插件更省事。桌面端的智能体管理工具可对照站内 EchoBird。

Webwright 的使用方法

三条路径:当命令行工具用、当插件挂到现有编程助手上、或者当 Python SDK 嵌进自己的系统。

命令行:装完直接跑任务

  1. 按 仓库 README 的说明准备环境,用 pip 安装。
  2. 浏览器任务用 cuawright web,桌面任务用 cuawright desktop;旧命令 webwright 仍然可用。
  3. 第一次先用一个简单任务验证浏览器能被拉起,再换真实目标页面。

插件模式:挂到已有编程助手上

  1. 在 Claude Code、Codex 等助手里按 README 的插件章节安装对应技能。
  2. 把任务描述成「打开某页面并完成某操作」,让助手自己写脚本执行。
  3. 遇到反复失败的任务,把日志留档,作为后续改提示或加约束的依据。

SDK 调用:Python 里嵌进自有系统

  1. import cuawright.webwright,按文档初始化配置并指定模型后端与密钥。
  2. 把业务步骤拆成可重试的单元,每步执行后校验结果再进入下一步。
  3. 对涉及提交、支付的动作加人工确认,不要让它无人值守地跑不可逆流程。

三点要留意:桌面任务需通过 Docker 配置 OSWorld-V2 Ubuntu 虚拟机并准备任务与资源快照,还要求 Python 3.12+ 与受限资源访问权限,不是装上浏览器依赖就默认可用;模型后端要自备密钥,成本随任务步数上涨;页面改版后脚本可能静默失效,建议给关键步骤加断言而不是只看有没有跑完。

Webwright 的项目地址

  • 项目页:https://microsoft.github.io/CUAWright/
  • GitHub 仓库:https://github.com/microsoft/webwright

Webwright 的价格方案

框架以 MIT 开源的是浏览器运行时,桌面运行时采用 Apache-2.0;软件本身不收费,真正的支出在两处:模型调用与运行环境。

模型侧按所选后端计费,换后端就换账单。任务越长、步骤越多,token 消耗越高;官方 News 里的成绩提升有一部分正来自减少无效步骤,这直接影响费用。

环境侧的支出常被忽略:桌面任务要一台能跑 Ubuntu 虚拟机的机器,浏览器任务也要能常驻的实例。若只是偶尔使用,本地跑最省;长期定时采集则要按实例成本估算。同类终端型工具的报价口径可按同样方式折算。

Webwright 的常见问题

Webwright 和 CUAWright 是同一个东西吗

是。官方在 2026 年 10 月 3 日把项目更名为 CUAWright,浏览器任务走 cuawright web、桌面任务走 cuawright desktop,原有 webwright 命令与 Python 导入保持兼容。

和直接用 Playwright 有什么区别

Playwright 要人写脚本;这套框架让模型自己写、自己跑、自己看报错改。差别在维护成本:页面结构变化导致脚本失败时,模型可依据新的页面状态与报错尝试调整代码,但不保证所有改版都能自动修复。

必须用哪家的模型

不必须。浏览器运行时支持 OpenAI、Anthropic 与 OpenRouter 三类入口,可按成本与效果更换;桌面端需 Responses API 兼容的模型接口,并支持通过接口地址配置其他兼容服务。

桌面任务怎么跑

走 cuawright desktop,在 OSWorld-V2 Ubuntu 虚拟机里执行。需 Python 3.12+、Docker 与相应的任务及资源快照,不是安装后默认就有。

生成的脚本能复用吗

可以。模型执行时产出的就是 Playwright 脚本,可保存下来当作固定流程反复运行,这也是它相比逐像素点击方案的主要优势。

© 版权声明

相关文章