Cloudflare сделала свой браузер для разработчиков: как Kitesurf снижает нагрузку на память в 7 раз и ускоряет авто-тесты

Cloudflare создал Kitesurf — специальный легкий браузер, в котором нет Chromium. Он создан с нуля исключительно для работы программ и искусственного интеллекта.

Cloudflare сделала свой браузер для разработчиков: как Kitesurf снижает нагрузку на память в 7 раз и ускоряет авто-тесты

Источник — Cloudflare.

🛠 Отказ от Chrome и разделение на мелкие блоки

Разработчики написали браузер на языке Rust. Вместо одного тяжелого процесса Kitesurf делит работу между четырьмя:

  1. Engine: Единственная публичная точка входа. Отвечает за хранение сессий и реализует стандартный протокол Chrome DevTools Protoco через WebSocket и REST.
  2. PageScript: Каждая страница открывается в отдельном контейнере. Внутри него создаётся всё, что нужно для работы страницы: глобальные переменные и структура документа (DOM). HTML и CSS разбирают специальные быстрые компоненты на Rust, а JavaScript выполняется в том же контейнере. Для опасных операций вроде eval подключается дополнительный лёгкий движок Boa JS.
  3. PageRenderer: Этот компонент не хранит состояние. Он загружает шрифты и картинки из Static Assets, а затем превращает сцену в JPEG, PNG или PDF, используя blitz-paint для отрисовки и Parley для работы с текстом.
  4. SandboxOutbound: Единственный модуль всей архитектуры, имеющий прямой доступ во внешнюю сеть. Он обрабатывает CORS, инжектирует браузерные заголовки и изолирует cookie-jar. Все остальные блоки физически изолированы от интернета.

📊 В 7 раз меньше памяти, но чуть дольше рендеринг

Цель создания Kitesurf — перестать забивать серверы и компьютеры лишней работой при обработке тысяч сайтов одновременно.

  • Оперативная память: Чтобы просто прочитать и извлечь текст с веб-страницы, Kitesurf тратит всего 39 МБ памяти, тогда как Chrome съедает 273 МБ. На создание скриншота уходит 58 МБ против 271 МБ.
  • Нагрузка на процессор: Процессор компьютера напрягается в 3.8 раза меньше, делая работу программ практически незаметной.
  • Главный компромисс: Kitesurf тратит чуть больше времени на отрисовку финальной картинки 1.1 секунды против 0.6 секунды у Chrome. Это сознательная жертва за легкость: браузер не держит в памяти разогретые графические движки, а формирует изображение с нуля только по запросу.

Защита от хитростей

Когда ИИ заходит на сайт, он может попытаться заставить выполнить вредоносную команду или слить данные. Kitesurf решает эту проблему — как только страница обработана, весь виртуальный отсек полностью уничтожается вместе со всеми следами.

Cloudflare сделала свой браузер для разработчиков: как Kitesurf снижает нагрузку на память в 7 раз и ускоряет авто-тесты

⚡ Совместимость с программами и открытый код

Kitesurf полностью понимает стандартные команды, которыми программисты управляют браузерами через популярные библиотеки: Playwright и Puppeteer. Чтобы перевести своих агентов на новый легкий движок, достаточно просто поменять название браузера в одной строчке настройки.

Kitesurf успешно проходит 96–99% всех международных тестов на правильность отображения сайтов. Проект был написан командой Cloudflare всего за 12 недель — при этом часть кода помогал генерировать сам искусственный интеллект. Сейчас браузер доступен в бесплатном тестовом режиме, а в будущем разработчики обещают выложить его исходный код в открытый доступ, чтобы любой желающий мог установить его на свой личный сервер.

Cloudflare сделала свой браузер для разработчиков: как Kitesurf снижает нагрузку на память в 7 раз и ускоряет авто-тесты
1