Die Firma Cloudflare hat die Quellcodes des Webbrowsers Kitesurf veröffentlicht, der für den Einsatz durch KI-Agenten und Bots konzipiert ist. Kitesurf unterstützt das Parsing von HTML, die Anwendung von CSS-Stilen, die Ausführung von JavaScript und die Erstellung von Screenshots, verzichtet jedoch auf die Komplikationen und Überflüssigkeiten, die für Menschen geschaffen wurden und für Bots nutzlos sind. Der Verzicht auf Funktionen wie perfekte Renderings und Unterstützung von Erweiterungen hat die CPU-Last und den Speicherverbrauch erheblich reduziert. Der Code ist in Rust und TypeScript geschrieben und wird unter der Apache 2.0-Lizenz verbreitet.
Anstelle schwerfälliger Browser-Engines setzt Kitesurf auf öffentliche Bibliotheken in Rust: Blitz für das Parsing von HTML, die Bearbeitung des DOM, das Layout und das Rendering von Seiten; Stylo (verwendet in Firefox) zur Verarbeitung von CSS; Boa zur Ausführung von JavaScript und Unterstützung von WebAssembly; Linebender für die Arbeit mit Text und 2D-Grafiken; Krilla zur Generierung von Ausgaben im PDF-Format.
Im Vergleich zur Verwendung der Chromium-Engine bei der Erstellung von Screenshots in Kitesurf wurde eine Reduzierung der CPU-Last um das 3,1-Fache und des Speicherverbrauchs um das 4,7-Fache festgestellt, während beim Parsing von HTML eine Reduzierung um das 3,8- und 7-Fache respektive beobachtet wurde. Die gesamte Testausführungszeit war aufgrund des kalten Starts, der Rasterisierung und der Kodierung in JPEG/PNG jedoch 1,7- und 1,8-mal langsamer.
Kitesurf besteht erfolgreich mehr als 215.000 Tests aus dem WPT (Web Platform Tests)-Set, rendert Seiten typischer Websites wie Wikipedia korrekt, unterstützt verschiedene Web-Frameworks (React, Vue, Angular, Preact) und kann das Spiel Doom ausführen, das in WebAssembly kompiliert wurde.
Zu den Einschränkungen gehört das Fehlen der Unterstützung für die Wiedergabe von Videos, WebGL, komplexe Skripte zur Überprüfung von Captchas und längere authentifizierte Sitzungen, die einen Zustand beibehalten müssen.
Der Browser besteht aus drei Komponenten:
- Eine Engine zur Verwaltung von Sitzungen, zur Verarbeitung von Clientverbindungen und zur Unterstützung des Protokolls CDP (Chrome DevTools Protocol);
- PageScript für die isolierte Verarbeitung von Web-Seiten und die Ausführung von JavaScript;
- PageRenderer zum Rendern von Seiten, zur Erstellung von Screenshots und zum Export in PDF.
Die Komponenten sind voneinander isoliert und haben nur Zugriff auf die notwendigen Ressourcen. Die Arbeit erfolgt im Stateless-Modus ohne Speicherung des Zustands.

Kitesurf ist für den Start mit der Cloudflare Workers-Plattform ausgelegt (offene Laufzeit workerd verfügbar) mit Kompilierung in WebAssembly, kann jedoch nicht nur in der Cloudflare-Infrastruktur, sondern auch auf lokalen Systemen mit Node.js verwendet werden. Zur Verwaltung und Automatisierung der Interaktion mit Kitesurf wird empfohlen, die Web-API über WebSocket, die Befehlszeilenschnittstelle und das CDP-kompatible Protokoll, das mit der Puppeteer-Bibliothek funktioniert, zu verwenden.
Quelle: opennet.ru
