Cloudflare 用 12 周从零写了一个浏览器。Rust 编写,跑在自家的 Workers 边缘网络上,内存占用最多比 Chromium 省 7 倍,专给 AI agent 用,beta 期免费。
名字叫 Kitesurf。官博和推文里反复念叨同一句话,Chromium 太沉了,没法给每个 agent 都发一个。
先想一个问题。AI agent 上网办事,现在靠什么?绝大多数时候是给它一个 Chromium 内核的无头浏览器,用 Playwright 或 Puppeteer 操控。这套组合按人类的需求打磨了快二十年,但 agent 需要的东西,它给得又贵又多余。
人类在意标签页、主题、插件、跨设备同步。AI 全都不在意。AI 在意的是 token 数量、上下文窗口、扩展性、性能和账单,它要的是机器可读的内容,DOM、HTML、截图,而不是人眼看着舒服的像素。
人类要求 60 帧的顺滑滚动和像素级渲染。agent 无所谓,CSS 解析差一点、排版偏一点,照样把活干完。
威胁模型也不一样。人类浏览器的隔离假设是你访问的站点基本可信,agent 面对的却是任意来源的任意代码,prompt injection 和工具滥用是头号问题。
这些问题想明白以后,Cloudflare 又问了那个搁置多年的问题,要不要自己造浏览器。12 周前,答案是毫不犹豫的「造」。

Kitesurf 的起点是 GitHub 上一个叫 obscura 的开源项目,一个用 Rust 写的 headless 引擎,口号是「没有 Chrome、没有 Node.js、没有依赖」。Cloudflare 团队看到后,决定把它移植到 Workers 上。

第一次移植并不顺利。后来他们换了个做法,给 AI agent 一份足够详细的计划和明确的成功标准,让 agent 自己循环迭代,不懂就问。这次居然成了。拿着一个勉强能跑的原型,团队决定认真把它做完。
整个项目靠五条设计决策撑起来。
测试永远排在第一位。 他们直接拿 Web Platform Tests 当验收标准,给 agent 圈定功能清单和顺序,人类只负责架构和审查。WPT 只测标准符合度,测不了真实网站,于是又加了一层集成测试和视觉回归,用 Puppeteer 在真实网站上同时跑 Chromium 和 Kitesurf,每一步都对比渲染输出。
能用 Rust 就用 Rust。 通过 wasm-bindgen 把原生 Rust 直接编译成 WebAssembly,绕开 Emscripten 那层笨重的模拟依赖,尽量贴着硬件跑。
异常处理当成生存法则。 浏览器要渲染整个不可靠甚至带敌意的互联网,任何失败都必须降级成空白帧或缺失元素,绝不能让会话死掉。
隔离写进假设。 每次页面加载都被当成不受信任的输入,每个组件只拿它完成任务必需的资源,会话每次从零开始。配合 Workers 自带的隔离模型,页面之间的数据一分都漏不出去。

能无状态就无状态。 状态是让失败变贵的东西。没有状态要重建,崩溃恢复就是重新启动、重放请求。无状态组件可以随时杀掉、上千个并行跑、按需求扩容,用完即焚。自动化场景的负载来得又急又猛,这套哲学正好对路。
Kitesurf 把一次页面请求拆给四个角色。

SandboxOutbound 是唯一能碰网络的组件,由 Dynamic Workers 强制执行,其他组件一律没有直接网络权限。它负责注入浏览器样式的请求头、执行 CORS 策略、过滤响应,每个页面的 cookie 单独一个罐子。违反策略的请求直接 403。

Engine 是唯一的对外入口,处理 CDP 协议和 REST API,同时保存会话状态。好消息是它实现了 CDP,所以 Puppeteer、Playwright、chrome-remote-interface 这些现成客户端指过去就能用。

PageScript 是每个页面一个的常驻 isolate,用 Dynamic Workers 拉起来。页面里的 HTML 和 CSS 分别交给 Blitz 和 Firefox 的 Stylo 解析,JavaScript 和 Wasm 在同一个 isolate 里执行。有个历史包袱是 Workers 还不支持原生 eval,他们就用 Rust 写的 Boa JS 引擎套了一层,等于在运行时上跑运行时,够用但谈不上优雅。

