Cloudflare将浏览器渲染重命名为Browser Run以支持AI代理
Cloudflare AI··作者 Kathy Liao
关键信息
Browser Run现在支持最多120个并发浏览器(从30个提升),直接暴露CDP协议实现底层浏览器控制,并提供会话录制功能用于调试,是AI驱动网页任务的强大基础设施层。
资讯摘要
Cloudflare重新发布其浏览器自动化平台为Browser Run,专为需要可靠浏览网页的AI代理设计。它提供按需的无头Chrome实例,运行在Cloudflare全球网络上,支持多种控制方式,包括Puppeteer、Playwright以及新的Chrome开发者工具协议(CDP)访问。通过实时视图和会话录制功能,实现了更好的可观测性。
人工介入功能允许人类在代理遇到登录页面或意外错误时接管。新支持的MCP客户端和WebMCP使网页交互更结构化且可发现。更高的并发限制和改进的工具链,让Browser Run成为可扩展AI代理工作流的基础浏览器环境。

资讯正文
AI代理需要与网络互动。要做到这一点,它们需要一个浏览器——能够浏览网站、阅读页面、填写表单、提取数据并截取屏幕截图。它们还需要观察任务是否按预期运行,并在必要时让人类介入。同时,这一切都必须具备可扩展性。
今天,我们将‘浏览器渲染’更名为‘浏览器运行’(Browser Run),并推出关键功能,使其成为AI代理的首选浏览器。原名‘浏览器渲染’未能准确体现产品的实际用途。‘浏览器运行’让你能在Cloudflare全球网络上运行完整的浏览器会话,通过代码或AI驱动这些会话,录制和回放操作,爬取网页内容,实时调试,并在代理需要帮助时允许人类介入。
以下是新功能亮点:
实时视图(Live View):实时查看代理看到的内容及其正在进行的操作,立即知道任务是否正常运行;一旦出现问题,也能清楚了解具体原因。
人类在环路(Human in the Loop):当代理遇到登录页面或意外情况等障碍时,可以交由人类处理而非直接失败。人类介入解决后,再将控制权交还给代理。
Chrome DevTools协议(CDP)端点:Chrome DevTools协议是代理控制浏览器的标准方式。现在‘浏览器运行’直接暴露该协议,使代理获得最大浏览器控制权,且原有基于CDP的脚本可在Cloudflare上无缝运行。
MCP客户端支持:像Claude Desktop、Cursor和OpenCode这样的AI编码代理现在可以使用‘浏览器运行’作为远程浏览器。
WebMCP支持:未来使用网络的代理将远超人类。WebMCP允许网站声明可供代理发现和调用的操作,从而提升导航的可靠性。
会话录制:捕获每个浏览器会话用于调试。当出现异常时,你可以获得包含DOM变化、用户交互和页面跳转的完整记录。
更高限制:并发浏览器数量从30提升至120,可同时执行更多任务。
例如,一个AI代理正在亚马逊搜索橙色熔岩灯,比较不同选项,在需要登录才能完成购买时主动移交给人类处理。
一切所需尽在其中
让我们思考代理浏览网页时的需求,以及每个功能如何满足这些需求:
代理所需能力
浏览器运行(原名:浏览器渲染)
1)按需提供浏览器
在Cloudflare全球网络上运行无头Chrome实例
2)控制浏览器的方式
通过Puppeteer、Playwright、CDP(新增)、MCP客户端支持(新增)和WebMCP(新增)执行导航、点击、填写表单、截图等操作
3)可观测性
实时视图(新增)、会话录制(新增)及仪表板改版(新增)
4)人类干预机制
人类在环路(新增)
5)可扩展性
每秒10次快速操作请求,最多120个并发浏览器(比之前提升4倍)
1)打开浏览器
首先,代理需要一个浏览器。借助‘浏览器运行’,代理可以在Cloudflare全球网络上按需启动无头Chrome实例,无需管理基础设施,也无需维护Chrome版本。浏览器会话会在靠近用户的区域打开以降低延迟,并根据需求自动扩缩容。结合‘代理SDK’构建长期运行的代理,使其能自主浏览网页、记住所有信息并独立行动。
2)采取行动
一旦你的代理拥有浏览器,它就需要控制浏览器的方法。Browser Run 支持多种方式:通过 Chrome DevTools Protocol(CDP)和 WebMCP 提供的新低级协议访问,以及现有的高级自动化工具 Puppeteer 和 Playwright,还有适用于简单任务的 Quick Actions。下面我们来详细看看。
Chrome DevTools Protocol(CDP)端点
Chrome DevTools Protocol(CDP)是一种用于浏览器自动化的底层协议。直接暴露 CDP 意味着正在成长的代理工具生态系统和现有的 CDP 自动化脚本都可以使用 Browser Run。当你打开 Chrome 开发者工具并检查页面时,实际上运行的就是 CDP。Puppeteer、Playwright 和大多数代理框架都是建立在 CDP 之上的。
你之前使用 Browser Run 的所有方式其实都已经通过了 CDP。真正的新变化是我们现在将 CDP 直接作为端点暴露出来。这对代理来说意义重大,因为 CDP 能够提供对浏览器最精细的控制。代理框架已经原生支持 CDP,现在可以直接连接到 Browser Run。CDP 还能解锁 Puppeteer 或 Playwright 不支持的浏览器操作,比如 JavaScript 调试功能。而且因为你是在直接处理原始的 CDP 消息,而不是通过更高层的库,你可以将消息直接传递给模型,从而实现更高效的 token 利用率,提升浏览器控制效率。
如果你已经有针对自托管 Chrome 的 CDP 自动化脚本,只需一行配置更改即可在 Browser Run 上运行。只需将 WebSocket URL 指向 Browser Run,并停止自行管理浏览器基础设施。
// 以前:连接到自托管 Chrome
const browser = await puppeteer.connect({
browserWSEndpoint: 'ws://localhost:9222/devtools/browser'
});
// 现在:连接到 Browser Run
const browser = await puppeteer.connect({
browserWSEndpoint: 'wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-rendering/devtools/browser',
headers: { 'Authorization': 'Bearer <API_TOKEN>' }
});
CDP 端点也让 Browser Run 更易于接入。你现在可以从任意语言、任意环境中连接,无需编写 Cloudflare Worker。(如果你已经在使用 Workers,则无需做任何改动。)
使用 MCP 客户端与 Browser Run 配合
现在 Browser Run 已经暴露了 Chrome DevTools Protocol(CDP),MCP 客户端如 Claude Desktop、Cursor、Codex 和 OpenCode 可以将 Browser Run 作为远程浏览器使用。Chrome DevTools 团队提供的 chrome-devtools-mcp 包是一个 MCP 服务器,可以让你的 AI 编程助手获得 Chrome DevTools 的全部能力,实现可靠的自动化、深入的调试和性能分析。
以下是如何为 Claude Desktop 配置 Browser Run 的示例:
{
"mcpServers": {
"browser-rendering": {
"command": "npx",
"args": [
"-y",
"chrome-devtools-mcp@latest",
"--wsEndpoint=wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-rendering/devtools/browser?keep_alive=600000",
"--wsHeaders={\"Authorization\":\"Bearer <API_TOKEN>\"}"
}
}
}
对于其他 MCP 客户端,请参阅使用 Browser Run 与 MCP 客户端的文档。
WebMCP 支持
浏览器运行:让您的代理使用浏览器
互联网是为人类设计的,因此当前AI代理在其中导航并不可靠。我们相信未来会有更多代理使用网络,而不是人类。在这个世界里,网站需要对代理友好。
这就是我们推出支持
WebMCP
的原因,这是谷歌Chrome团队推出的一项新浏览器API,已在Chromium 146+版本中落地。WebMCP允许网站直接向AI代理暴露工具,声明每个页面上可供代理发现和调用的操作。这有助于代理更可靠地浏览网页。代理不再需要自行判断如何使用网站,而是由网站明确说明可用工具供代理调用。
实现这一功能依赖两个API:
navigator.modelContext
允许网站注册其工具
navigator.modelContextTesting
允许代理发现并执行这些工具
如今,一个代理访问旅游预订网站时,必须通过观察界面来理解如何操作。而有了WebMCP,网站可以声明:“这里有一个search_flights工具,接受出发地、目的地和日期参数。”代理可以直接调用该工具,无需再经历缓慢的截图分析点击循环。这使得无论界面如何变化,导航都更加可靠。
工具是在页面上动态发现的,而非预先加载。这对长尾网页尤为重要——因为为每个可能的网站预加载MCP服务器既不现实,也会显著增加上下文窗口的负担。
使用WebMCP通过Chrome开发者工具控制台预订酒店,并用listTools()发现可用工具
我们目前提供了一个实验性池,其中运行着Chrome Beta浏览器实例,您可以在稳定版Chrome发布前测试新兴浏览器功能。我们还刚刚发布了
Wrangler浏览器命令
,让您能直接从命令行管理浏览器会话,包括创建、管理和查看浏览器会话。要
访问启用了WebMCP的浏览器
,可使用以下Wrangler命令在实验池中创建一个会话:
npm i -g wrangler@latest
wrangler browser create --lab --keepAlive 300
现有使用Browser Run的方式
虽然CDP和WebMCP是新的,但您早已可以通过
Puppeteer
Playwright
或
Stagehand
实现完整的浏览器自动化。对于像
截取屏幕截图
生成PDF
提取Markdown
等简单任务,还有
快速操作端点
/crawl端点 —— 爬取网页内容
我们最近还推出了
/crawl端点
,只需一次API调用即可爬取整个网站。只需提供起始URL,系统将自动发现并抓取页面,以您偏好的格式(HTML、Markdown或结构化JSON)返回结果,并可通过附加参数控制爬取深度与范围、跳过未更改的页面,以及指定包含或排除特定路径。
我们有意将/crawl设计为一个
行为良好的爬虫
。这意味着它默认尊重站点所有者的偏好,是一个带有唯一机器人ID的
签名代理
,该ID使用
Web Bot Auth
进行加密签名,采用不可自定义的
User-Agent
,同时遵守robots.txt和
AI爬取控制
规则。
它不会绕过Cloudflare的机器人防护机制或CAPTCHA。网站所有者可以选择其内容是否可访问,而/crawl会尊重这一设置。
# 启动爬取
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/{account_id}/browser-rendering/crawl' \
-H 'Authorization: Bearer <apiToken>' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://blog.cloudflare.com/"
}'
3)观察
事情并不总是一次就顺利。我们不断收到客户反馈,他们的自动化任务失败时根本不知道原因。为此,我们增加了多种方式来观察运行状态,让你能实时看到代理所见的内容,无论是在执行过程中还是事后回放。
实时视图
实时视图让你能够实时观看代理的浏览器会话。无论是调试代理还是运行长时间的自动化脚本,你都能即时看到正在发生的一切——包括页面本身、DOM结构、控制台输出和网络请求。一旦出现问题(比如预期按钮未出现、页面需要认证或出现CAPTCHA),你可以立即察觉。
两种方式可以访问实时视图:从代码中获取你想要检查的浏览器的session_id,并在Chrome中打开响应中的devtoolsFrontendURL;或者从Cloudflare仪表板进入Browser Run模块的新“实时会话”标签页,点击任意活跃会话即可。
AI代理预订酒店的实时视图,展示浏览器活动的实时画面
会话录制
实时视图适合你在场时使用,但你不可能全程监控每个会话。
会话录制功能将DOM变化、鼠标和键盘事件以及页面导航以结构化JSON格式记录下来,这样你可以在会话结束后随时回放。
通过在启动浏览器时传入recording:true启用会话录制。会话结束后,你可以在Cloudflare仪表板的Runs标签页中查看录制内容,也可以通过API获取录制文件,并用rrweb-player进行回放。接下来我们将支持在录制过程中的任意时刻查看DOM状态和控制台输出。
浏览器自动化浏览Sentry商店并将一件轰炸夹克加入购物车的会话回放
仪表板重构
此前,Browser Run仪表板仅显示浏览器会话的日志。截图、PDF、Markdown和爬取请求均不可见。新版仪表板改变了这一点。新的Runs标签页展示了所有请求,你可以按端点过滤,并查看目标URL、状态和持续时间等详细信息。
Browser Run仪表板的Runs标签页,展示浏览器会话及快速操作(如PDF、截图、爬取)于同一界面,其中爬取任务展开后显示进度
4)干预
代理虽然强大,但并非完美。有时它们需要人类介入。Browser Run支持“人在环路”工作流,即人类可以接管一个正在进行的浏览器会话,处理自动化无法完成的任务,之后再让会话继续运行。
人在环路
你可以在浏览器中直接与页面交互,点击、输入、导航、填写凭据或提交表单,从而解锁代理无法处理的工作流程。
今天,你可以通过打开任何活跃会话的实时查看URL来介入。接下来,我们将添加一个交接流程,让代理在需要帮助时发出信号,通知人类介入,然后在问题解决后将控制权交还给代理。
一个AI代理在亚马逊上搜索橙色熔岩灯,比较选项,并在需要登录才能完成购买时转交给人类处理。
5)扩展能力
客户要求我们提高限制,以便他们能更快地执行更多操作。
更高的限制
我们将默认并发浏览器限制从30提升到了120,提升了四倍。
每个会话都能让你立即访问全球范围内可用的预热实例池中的浏览器,无需等待冷启动。
今年三月,我们也把快速操作的限制提高到每秒10次请求。
如果你需要更高限制,可以随时申请。
下一步计划
人机协作交接:现在你可以通过实时查看介入浏览器会话。很快,代理将能发出需要帮助的信号,这样你就可以设置通知提醒人类介入。
会话录制检查:你已经可以回放任意会话的时间线。不久之后,你还能检查DOM状态和控制台输出。
追踪记录与浏览器日志:无需修改代码即可获取调试信息,包括控制台日志、网络请求和时间数据。如果出现问题,你会知道具体位置。
Worker直接生成截图、PDF和Markdown:通过REST API实现的简单任务即将支持Workers绑定功能。例如,使用env.BROWSER.screenshot()即可直接生成截图,无需API令牌。
开始使用
Browser Run现在可在Workers免费版和付费版上使用。今天我们推出的所有功能——实时查看、人机协作、会话录制和更高的并发限制——均已准备就绪,可立即使用。
如果你之前已经在使用浏览器渲染功能,一切保持不变,只是名称更新,并增加了更多新特性。
查看文档以开始使用。
来源与参考
收录于 2026-04-16