В августе мы представили Kitesurf, наш бессерверный браузер для ИИ-агентов, который работает полностью на базе Workers, а в сентябре добавили поддержку WebMCP, новые API и улучшенную совместимость. Каждый раз мы заявляли о своем намерении открыть исходный код, чтобы разработчики могли запускать собственный браузерный движок в своих учетных записях Cloudflare, если захотят.
Это обещание выполнено. Kitesurf имеет открытый исходный код на GitHub по лицензии Apache 2.0. Вы можете читать код, запускать его локально, изменять и развертывать собственный экземпляр в Cloudflare Workers.
Браузер, созданный для агентов
Kitesurf работает полностью на Cloudflare Workers. Он парсит HTML, применяет CSS, выполняет JavaScript на страницах и рендерит скриншоты без контейнера браузера. Он поддерживает протокол Chrome DevTools Protocol (CDP), поэтому вы можете подключать такие клиенты, как Puppeteer.
Наша главная цель — дать ИИ-агентам легковесный, эффективный браузер, который может загружать веб-сайты, выполнять JavaScript и взаимодействовать со страницами, используя при этом меньше процессора и памяти, чем полноценный браузер вроде Chromium, и масштабируясь по требованию в глобальной сети Workers от Cloudflare.
Что находится внутри репозитория?
Kitesurf создан на базе платформы для разработчиков и API Cloudflare, а также экосистемы пакетов Rust с открытым исходным кодом, скомпилированных в WebAssembly:
- Blitz обеспечивает парсинг HTML, работу с DOM, компоновку и отрисовку.
- Stylo обеспечивает парсинг CSS, каскадирование и вычисление стилей.
- Boa запускает JavaScript внутри WebAssembly (в крайнем случае, только когда мы не можем запустить JavaScript в Dynamic Workers).
- Библиотеки Linebender обеспечивают компоновку текста и 2D-графику, а Krilla генерирует вывод в формате PDF.
Именно эти проекты сделали Kitesurf возможным. Они сохраняют свои соответствующие лицензии; NOTICE в репозитории содержит уведомления о стороннем ПО.
Kitesurf состоит из трех основных частей: движок управляет сеансами браузера и подключениями клиентов, PageScript запускает страницу и ее JavaScript, а PageRenderer отрисовывает результат.
Все пакеты, движок, его ядро на Rust, заглушки DOM, рендерер и Kitesurf CLI находятся отдельно в папках в каталоге packages репозитория, где вы можете изучить, как все эти части сочетаются друг с другом.
Запустите собственный Kitesurf
Чтобы запустить Kitesurf локально, ознакомьтесь с требованиями к сборке репозитория, затем клонируйте репозиторий, установите зависимости и запустите движок:
Первая сборка компилирует ядро Rust и его зависимости, поэтому на это потребуется некоторое время. Последующие сборки используют кэш сборки. Наконец, wrangler запускает локальный сервер разработки по адресу http://127.0.0.1:8787. Откройте этот адрес, чтобы протестировать страницу в Chrome DevTools, или используйте его программно.
Вы можете использовать puppeteer со скриптом NodeJS:
Или вы можете направить свой ИИ-фреймворк на локальный порт (агенты обожают CDP) и наблюдать, как он полностью берет под контроль Kitesurf.
Развертывание в вашей учетной записи Cloudflare
Завершив изменения и тестирование локально, вы можете развернуть движок в собственной учетной записи и использовать Kitesurf оттуда вместо предоставляемых нами управляемых API Browser Run. Обратите внимание, что требуется тарифный план Workers Paid, так как Kitesurf использует Dynamic Workers для создания изолированных воркеров для страниц.
Из корневого каталога репозитория:
Помогите нам сделать его лучше
Как и все наши проекты с открытым исходным кодом, Kitesurf размещен на Github, и мы приветствуем форки и contributions. Однако обратите внимание, что Kitesurf находится в стадии активной разработки, и мы сосредоточены на повышении совместимости движка (ознакомьтесь с разделом Эволюция тестов веб-платформы), надежности и efficient.
Начните с рекомендаций по внесению вклада, если хотите помочь проекту. Создайте тикет с минимальным воспроизведением или предлагаемым подходом и получите одобрение мейнтейнера перед открытием пулл-реквеста. Сфокусированные исправления с тестами, четкими доказательствами и четко определенной областью применения гораздо проще проверять, чем масштабные переписывания или несвязанную очистку, но вклад не обязательно должен сводиться к коду: небольшая страница, воспроизводящая ошибку рендеринга, сбойный рабочий процесс автоматизации или четкое исправление документации могут помочь нам двигаться вперед.
Следите за новостями
Kitesurf стремительно развивается. Следите за обновлениями в блоге и нашей changelog, а также за официальной целевой страницей, где публикуется последняя информация о соответствии стандартам на странице тестов веб-платформы и .
И заходите пообщаться с командой на Discord. Мы создаем браузер для агентов и будем рады вашей помощи в его улучшении.











