Kitesurf ↗ 是 Cloudflare 完全运行在 Workers 之上的无状态、高度可扩展浏览器,专为 AI 智能体设计。Kitesurf 不会交付完整的桌面浏览器引擎(如 Chromium),而是聚焦智能体真正关心的因素——token 数量、上下文窗口、可扩展性、性能和成本——同时放弃仅人类需要的功能,例如标签页、主题、扩展和像素级精确渲染。
对于屏幕截图和 HTML 提取等常见智能体任务,Kitesurf 使用的 CPU 和内存显著少于 Chromium,这意味着你可以运行更多会话,并更好地扩展突发的、由 AI 驱动的工作负载。
Kitesurf 适合:
- 需要渲染页面、但可以接受不使用全功能、像素级精确 Chromium 浏览器的 AI 智能体。
- 依赖一次性 Quick Actions 的自动化和应用,例如从页面提取内容,或为兼容站点生成 PDF 和屏幕截图。
- 受益于仅在任务持续期间存在的短暂、完全隔离、无状态引擎的突发、由 AI 驱动的工作负载。
Kitesurf 可以正确渲染 TodoMVC ↗(vanilla、React、Vue、Angular、Preact)、Wikipedia、Hacker News、Cloudflare 博客以及大部分 Cloudflare 仪表板等页面。
如果你需要以下能力,Kitesurf 目前还不是正确选择:
- 播放视频或渲染 WebGL。
- 使用真实 TLS 指纹协商 bot 挑战握手。
- 启动需要持久状态的长时间运行、已认证会话。
对于这些情况,使用 Browser Run 由 Chromium 驱动的默认浏览器。
确认特定站点是否与 Kitesurf 兼容的最佳方式是实际试用——通过 CDP 端点 和 Quick Actions,或在公共 playground ↗ 中尝试。
你也可以将 Kitesurf 与 Browser Run 的 Quick Actions 一起使用。向任何 Quick Action 端点添加 browser=kitesurf。
例如,使用 Kitesurf 截取屏幕截图:
curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-run/screenshot?browser=kitesurf' \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"url": "https://example.com"
}' \
--output "screenshot.png"在 Worker 中,在浏览器绑定 的 quickAction() 方法选项中传入 browser: "kitesurf":
export default {
async fetch(request, env) {
return await env.BROWSER.quickAction("screenshot", {
url: "https://example.com",
browser: "kitesurf",
});
},
};interface Env {
BROWSER: BrowserRun;
}
export default {
async fetch(request, env): Promise<Response> {
return await env.BROWSER.quickAction("screenshot", {
url: "https://example.com",
browser: "kitesurf",
});
},
} satisfies ExportedHandler<Env>;绑定会验证该值,因此除 kitesurf 之外的任何引擎名称都会失败,并返回 Invalid input: expected "kitesurf"。省略 browser 则使用默认 Chromium 浏览器。
Browser Run CDP 端点 将 Kitesurf 作为选项支持,因此你现有的 Puppeteer、Playwright 或 chrome-remote-interface ↗ 设置已经可以工作。要启用,请向端点 URL 添加 browser=kitesurf:
wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-run/devtools/browser?browser=kitesurf任何支持 MCP 和 CDP 的 AI 智能体都可以使用 Kitesurf。将以下内容添加到你的 MCP 客户端 配置:
{
"mcp": {
"kitesurf": {
"type": "local",
"command": [
"npx",
"-y",
"chrome-devtools-mcp@latest",
"--wsEndpoint=wss://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/browser-run/devtools/browser?browser=kitesurf",
"--wsHeaders={\"Authorization\":\"Bearer <API_TOKEN>\"}"
],
"enabled": true
}
}
}将 <ACCOUNT_ID> 替换为你的 Cloudflare 账户 ID,将 <API_TOKEN> 替换为 Browser Run API token。
要在不编写任何代码的情况下开始探索 Kitesurf,请使用公共 playground ↗。输入任意 URL,查看 Kitesurf 如何渲染页面并与之交互。
playground 会将 Chrome DevTools 注入 UI,因此你可以在 Kitesurf 渲染页面时检查展开的 DOM 元素、读取控制台消息并观察网络活动。Memory 面板 ↗ 报告每个 isolate(包括 frame)的 WebAssembly 占用,便于查看每个页面消耗的资源。
Kitesurf 对照 Web Platform Tests (WPT) ↗ 进行测试,这是用于衡量对 W3C ↗ 标准符合性的共享测试套件。截至最近一次运行,Kitesurf 通过了超过 235,000 个子测试,覆盖范围仍在快速扩展。
对智能体最重要的浏览器部分具有较强覆盖:
| 领域 | 子测试覆盖率 |
|---|---|
| DOM | 97% |
| HTML | 96% |
| Selection | 99% |
| SVG | 97% |
| Encoding | 99% |
| CORS | 95% |
| XHR | 95% |
| URL | 83% |
Kitesurf 旨在轻量且高效。对于常见智能体任务,它使用的 CPU 和内存少于 Chromium,代价是墙钟时间略慢,且渲染并非像素级精确。
下表显示了对 14 个 URL 语料 ↗ 进行的五次 Browser Run Quick Action 运行的中位数,比较 Chromium(热池)与 Kitesurf:
| 指标 | Kitesurf | Chromium(热池) | Kitesurf,相对值 |
|---|---|---|---|
| CPU:屏幕截图 | 380 ms | 1,173 ms | 比 Chromium 少 3.1× CPU |
| CPU:HTML 提取 | 229 ms | 877 ms | 比 Chromium 少 3.8× |
| 内存:屏幕截图 | 57.8 MiB | 271.0 MiB | 比 Chromium 少 4.7× |
| 内存:HTML 提取 | 39.4 MiB | 273.7 MiB | 比 Chromium 少 7.0× |
| 墙钟时间:屏幕截图 | 1,148 ms | 637 ms | 比 Chromium 慢 1.8× |
| 墙钟时间:HTML 提取 | 820 ms | 472 ms | 比 Chromium 慢 1.7× |
Kitesurf 在驱动账单的内存和 CPU 上胜出(3–7×),而 Chromium 在墙钟时间上胜出,因为热即时编译器优于冷软件渲染器。