Cloudflare 开源 AI 代理专用浏览器引擎 Kitesurf
Cloudflare(股票代码:NET)于13日正式公开了其专为 AI 代理设计的浏览器引擎“Kitesurf”的源代码。Cloudflare 在官方博客中表示,Kitesurf 将以 Apache 2.0 许可证的形式开源。开发者可以查看、修改代码,并在本地运行或部署到其 Cloudflare 账户中。
Cloudflare 于8月首次介绍了 Kitesurf,随后在9月增加了 WebMCP 支持和新 API,并改进了兼容性。此次开源使得开发者能够直接操作浏览器引擎,并在自己的账户环境中运行。
设计定位与核心架构
Kitesurf 运行于 Cloudflare 的 Workers 环境。它无需单独的浏览器容器或 Chromium 进程,即可解析 HTML、应用 CSS、执行页面 JavaScript 并将屏幕渲染为图像。其设计重点在于优化 AI 代理的网络任务,而非追求通用浏览器的功能完整性。因此,相较于标签页管理、主题、扩展程序或像素级精确显示等功能,Kitesurf 更优先考虑资源使用和可扩展性。
开源仓库将引擎分为三个部分:
- 引擎(Engine):管理浏览器会话和客户端连接。
- 页面脚本(Pagescript):执行页面和 JavaScript。
- 页面渲染器(Pagerenderer):绘制最终屏幕画面。
代码中包含使用 Rust 编写并编译为 WebAssembly 的开源包。这些模块分工明确,分别负责 HTML 解析、文档结构与布局绘制、CSS 处理、JavaScript 执行、文本排版、二维图形绘制以及 PDF 输出等功能。
兼容性与性能测试
Kitesurf 支持 Chrome 开发者工具协议(CDP),使其能够与 Puppeteer 等自动化工具集成。目前仅实现了协议的部分功能,但 Cloudflare 表示正在不断扩大兼容范围。
Cloudflare 通过包含14个 URL 的测试组进行了性能对比,每组执行5次 Browser Run 任务并比较中位数结果。Chromium 则在预配置的环境中运行。测试结果如下:
截图任务性能对比:
- CPU 使用时间:Kitesurf 为 380 毫秒,Chromium 为 1173 毫秒。
- 内存使用量:Kitesurf 为 57.8 MiB,Chromium 为 271.0 MiB。
- 任务完成时间:Kitesurf 为 1148 毫秒,比 Chromium 的 637 毫秒更长。
HTML 提取任务性能对比:
- CPU 使用时间:Kitesurf 为 229 毫秒,优于 Chromium 的 877 毫秒。
- 内存使用量:Kitesurf 为 39.4 MiB,Chromium 为 273.7 MiB。
- 任务完成时间:Kitesurf 为 820 毫秒,长于 Chromium 的 472 毫秒。
Cloudflare 指出,较低的 CPU 和内存占用有助于运行更多会话并降低成本。公司承诺将继续改进兼容性、画面渲染效果和效率。
限制与部署要求
目前,Kitesurf 尚不支持视频播放、WebGL 渲染、验证码识别以及需要保持状态的认证会话,因此这些场景暂时不适用。
在本地运行代码没有特殊限制,但若要将项目部署到账户中,则需要 Cloudflare 的付费 Workers 计划。这是因为页面级别的隔离执行依赖于 Dynamic Workers 功能。