PageRenderer 负责出像素。Engine 通过内置 RPC 调它的 renderFrame,它从 PageScript 拿场景对象,拉取内部字体和图片,用 Blitz 的 blitz-paint 加 Parley 排版栅格化,最后吐出 JPEG、PNG 或 PDF。它不保存任何页面状态,只有一层可丢弃的缓存,所以 RPC 卡住时 Engine 可以随时把它杀掉重来。

官方给了一组实打实的对比数据,五种 Browser Run quick-action 在 14 个 URL 上跑的中位数,全在下面这张表里。

最后两行是反着来的。论绝对速度,Chromium 的 JIT 早就见过这些页面,冷启动的软件渲染器当然追不上。但 AI 场景的账单由 CPU 和内存决定,这两项 Kitesurf 砍掉了 3 到 7 倍。省下来的钱,就是给更多 agent 发浏览器的钱。
正确性上,Kitesurf 已经通过 21.5 万项 WPT 测试,而且每周还在增加几百项。Agent 最依赖的 CSS、DOM、HTML、SVG、XHR 这些方向覆盖都很好,连流式这种 agent 不太用得上的能力也有不错的表现。


Cloudflare 自己都说,测试堆再多,社区只认一个终极标准。Kitesurf 现在能跑 Doom。1993 年的那款,跑在 Workers isolate 里。官博放了一段完整演示,Kitesurf 加载 silentspacemarine.com 这个 Doom 网页版,从启动画面一路玩起来

Kitesurf 已经集成进 Browser Run,beta 免费,每账号有限额。浏览器页面还提供了一个公开 playground,输入任意 URL 就能看它渲染出来的样子,DevTools 直接嵌在界面里,能检查展开后的 DOM。

已有的 Puppeteer、Playwright 客户端几乎不用改代码,API 里把 browser 参数换成 kitesurf 就行。一行 curl 就能截图
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-run/screenshot?browser=kitesurf' \
-H 'Authorization: Bearer <token>' \
-H 'Content-Type: application/json' \
-d '{"url": "https://example.com"}' \
--output "screenshot.png"
MCP 客户端这样配,配好之后 Claude、Cursor 这类支持 MCP 的工具直接就能调 Kitesurf
{
"mcp": {
"kitesurf": {
"type": "local",
"command": [
"npx", "-y", "chrome-devtools-mcp@latest",
"--wsEndpoint=wss://api.cloudflare.com/client/v4/accounts/<accountId>/browser-run/devtools/browser?browser=kitesurf",
"--wsHeaders={\"Authorization\":\"Bearer <token>\"}"
],
"enabled": true
}
}
}
适合的场景很清晰。Agent 要渲染页面、抓内容、截图、出 PDF,突发并发、短生命周期的任务,对像素级完美没有执念的自动化,都在射程内。官博也放了一段它渲染自己官网的演示

别指望它的场景也有清单。放视频、跑 WebGL、需要持久登录、超过 10 分钟的会话,依赖复杂反爬和特殊 TLS 指纹的页面,以及像素还原要求极高的场景,现在都搞不定。想确认某个站点能不能跑,最快的办法是直接去 playground 试。
路线图写得很具体,补 CDP 覆盖、提升截图和 PDF 的渲染保真度、继续冲 WPT 通过率、压效率。还有一个值得盯的消息,Kitesurf 会在准备好之后开源,目标是让任何客户都能在自己需要的地方部署。
Takeaway 给每个 agent 配一个浏览器这件事,Chromium 路线又贵又重,Cloudflare 用 12 周证明另一条路走得通。当浏览器为 AI 重新设计,省 7 倍内存只是起点,变量是谁先让 agent 生态默认跑在自己上面。
你觉得 agent 专用浏览器能撼动 Chromium 的地位吗?还是说这只是一次边缘计算的技术炫技?评论区聊聊。
文章来自于微信公众号 “程叙架构与AI.”,作者 “程叙架构与AI.”
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0