Cloudflare teatas Kitesurf veebibrauseri avatud lähtekoodiga väljalaskmisest, mis on mõeldud AI-agente ja -bote kasutamiseks. Kitesurf toetab HTML-i analüüsi, CSS-i stiilide rakendamist, JavaScripti käitamist ja ekraanipiltide loomist, kuid on samaaegselt vaba inimeste jaoks mõeldud keerukustest ja tarbetustest, mis on botide jaoks mittevajalikud. Selliste võimaluste nagu täiuslik joonistus ja laiendite tugi eemaldamine on võimaldanud oluliselt vähendada CPU-koormust ja mälu tarbimist. Kood on kirjutatud Rust ja TypeScript keeltes ning see on litsentseeritud Apache 2.0 alusel.
Kitesurf kasutab raskete brauserimootorite asemel avatud raamatukogusid Rust keeles: Blitz HTML-i analüüsimiseks, DOM-i haldamiseks, lehe koostamiseks ja joonistamiseks; Stylo (kasutatakse Firefoxis) CSS-i töötlemiseks; Boa JavaScripti käitamiseks ja WebAssembly toe pakkumiseks; Linebender teksti ja 2D-graafika jaoks; Krilla PDF-vormingus väljundi genereerimiseks.
Kitesurf näitas võrreldes Chromiumi mootori kasutamisega ekraanipiltide loomise operatsioonide käigus CPU-koormuse vähenemist 3.1 korda ja mälu tarbimise vähenemist 4.7 korda, samas HTML-i analüüsi puhul langesid väärtused vastavalt 3.8 ja 7 korda. Üldiselt oli katsetuste täitmise aeg 1.7 ja 1.8 korda aeglasem külma käivitamise, rasteriseerimise ja JPEG/PNG kodeerimise tõttu.
Kitesurf läbib edukalt üle 215 000 WPT (Web Platform Tests) testi, joonistab õigesti tavaliste veebisaitide lehti, nagu Wikipedia, toetab erinevaid veebiraamistikke (React, Vue, Angular, Preact) ja on suuteline käivitatama Doom mängu, mis on kompileeritud WebAssembly-sse.
Piirangutena mainitakse video taasesituse, WebGL-i, keeruliste skriptide ja pikaajaliste autentitud sessioonide, mis nõuavad oleku säilitamist, toe puudumist.
Brauser koosneb kolmest komponendist:
- Seansihaldusmootor, mis haldab sessioone, töötleb klienditehinguid ja toetab CDP (Chrome DevTools Protocol) protokolli;
- PageScript, mis isoleerib veebilehe töötlemise ja JavaScripti käitamise;
- PageRenderer, mis joonistab lehti, genereerib ekraanipilte ja ekspordib PDF-formaati.
Komponendid on üksteisest isoleeritud ja pääsevad ligi vaid vajalikule ressursile. Töö toimub Stateless režiimis ilma oleku säilitamiseta.

Kitesurf on mõeldud käivitamiseks Cloudflare Workers platvormil (avatud on workerd runtime), kompileeritud WebAssembly's, kuid seda saab kasutada mitte ainult Cloudflare infrastruktuuris, vaid ka kohalikes süsteemides Node.js-i abil. Kitesurf'i haldamiseks ja automatiseerimiseks on soovitatav kasutada Web API-d WebSocketi kaudu, käsurealiidese kaudu ja CDP-protokolli, mis on ühilduv Puppeteer'i teegiga.
Allikas: opennet.ru
