Cloudflare发布浏览器引擎Kitesurf,专为AI Agent设计

Cloudflare 也发布了一个浏览器引擎:Kitesurf Kitesurf 是专门为 AI Agent 设计的,完全运行在 Cloudflare Workers 的 V8 隔离环境之上,目前已...

精选理由

Cloudflare出了个给AI Agent用的浏览器Kitesurf,比Chromium省好几倍内存和CPU,速度略慢但跑任务够用。现在集成在Browser Run里,beta期免费,可以试试。

AI 摘要

Cloudflare发布了专为AI Agent设计的浏览器引擎Kitesurf,完全运行在Workers的V8隔离环境上,现已集成进Browser Run产品,beta期免费。与Chromium相比,Kitesurf在截图和HTML提取任务中节省3.1至3.8倍CPU、4.7至7倍内存,但墙钟时间慢1.7至1.8倍。它已通过215,000多条WPT测试,每周新增数百条,能正确渲染TodoMVC全家桶、Wikipedia等站点。Kitesurf不支持视频播放、WebGL和需要真实TLS指纹的反机器人握手,适合非像素完美的Agent任务。

原文 · shao__meng

Cloudflare 也发布了一个浏览器引擎:Kitesurf Kitesurf 是专门为 AI Agent 设计的,完全运行在 Cloudflare Workers 的 V8 隔离环境之上,目前已...

