Cloudflare відкрила вихідний код Kitesurf — браузера для ШІ-агентів на базі Workers

Головне за 30 секунд
- Cloudflare відкрила вихідний код браузера Kitesurf на GitHub під ліцензією Apache 2.0 для локального запуску та розгортання на власних акаунтах.
- Kitesurf працює безпосередньо на Cloudflare Workers без браузерних контейнерів, підтримує Chrome DevTools Protocol (CDP) та клієнти на кшталт Puppeteer.
- Рушій побудований на скомпільованих у WebAssembly пакетах Rust (Blitz, Stylo, Boa, Linebender, Krilla) і має три ключові модулі: Engine, PageScript та PageRenderer.
- Для розгортання власного екземпляра Kitesurf на Cloudflare потрібен платний тариф Workers Paid через використання Dynamic Workers.
Зміст
Архітектура безконтейнерного браузера для ШІ-агентів
Компанія Cloudflare опублікувала на GitHub вихідний код Kitesurf — легкого браузера без збереження стану, створеного спеціально для роботи ШІ-агентів. Проєкт доступний під ліцензією Apache 2.0: розробники можуть вивчати код, запускати його локально, змінювати та розгортати на власних акаунтах Cloudflare. Вперше Kitesurf представили у серпні, а у вересні оновили, додавши підтримку WebMCP та нові API.
На відміну від традиційних рішень, Kitesurf працює безпосередньо поверх інфраструктури Cloudflare Workers без використання браузерних контейнерів. Він парсить HTML, застосовує CSS, виконує JavaScript сторінки та створює скриншоти, споживаючи менше ресурсів процесора й пам'яті, ніж повноцінний браузер на кшталт Chromium. Завдяки підтримці Chrome DevTools Protocol (CDP) до рушія можна підключати популярні інструменти автоматизації, зокрема Puppeteer.
Що всередині репозиторію
В основі Kitesurf лежать інструменти Cloudflare Developer Platform та екосистема відкритих бібліотек на мові Rust, скомпільованих у WebAssembly (при цьому сторонні пакети зберігають власні ліцензії):
- Blitz — відповідає за парсинг HTML, побудову DOM, макетування та рендеринг;
- Stylo — забезпечує парсинг CSS, каскадування та обчислення стилів;
- Boa — виконує JavaScript усередині WebAssembly як запасний варіант у випадках, коли код неможливо запустити в Dynamic Workers;
- Linebender — відповідає за розмітку тексту та 2D-графіку;
- Krilla — генерує вихідні файли у форматі PDF.
Архітектурно рушій поділено на три основні компоненти: Engine керує сесіями браузера та клієнтськими підключеннями, PageScript виконує код сторінки, а PageRenderer відмальовує фінальний результат. Усі модулі, ядро на Rust, DOM-прошарки та Kitesurf CLI розміщені в окремих папках директорії packages.
Локальний запуск, розгортання та розвиток проєкту
Для локального тестування достатньо клонувати репозиторій із GitHub, встановити залежності через pnpm install --frozen-lockfile і запустити середовище розробки командою pnpm run dev. Перша збірка потребує більше часу для компіляції ядра на Rust, проте наступні використовують кеш. Після старту wrangler піднімає локальний сервер за адресою http://127.0.0.1:8787, до якого можна підключатися через Chrome DevTools, Puppeteer або ШІ-агентів через порт CDP.
Щоб розгорнути власний екземпляр рушія у хмарі замість керованого API Browser Run, використовується команда pnpm run deploy. Для цього потрібен платний план Workers Paid, оскільки Kitesurf покладається на Dynamic Workers для створення ізольованих воркерів під кожну сторінку.
Проєкт перебуває на етапі активної розробки: команда Cloudflare зосереджена на підвищенні сумісності з вебстандартами (Web Platform Tests), надійності та ефективності. Розробники приймають внески спільноти через GitHub — як точкові виправлення коду після попереднього обговорення в issue та схвалення мейнтейнера, так і приклади сторінок із помилками рендерингу або уточнення документації.
Що це означає на практиці
Для вебмайстрів, технічних SEO-фахівців і розробників інструментів автоматизації відкриття коду Kitesurf означає появу легшої альтернативи важким браузерам на базі Chromium для парсингу та взаємодії з сайтами. Якщо ви будуєте власних ШІ-агентів для збору даних або тестування сторінок, тепер можна розгорнути власний інстанс рушія на акаунті Cloudflare (за наявності тарифу Workers Paid) і напряму керувати ним через Puppeteer або протокол CDP. Власникам сайтів варто враховувати, що кількість легких headless-агентів, здатних виконувати JavaScript і рендерити сторінки без повноцінного браузерного контейнера, продовжує зростати.



