ИИ-агентам необходимо взаимодействовать с интернетом. Для этого им нужен браузер. Им нужно переходить по сайтам, читать страницы, заполнять формы, извлекать данные и делать скриншоты. Им нужно отслеживать, всё ли работает как ожидалось, и иметь возможность для вмешательства человека, если это потребуется. И всё это необходимо делать в больших масштабах.
Сегодня мы переименовываем Browser Rendering в Browser Run и представляем ключевые функции, которые делают его тем самым браузером для ИИ-агентов. Название Browser Rendering никогда полностью не отражало суть продукта. Browser Run позволяет запускать полноценные браузерные сессии в глобальной сети Cloudflare, управлять ими с помощью кода или ИИ, записывать и воспроизводить сессии, сканировать страницы для получения контента, отлаживать в реальном времени и позволяет людям вмешиваться, когда вашему агенту нужна помощь.
Вот что нового:
-
Live View (Прямая трансляция): видите то, что видит и делает ваш агент, в реальном времени. Мгновенно узнавайте, всё ли работает, а если нет — точно увидите причину.
-
Human in the Loop (Человек в цепи): когда ваш агент сталкивается с препятствием, например, страницей входа или неожиданным краевым случаем, он может передать управление человеку вместо того, чтобы завершиться с ошибкой. Человек вмешивается, решает проблему и возвращает управление.
-
Chrome DevTools Protocol (CDP) Endpoint (Конечная точка протокола Chrome DevTools): протокол Chrome DevTools (CDP) — это то, как агенты управляют браузерами. Browser Run теперь предоставляет его напрямую, поэтому агенты получают максимальный контроль над браузером, а существующие CDP-скрипты работают на Cloudflare.
-
MCP Client Support (Поддержка MCP-клиентов): ИИ-агенты для написания кода, такие как Claude Desktop, Cursor и OpenCode, теперь могут использовать Browser Run в качестве удалённого браузера.
-
WebMCP Support (Поддержка WebMCP): агентов, использующих интернет, станет больше, чем людей. WebMCP позволяет веб-сайтам объявлять, какие действия доступны для обнаружения и вызова агентами, делая навигацию более надёжной.
-
Session Recordings (Запись сессий): записывайте каждую браузерную сессию для целей отладки. Когда что-то идёт не так, у вас есть полная запись с изменениями DOM, действиями пользователя и навигацией по страницам.
-
Higher limits (Увеличенные лимиты): выполняйте больше задач одновременно — 120 параллельных браузеров вместо 30.
ИИ-агент ищет на Amazon оранжевую лавовую лампу, сравнивает варианты и передаёт управление человеку, когда для завершения покупки требуется войти в систему
Всё, что нужно агенту
Давайте подумаем, что нужно агентам при просмотре веб-страниц, и как каждая функция вписывается в эту картину:
| Что нужно агенту | Browser Run (ранее Browser Rendering) |
|---|---|
| 1) Браузеры по запросу | Браузер Chrome в глобальной сети Cloudflare |
| 2) Способ управления браузером | Выполняйте действия, такие как навигация, клики, заполнение форм, скриншоты и многое другое, с помощью Puppeteer, Playwright, CDP (новое), Поддержка MCP-клиентов (новое) и WebMCP (новое) |
| 3) Наблюдаемость | Live View (новое), Запись сессий (новое) и Редизайн панели управления (новое) |
| 4) Вмешательство человека | Human in the Loop (новое) |
| 5) Масштабирование | 10 запросов в секунду для Quick Actions, 120 параллельных браузеров (увеличение в 4 раза) |
1) Открыть браузер
Во-первых, агенту нужен браузер. С Browser Run агенты могут запускать headless-экземпляр Chrome в глобальной сети Cloudflare по запросу. Никакой инфраструктуры для управления, никаких версий Chrome для поддержки. Сеансы браузера открываются рядом с пользователями для низкой задержки и масштабируются по мере необходимости. Объедините Browser Run с Agents 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 DevTools и исследуете страницу, под капотом работает именно CDP. Puppeteer, Playwright и большинство фреймворков для агентов построены поверх него.
Каждый способ, которым вы использовали Browser Run, фактически уже работал через CDP. Новое в том, что мы теперь предоставляем CDP напрямую как конечную точку. Это важно для агентов, потому что CDP даёт агентам максимально возможный контроль над браузером. Фреймворки для агентов уже изначально "понимают" CDP и теперь могут подключаться к Browser Run напрямую. CDP также открывает доступ к действиям в браузере, которые недоступны через Puppeteer или Playwright, например, отладку JavaScript. И поскольку вы работаете с сырыми сообщениями CDP вместо использования высокоуровневых библиотек, вы можете передавать сообщения напрямую моделям для более эффективного с точки зрения токенов управления браузером.
Если у вас уже есть скрипты автоматизации CDP, работающие с самостоятельно размещённым Chrome, они будут работать на 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, ничего не меняется.)
Использование Browser Run с MCP-клиентами
Теперь, когда Browser Run предоставляет доступ к Chrome DevTools Protocol (CDP), MCP-клиенты, включая Claude Desktop, Cursor, Codex и OpenCode, могут использовать Browser Run в качестве удалённого браузера. Пакет chrome-devtools-mcp от команды Chrome DevTools — это MCP-сервер, который даёт вашему ИИ-ассистенту для написания кода доступ к полной мощности Chrome DevTools для надёжной автоматизации, глубокой отладки и анализа производительности.
Вот пример настройки Browser Run для Claude Desktop:
{
"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
Интернет был создан для людей, поэтому навигация в качестве ИИ-агента сегодня ненадёжна. Мы делаем ставку на будущее, в котором вебом будет пользоваться больше агентов, чем людей. В таком мире сайты должны быть дружелюбными к агентам.
Вот почему мы запускаем поддержку WebMCP, нового API браузера от команды Google Chrome, появившегося в Chromium 146+. WebMCP позволяет веб-сайтам напрямую предоставлять инструменты ИИ-агентам, объявляя, какие действия доступны для обнаружения и вызова агентами на каждой странице. Это помогает агентам более надёжно перемещаться по интернету. Вместо того чтобы агентам нужно было выяснять, как использовать сайт, сайты могут предоставлять свои инструменты для обнаружения и вызова агентами.
Два API обеспечивают эту работу:
-
navigator.modelContextпозволяет веб-сайтам регистрировать свои инструменты -
navigator.modelContextTestingпозволяет агентам обнаруживать и выполнять эти инструменты
Today, an agent visiting a travel booking site has to figure out the UI by looking at it. With WebMCP, the site declares “here’s a search_flights tool that takes an origin, destination, and date.” The agent calls it directly, without having to loop through slow screenshot-analyze-click loops. This makes navigation more reliable regardless of potential changes to the UI.
Tools are discovered on the page rather than preloaded. This matters for the long tail of the web, where preloading an MCP server for every possible site is not feasible and would bloat the context window.
Using WebMCP to book a hotel through the Chrome DevTools console, discovering available tools with listTools()
We have an experimental pool with browser instances running Chrome beta so you can test emerging browser features before they reach stable Chrome. We also just shipped Wrangler browser commands that let you manage browser sessions directly from the CLI, letting you create, manage, and view browser sessions directly from your terminal. To access WebMCP-enabled browsers, use the following Wrangler command to create a session in the experimental pool:
npm i -g wrangler@latest
wrangler browser create --lab --keepAlive 300
Existing ways to use Browser Run
While CDP and WebMCP are new, you could already use Puppeteer, Playwright, or Stagehand for full browser automation through Browser Run. And for simple tasks like capturing screenshots, generating PDFs, and extracting markdown, there are the Quick Action endpoints.
/crawl endpoint — crawl web content
We also recently shipped a /crawl endpoint that lets you crawl entire sites with a single API call. Give it a starting URL and pages are automatically discovered and scraped, then returned in your preferred format (HTML, Markdown, and structured JSON), with additional parameters to control crawl depth and scope, skip pages that haven’t changed, and specify certain paths to include or exclude.
We intentionally built /crawl to be a well-behaved crawler. That means it respects site owner’s preferences out of the box, is a signed agent with a distinct bot ID that is cryptographically signed using Web Bot Auth, a non-customizable User-Agent, and follows robots.txt and AI Crawl Control. It does not bypass Cloudflare’s bot protections or CAPTCHAs. Site owners choose whether their content is accessible and /crawl respects it.
# Initiate a 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) Observe
Things don’t always go right the first try. We kept hearing from customers that when their automations failed, they had no idea why. That’s why we’ve added multiple ways to observe what’s happening, so you can see exactly what your agent sees, both live and after the fact.
Live View
Live View lets you watch your agent’s browser session in real time. Whether you’re debugging an agent or running a long automation script, you see exactly what’s happening as it happens. This includes the page itself, as well as the DOM, console, and network requests. When something goes wrong — the expected button isn't there, the page needs authentication, or a CAPTCHA appears — you can catch it immediately.
There are two ways to access Live View. From code, obtain the session_id of the browser you want to inspect and open the devtoolsFrontendURL from the response in Chrome. Or from the Cloudflare dashboard, open the new Live Sessions tab in the Browser Run section and click into any active session.
Live View of an AI agent booking a hotel, showing real-time browser activity
Session Recordings
Live View is great when you’re available, but you can’t watch every session. Session Recordings captures DOM changes, mouse and keyboard events, and page navigation as structured JSON so you can replay any session after it ends.
Enable Session Recordings by passing recording:true when launching a browser. After the session closes, you can access the recording in the Cloudflare dashboard from the Runs tab or retrieve recordings via API and replay them with the rrweb-player. Next, we’re adding the ability to inspect DOM state and console output at any point during the recording.
Session recording replay of a browser automation browsing the Sentry Shop and adding a bomber jacket to the cart
Dashboard Redesign
Previously, the Browser Run dashboard only showed logs from browser sessions. Requests for screenshots, PDFs, markdown, and crawls were not visible. The redesigned dashboard changes that. The new Runs tab shows every request. You can filter by endpoint and view details including target URLs, status, and duration.
The Browser Run dashboard Runs tab showing browser sessions and quick actions like PDF, Screenshot, and Crawl in a single view, with a crawl job expanded to show its progress
4) Intervene
Agents are good, but they’re not perfect. Sometimes they need their human to step in. Browser Run supports Human in the Loop workflows where a human can take control of a live browser session, handle what the automation cannot, then let the session continue.
Human in the Loop
When automation hits a wall, you don't have to restart. With Human in the Loop, you can step in and interact with the page directly to click, type, navigate, enter credentials, or submit forms. This unlocks workflows that agents cannot handle.
Today, you can step in by opening the Live View URL for any active session. Next, we’re adding a handoff flow where the agent can signal that it needs help, notify a human to step in, then hand control back to the agent once the issue is resolved.
An AI agent searching Amazon for an orange lava lamp, comparing options, and handing off to a human when sign-in is required to complete the purchase
5) Scale
Customers have asked us to raise limits so that they can do more, faster.
Higher limits
We've quadrupled the default concurrent browser limit from 30 to 120. Every session gives you instant access to a browser from a global pool of warm instances, so there's no cold start waiting for a browser to spin up. In March, we also increased limits for Quick Actions to 10 requests per second. If you need higher limits, they're available by request.
What's next
-
Человеческое вмешательство при передаче управления: сегодня вы можете вмешиваться в сеанс браузера через Live View. Вскоре агент сможет сигнализировать, когда ему нужна помощь, чтобы вы могли настроить уведомления, предупреждающие человека о необходимости вмешаться.
-
Просмотр записи сеансов: вы уже можете перемещаться по временной шкале и воспроизводить любой сеанс. Вскоре вы также сможете проверять состояние DOM и вывод консоли.
-
Трассировки и журналы браузера: получайте отладочную информацию без инструментирования вашего кода. Логи консоли, сетевые запросы, данные о времени. Если что-то сломалось, вы узнаете где.
-
Снимки экрана, PDF и markdown напрямую из Workers: те же простые задачи, доступные через REST API, появятся в Workers Bindings.
env.BROWSER.screenshot()просто работает, без необходимости в API-токенах.
Начать работу
Browser Run доступен сегодня как в бесплатном, так и в платном тарифах Workers. Всё, что мы выпустили сегодня — Live View, человеческое вмешательство, записи сеансов и повышенные лимиты параллелизма — готово к использованию.
Если вы уже использовали Browser Rendering, всё работает так же, только под новым именем и с большим количеством функций.
Ознакомьтесь с документацией, чтобы начать работу.