跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

Kitesurf

最后更新 查看 MarkdownAgent 设置

Kitesurf ↗ 是 Cloudflare 完全运行在 Workers 之上的无状态、高度可扩展浏览器,专为 AI 智能体设计。Kitesurf 不会交付完整的桌面浏览器引擎(如 Chromium),而是聚焦智能体真正关心的因素——token 数量、上下文窗口、可扩展性、性能和成本——同时放弃仅人类需要的功能,例如标签页、主题、扩展和像素级精确渲染。

对于屏幕截图和 HTML 提取等常见智能体任务,Kitesurf 使用的 CPU 和内存显著少于 Chromium,这意味着你可以运行更多会话,并更好地扩展突发的、由 AI 驱动的工作负载。

何时使用 Kitesurf

Kitesurf 适合:

  • 需要渲染页面、但可以接受不使用全功能、像素级精确 Chromium 浏览器的 AI 智能体。
  • 依赖一次性 Quick Actions 的自动化和应用,例如从页面提取内容,或为兼容站点生成 PDF 和屏幕截图。
  • 受益于仅在任务持续期间存在的短暂、完全隔离、无状态引擎的突发、由 AI 驱动的工作负载。

Kitesurf 可以正确渲染 TodoMVC ↗(vanilla、React、Vue、Angular、Preact)、Wikipedia、Hacker News、Cloudflare 博客以及大部分 Cloudflare 仪表板等页面。

Kitesurf 目前还不能做什么

如果你需要以下能力,Kitesurf 目前还不是正确选择:

  • 播放视频或渲染 WebGL。
  • 使用真实 TLS 指纹协商 bot 挑战握手。
  • 启动需要持久状态的长时间运行、已认证会话。

对于这些情况,使用 Browser Run 由 Chromium 驱动的默认浏览器。

确认特定站点是否与 Kitesurf 兼容的最佳方式是实际试用——通过 CDP 端点 和 Quick Actions,或在公共 playground ↗ 中尝试。

如何使用 Kitesurf

将 Kitesurf 与 Quick Actions 一起使用

你也可以将 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"

将 Kitesurf 与浏览器绑定一起使用

在 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 浏览器。

将 Kitesurf 与 CDP 端点一起使用

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 客户端使用 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

要在不编写任何代码的情况下开始探索 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 与 Chromium 的比较

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 在墙钟时间上胜出,因为热即时编译器优于冷软件渲染器。

这篇文档对您有帮助吗?