Cloudflare 也发布了一个浏览器引擎:Kitesurf Kitesurf 是专门为 AI Agent 设计的,完全运行在 Cloudflare Workers 的 V8 隔离环境之上,目前已集成进 Browser Run 产品、beta 期免费。 blog.cloudflare.com/kitesurf/ # 为什么需要"为 Agent 造一个浏览器"? Chromium 等传统浏览器是为人类设计的,资源开销与 Agent 的实际需求严重错配。 人类需要的东西,Agent 都不在乎: · 标签页、主题、扩展、跨设备同步——Agent 只关心 token 数、上下文窗口、可扩展性和成本 · 60fps 流畅滚动、像素级渲染精度——Agent 只要能拿到结构化的机器可读内容,CSS 解析稍有偏差、渲染不完美都无所谓 · 威胁模型也不同——Agent 场景下,prompt injection(提示注入)和工具安全才是头等大事 而 Chromium 的内存和 CPU 开销大到"给每个 Agent 配一个实例在经济上不可行"。 Cloudflare 的论点是:这种高成本实际上把大半个 Web 锁在了少数高价大模型身后,让大量 Agent 应用跑不起来。Kitesurf 要解决的就是这个"Agent 浏览民主化"问题。 # 架构设计的四条原则 1. 测试先行,用测试驾驭 AI 编码 · 项目大量使用 AI 辅助开发,而控制 AI 产出质量的答案是"提供尽可能多的测试" · 用 WPT(Web Platform Tests) 作为 AI 的"明确球门柱"——一套现成的、规模庞大的 W3C 符合性标准,让 Agent 可以自行循环迭代、衡量进展,人类则专注架构和审查 · 但 WPT 只测标准符合性,不测真实网站,所以又叠加了集成测试 + 视觉回归测试:用 Puppeteer 脚本同时在 Chromium 和 Kitesurf 上跑真实网站的多步操作,逐步比对渲染输出 2. 尽量用原生 Rust 直接以 wasm-bindgen 编译到 WebAssembly,避免 Emscripten 那类多层模拟依赖导致的臃肿和缓慢 3. 异常处理是生存策略,不是代码卫生 浏览器必须消化"整个不可靠且时有敌意的 Web",规则只有一条:任何失败都降级为空白帧或缺失元素,绝不让整个会话崩溃。每个边界捕获故障、默认给安全的空值、记录足够诊断的日志 4. 隔离 + 无状态 · 假设每次页面加载都是不可信输入、每个会话从零开始,组件只获得其功能必需的资源 · 无状态意味着可丢弃、可并行:卡住就杀掉,一次跑一千个实例,按需求弹性伸缩——天然契合 Agent 负载的突发性(bursty)特征 # 架构设计三个核心组件 1. Engine(引擎) · 唯一对外组件,实现 CDP 的 WebSocket 和 REST API · 选 CDP 的关键收益是客户端兼容性:Puppeteer、Playwright、chrome-remote-interface,甚至真正的 Chrome DevTools 前端,指过来就能用 · 也是唯一持有会话状态的组件,其他全部无状态 2. PageScript(脚本执行) · 最能体现 Workers 新能力的部分:每个页面或跨进程 iframe(OOPIF)通过 Dynamic Workers 拉起一个长生命周期的隔离实例,内含干净的 globalThis 和 DOM 对象 · HTML/CSS 解析用的是 Blitz(Rust 写的模块化渲染引擎)和 Stylo(Firefox 的高性能 CSS 解析器) · 页面里的 JS/Wasm 在同一 isolate 内执行 · 一个有趣的妥协:Workers 出于安全不支持原生 eval,而另开 isolate 又访问不到 globalThis——于是团队用 Rust 写的 Boa JS(一个 ECMAScript 引擎)在 Workers 里再跑一层运行时来兜底 eval。 3. PageRenderer(渲染器) · 把 PageScript 计算出的页面对象(scene)光栅化成像素:取内部字体和图片 → 用 Blitz 的 blitz-paint 模块(配合 Parley 做字形整形、字体选择、断行)→ 输出 JPEG/PNG/PDF · Engine 通过 Workers 内置的 RPC 一次调用 renderFrame() 拿回 PNG;由于渲染器不持页面状态,任何卡住或失败的调用都可以安全杀掉重来——每次渲染请求自包含、可重试 # 实测数据: Kitesurf vs. Chromium CPU:截图 | 380 ms | 1,173 ms | 省 3.1 倍 CPU:HTML 提取 | 229 ms | 877 ms | 省 3.8 倍 内存:截图 | 57.8 MiB | 271.0 MiB | 省 4.7 倍 内存:HTML 提取 | 39.4 MiB | 273.7 MiB | 省 7.0 倍 墙钟时间:截图 | 1,148 ms | 637 ms | 慢 1.8 倍 墙钟时间:HTML 提取 | 820 ms | 472 ms | 慢 1.7 倍 Kitesurf 用约 1.7-1.8 倍的速度代价,换来了 3-7 倍的 CPU/内存节省。Cloudflare 的逻辑是——CPU 和内存才是真正决定账单的东西,省内存意味着单机能跑更多会话、成本结构性下降。 兼容性方面,目前已通过 215,000+ 条 WPT 测试且每周新增数百条;对 Agent 最重要的部分(CSS、DOM、HTML、Selection、SVG、XHR)覆盖良好。能正确渲染 TodoMVC 全家桶(Vanilla/React/Vue/Angular/Preact)、Wikipedia、Hacker News、Cloudflare 博客和大部分自家 Dashboard。 # 边界与定位 ❌ 视频播放、WebGL ❌ 需要真实 TLS 指纹的反机器人挑战握手 ❌ 需要持久状态的十分钟级认证会话 适用场景则是:能接受"非像素完美"渲染的 Agent 任务,以及一次性 Quick Action 类自动化(内容提取、生成 PDF/截图)。 一句话定位:一个短暂的、完全隔离的、无状态的引擎,只为任务存续期间存在,为突发型 AI 负载而伸缩。 Cloudflare Developers @CloudflareDev Introducing Kitesurf: a browser built for agents, running entirely on Cloudflare Workers. Chromium is too heavy to hand every agent one. Kitesurf is written in Rust, uses 3-7x less CPU and memory, and spins up per request. Free in beta: blog.cloudflare.com/kitesurf/ 🔗 View Quoted Tweet 💬 0 🔄 0 ❤️ 2 👀 431 📊 1 ⚡

Cloudflare发布浏览器引擎Kitesurf,专为AI Agent设计 · AI 热点