Cloudflare 把專為 AI 代理設計的瀏覽器 Kitesurf 開源了,授權為 Apache 2.0,程式碼放在 GitHub,專案首頁是 kitesurf.dev。這款瀏覽器執行在 Cloudflare Workers 上,不需要瀏覽器容器,就能解析 HTML、處理 CSS、執行 JavaScript。
Cloudflare 給出的目標很直接:
“Our main goal is to give AI agents a lightweight, efficient browser — one that can load websites, execute JavaScript, and interact with pages while using less CPU and memory than a full browser like Chromium.”
意思是:給代理一個輕量瀏覽器,能開啟網頁、執行腳本、與頁面互動,CPU 和記憶體用量都比 Chromium 這類完整瀏覽器低。
從移植實驗到開源,三個節點
Kitesurf 的起點是一個開源的 Rust 無頭引擎 obscura,主打「不要 Chrome、不要 Node.js、沒有相依套件」。Cloudflare 團隊先讓一個 AI 代理把它移植到 Workers 上,起初成效很差;替代理寫下詳細的計畫與成功標準後,原型才勉強跑起來。
根據 Cloudflare 部落格,從決定動手到正式發表花了 12 週。首次亮相時,Kitesurf 以免費測試版的形式放進 Browser Run,也就是 Cloudflare 的無頭瀏覽器自動化服務,開發者只要在 API 中加上一個 browser=kitesurf 參數就能切換。當時 Cloudflare 承諾「準備好後開源」,有報導指出發表文並未給出時間表。這次 Phoronix 報導的開源,算是兌現了這句承諾。
在開發方式上,團隊拿 Web Platform Tests(W3C 標準相容性測試集)當作 AI 代理的驗收標準,由人負責架構與審查。部落格發表時,Kitesurf 已通過約 21.5 萬項測試,每週還會增加幾百項。為了彌補標準測試與真實網站之間的落差,他們又用 Puppeteer 在真實網站上同時執行 Chromium 與 Kitesurf,逐步比對斷言與算繪截圖。

內部怎麼拆
Kitesurf 拆成三塊:
- Engine:唯一對外的元件,負責處理 Chrome DevTools Protocol(CDP)並保存工作階段狀態。Puppeteer、Playwright 這類用戶端指過來就能用。
- PageScript:每個頁面各自啟動一個 Workers 隔離環境,HTML 與 CSS 解析用了以 Rust 撰寫的 Blitz 算繪引擎模組和 Firefox 的 Stylo;遇到
eval,因為 Workers 原生不支援,就轉交給以 Rust 撰寫的 Boa JS 引擎執行。 - PageRenderer:把頁面物件畫成像素,輸出 JPEG、PNG 或 PDF,不保存頁面狀態,卡住就直接終止後重新啟動。
所有對外網路請求只經過 SandboxOutbound 這一個元件,每個頁面的 cookie 各裝一罐。Cloudflare 的設計假設是每次載入都視為不可信的輸入,每個工作階段都從空白開始,針對的是提示詞注入與工具呼叫安全這類 AI 代理特有的風險。
以記憶體粗估,一台機器能多開幾個工作階段
Cloudflare 在 14 個網址上各跑 5 輪取中位數。HTML 擷取任務中,Kitesurf 佔用 39.4 MiB 記憶體,Chromium 熱池佔用 273.7 MiB,相差 7 倍;截圖任務則相差 4.7 倍。
照截圖任務的數字粗估,1 GiB 記憶體能同時容納約 17 個 Kitesurf 工作階段,換成 Chromium 只有 3 到 4 個。實際部署還得算上排程開銷與尖峰負載,這個比例只能當作上限來看。Cloudflare 自己的說法是,記憶體與 CPU 才決定帳單,實際經過的時間上 Chromium 快 1.7 到 1.8 倍,差距主要出在光柵化與圖片編碼,後續會繼續優化。
短處也寫得很清楚:Kitesurf 目前不能播放影片,不能算繪 WebGL,也不會用真實的 TLS 指紋去通過反爬驗證。官方列出能正確算繪的頁面包括 Wikipedia、Hacker News,以及多個框架版本的 TodoMVC。對中國大陸的開發者來說,開源後可以自行部署到 Workers 帳號裡,不必經過 Browser Run 的額度,但複雜網站的相容性得自己測試。
參考來源:Cloudflare 官方部落格、Phoronix、CocoLoop、H2S Media;Cloudflare 部落格核實了 14 個網址測試集的 CPU、記憶體與耗時中位數,以及 WPT 通過數。