Cloudflare libera Kitesurf, su navegador ligero para agentes de IA

Cloudflare ha publicado como código abierto Kitesurf, un motor de navegador pensado para agentes de inteligencia artificial que se ejecuta completamente sobre Cloudflare Workers, sin un contenedor con Chromium detrás. El proyecto, anunciado el 12 de noviembre de 2026 con licencia Apache 2.0, interpreta HTML, CSS y JavaScript, genera capturas y PDF, y admite el protocolo Chrome DevTools (CDP), así que Puppeteer, Playwright o un cliente MCP pueden usarlo con un cambio en la URL de conexión. Cloudflare lo califica de experimental y en pleno desarrollo.

Las claves de Kitesurf en 30 segundos

  • Kitesurf es el navegador de Cloudflare para agentes de IA, ahora con código abierto Apache 2.0 en GitHub.
  • Está escrito sobre todo en Rust y funciona en Workers, sin instancias de Chromium.
  • Sirve para capturas, PDF y extracción de HTML con entre 3 y 7 veces menos CPU y memoria, aunque tarda algo más.
  • Se activa en Browser Run añadiendo browser=kitesurf a la URL.
  • No admite vídeo, WebGL ni sesiones autenticadas largas.

Cloudflare presentó Kitesurf en agosto como un motor opcional de Browser Run, su servicio de navegadores remotos, y ahora libera el código. Su argumento es que Chromium está diseñado para personas y consume demasiada memoria y CPU para dar a cada agente su propia instancia. Un agente que abre una página, extrae su contenido o hace una captura y la cierra no necesita pestañas, temas ni un renderizado perfecto al píxel, sino un navegador barato, aislado y que se pueda lanzar en paralelo.

Cómo está construido

Según el blog de Cloudflare, Kitesurf está escrito mayoritariamente en Rust y compilado a WebAssembly. El análisis de HTML y CSS y el cálculo del diseño usan Blitz y Stylo, el motor de estilos de origen en Servo; el rasterizado, blitz-paint, y las evaluaciones con eval, el intérprete Boa JS, porque Workers no permite eval de forma nativa. Se divide en cuatro piezas:

  • Engine: la única parte pública. Atiende el WebSocket de CDP y las API REST y guarda el estado de la sesión.
  • PageScript: ejecuta cada página, con su DOM, su JavaScript y su WebAssembly, en un aislamiento propio de Dynamic Workers.
  • PageRenderer: genera la imagen de la página sin guardar estado más allá de una caché desechable.
  • SandboxOutbound: el único componente que sale a la red. Aplica CORS, añade cabeceras de navegador y separa las cookies por página.

El navegador es sin estado: cada tarea arranca aislada y desaparece al terminar. Cloudflare indica que supera más de 235.000 subpruebas de Web Platform Tests y que renderiza sitios como Wikipedia, Hacker News, su propio blog, buena parte de su panel y varias versiones de TodoMVC, aunque avisa de que esa cifra mide conformidad con estándares, no compatibilidad con webs reales.

Cómo usarlo y cuánto ahorra

Hay dos formas. La primera es Browser Run, donde Kitesurf está en beta gratuita con límites por cuenta que Cloudflare no detalla. Basta con añadir browser=kitesurf a cualquier endpoint de las acciones rápidas o al WebSocket de CDP:

# Acción rápida (captura)
.../browser-run/screenshot?browser=kitesurf

# Endpoint CDP para Puppeteer, Playwright o chrome-remote-interface
wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-run/devtools/browser?browser=kitesurf

// Desde un Worker
env.BROWSER.quickAction(..., { browser: "kitesurf" })Lenguaje del código: PHP (php)

Para clientes MCP, la documentación propone configurar chrome-devtools-mcp con --wsEndpoint apuntando a esa URL y --wsHeaders con un token de la API de Browser Run. Si se omite el parámetro, se usa Chromium.

La segunda es desplegarlo uno mismo desde el repositorio de GitHub. En local se arranca con pnpm run dev, que compila el motor y lanza wrangler dev. Para ejecutarlo en Cloudflare hace falta el plan Workers Paid, porque depende de Dynamic Workers. Kitesurf no trae autenticación propia, así que un despliegue expuesto debe protegerse con Cloudflare Access u otra capa similar.

Las cifras de Cloudflare, medianas de cinco ejecuciones sobre 14 URL frente a un grupo de Chromium ya arrancado, muestran el intercambio. En capturas, Kitesurf usó 380 ms de CPU frente a 1.173 ms y 57,8 MiB de memoria frente a 271 MiB; en extracción de HTML, 229 frente a 877 ms y 39,4 frente a 273,7 MiB. A cambio fue 1,7-1,8 veces más lento en tiempo real: 1.148 ms por captura frente a 637 ms. Es decir, sale más barato y escala mejor en paralelo, pero no es más rápido por petición.

Los límites marcan dónde no encaja: todavía no reproduce vídeo ni WebGL, no supera desafíos antibots que exigen huellas TLS reales ni mantiene sesiones autenticadas largas con estado. Para eso, Cloudflare recomienda seguir con Chromium. Encaja en lo que la propia compañía describe como trabajos de abrir, extraer y cerrar: capturas periódicas, monitorización de páginas, extracción de contenido en lote o imágenes para modelos multimodales. Como siempre con el scraping, conviene respetar las condiciones de uso y el robots.txt de los sitios que se consultan.

Preguntas frecuentes

¿Qué es Kitesurf?

Un motor de navegador de Cloudflare para agentes de IA, escrito sobre todo en Rust, que funciona en Workers y es de código abierto con licencia Apache 2.0.

¿Funciona con Puppeteer y Playwright?

Sí. Implementa el protocolo Chrome DevTools, así que basta con añadir browser=kitesurf a la URL del WebSocket de Browser Run.

¿Cuánto cuesta?

En Browser Run está en beta gratuita con límites por cuenta. Desplegarlo por cuenta propia en Cloudflare requiere el plan Workers Paid.

Fuentes:

Suscríbete al boletín SysAdmin

Este es tu recurso para las últimas noticias y consejos sobre administración de sistemas, Linux, Windows, cloud computing, seguridad de la nube, etc. Lo enviamos 2 días a la semana. Recuerda revisar tu email para confirmar la suscripción.

Scroll al inicio
×