La compañía Cloudflare ha anunciado la apertura del código fuente del navegador web Kitesurf, diseñado para su uso por agentes de IA y bots. Kitesurf soporta el análisis de HTML, la aplicación de estilos CSS, la ejecución de JavaScript y la generación de capturas de pantalla, pero carece de complicaciones y excesos creados para los humanos y que son inútiles para los bots. La eliminación de capacidades como el renderizado perfecto y el soporte de extensiones ha permitido reducir significativamente la carga en la CPU y el consumo de memoria. El código está escrito en Rust y TypeScript y se distribuye bajo la licencia Apache 2.0.
En lugar de motores de navegador pesados, Kitesurf utiliza bibliotecas abiertas escritas en Rust: Blitz para el análisis de HTML, manipulación del DOM, composición y renderizado de páginas; Stylo (utilizado en Firefox) para el manejo de CSS; Boa para la ejecución de JavaScript y soporte de WebAssembly; Linebender para trabajar con texto y gráficos 2D; Krilla para la generación de salida en formato PDF.
En comparación con el uso del motor Chromium para realizar operaciones de creación de capturas de pantalla, Kitesurf ha mostrado una reducción de la carga en la CPU de 3.1 veces y una disminución del consumo de memoria de 4.7 veces, mientras que para el análisis de HTML, estas cifras son de 3.8 y 7 veces, respectivamente. Sin embargo, el tiempo total de ejecución de las pruebas resultó ser 1.7 y 1.8 veces más lento debido al inicio en frío, rasterización y codificación en JPEG/PNG.
Kitesurf pasa exitosamente más de 215 mil pruebas del conjunto WPT (Web Platform Tests), renderiza correctamente las páginas de sitios típicos como Wikipedia, soporta diferentes frameworks web (React, Vue, Angular, Preact) y es capaz de ejecutar el juego Doom, compilado en WebAssembly.
Entre las limitaciones se destaca la falta de soporte para la reproducción de video, WebGL, scripts complejos para verificación de captcha y sesiones autenticadas prolongadas que requieren guardar el estado.
El navegador consta de tres componentes:
- Un motor para gestionar sesiones, procesar conexiones de cliente y soportar el protocolo CDP (Chrome DevTools Protocol);
- PageScript para el procesamiento aislado de la página web y ejecución de JavaScript;
- PageRenderer para renderizar páginas, generar capturas de pantalla y exportar a PDF.
Los componentes están aislados unos de otros y solo tienen acceso a los recursos necesarios. La operación se realiza en modo Stateless sin guardar el estado.

Kitesurf está diseñado para ejecutarse utilizando la plataforma Cloudflare Workers (el runtime workerd está disponible públicamente) con compilación en WebAssembly, pero se puede aplicar no solo en la infraestructura de Cloudflare, sino también en sistemas locales con Node.js. Se sugiere utilizar la API web a través de WebSocket, la interfaz de línea de comandos y el protocolo CDP, compatible con la biblioteca Puppeteer, para gestionar y automatizar la interacción con Kitesurf.
Fuente: opennet.ru
