Компания Cloudflare объявила об открытии исходного кода web-браузера Kitesurf, предназначенного для использования AI-агентами и ботами. Kitesurf поддерживает разбор HTML, применение CSS-стилей, запуск JavaScript и генерацию скриншотов, но при этом лишён усложнений и излишеств, созданных для людей и бесполезных для ботов. Избавление от таких возможностей, как идеальная отрисовка и поддержка расширений, позволили заметно снизить нагрузку на CPU и потребление памяти. Код написан на языках Rust и TypeScript и распространяется под лицензией Apache 2.0.
Вместо тяжеловесных браузерных движков в Kitesurf задействованы открытые библиотеки на языке Rust: Blitz для разбора HTML, работы с DOM, компоновки и отрисовки страницы; Stylo (используется в Firefox) для обработки CSS; Boa для выполнения JavaScript и поддержки WebAssembly; Linebender для работы с текстом и 2D-графикой; Krilla для генерации вывода в формате PDF.
По сравнению с использованием движка Chromium при выполнении операций создания скриншотов в Kitesurf отмечено снижение нагрузки на CPU в 3.1 раза и снижение потребления памяти в 4.7 раза, а при разборе HTML — в 3.8 и 7 раз соответственно. При этом общее время выполнения тестов оказалось в 1.7 и 1.8 раз медленнее из-за холодного старта, растеризации и кодирования в JPEG/PNG.
Kitesurf успешно проходит более 215 тысяч тестов из набора WPT (Web Platform Tests), корректно отрисовывает страницы типовых сайтов, таких как Wikipedia, поддерживает разные web-фреймворки (React, Vue, Angular, Preact) и способен выполнить игру Doom, скомпилированную в WebAssembly.
Из ограничений, отмечается отсутствие поддержи воспроизведения видео, WebGL, сложных скриптов для проверки капчи и длительных аутентифицированных сеансов, требующих сохранения состояния.
Браузер состоит из трёх компонентов:
- Движок для управления сеансами, обработки клиентских соединений и поддержки протокола CDP (Chrome DevTools Protocol);
- PageScript для изолированной обработки web-страницы и выполнения JavaScript;
- PageRenderer для отрисовки страниц, генерации скриншотов и экспорта в PDF.
Компоненты изолированы друг от друга и имеют доступ только к необходимым ресурсам. Работа осуществляется в режиме Stateless без сохранения состояния.

Kitesurf рассчитан на запуск с использованием платформы Cloudflare Workers (доступен открытый runtime workerd) с компиляцией в WebAssembly, но может применяться не только в инфраструктуре Cloudflare, но и на локальных системах с Node.js. Для управления и автоматизации взаимодействия с Kitesurf предлагается использовать Web API через WebSocket, интерфейс командной строки и протокол CDP, совместимый с библиотекой Puppeteer.
НОВОСТИ В КЫРГЫЗСТАНЕ