Cloudflare 开源智能体无状态浏览器 Kitesurf
Kitesurf is now open source
Cloudflare 宣布以 Apache 2.0 协议开源专为 AI 智能体设计的无状态浏览器 Kitesurf,代码已上线 GitHub。该引擎完全运行在 Cloudflare Workers 上,无需浏览器容器即可解析 HTML、执行 JavaScript 并截取屏幕,且原生支持 Chrome DevTools Protocol(CDP)。
无容器化轻量浏览器通过 Rust 和 Wasm 运行在边缘网络上,为构建低资源消耗的智能体网页自动化提供了可私有化部署的新方案。

我们在 8 月发布了专为 AI 智能体打造的无状态浏览器 Kitesurf,它完全运行在 Workers 之上;紧接着又在 9 月跟进更新,带来了 WebMCP 支持、全新 API 和更出色的兼容性。每一次我们都重申过开源的承诺,让开发者有需要时能在自己的 Cloudflare 账户上运行专属的浏览器引擎。
现在,这一承诺已经兑现。Kitesurf 现已在 GitHub 上开源,采用 Apache 2.0 许可证。你可以查阅源码、在本地运行、自由修改,并将属于你自己的实例部署到 Cloudflare Workers。
专为智能体打造的浏览器
Kitesurf 完全运行在 Cloudflare Workers 上。它无需浏览器容器,就能直接解析 HTML、应用 CSS、执行页面 JavaScript 以及渲染网页截图。它还支持 Chrome 开发者工具协议(CDP),方便接入 Puppeteer 等客户端。
我们的核心目标是为 AI 智能体提供一款轻量、高效的浏览器——它能加载网页、执行 JavaScript 并与页面交互,占用的 CPU 和内存远少于 Chromium 这类完整浏览器,还能依托 Cloudflare 的全球 Workers 网络按需弹性扩缩容。
如需了解我们构建 Kitesurf 的初衷与实现方式,请参阅我们最初的发布公告;有关具体用法,可查阅 Browser Run 的开发者文档。
代码仓库里都有什么?
Kitesurf 构建于 Cloudflare 开发者平台与 API 之上,同时依托编译为 WebAssembly 的开源 Rust 生态包:
- Blitz 负责 HTML 解析、DOM、布局与绘制。
- Stylo 负责 CSS 解析、层叠与计算样式。
- Boa 负责在 WebAssembly 中运行 JavaScript(仅在无法通过 Dynamic Workers 运行 JavaScript 时作为兜底方案)。
- Linebender 系列库提供文本排版与 2D 图形处理,Krilla 负责生成 PDF 输出。
正是这些项目让 Kitesurf 成为可能。它们各自保留原有的开源许可证;仓库中的 NOTICE 文件记录了第三方开源声明。
Kitesurf 主要包含三大组件:Engine 负责管理浏览器会话与客户端连接,PageScript 负责运行页面及其 JavaScript,PageRenderer 负责绘制渲染结果。
所有软件包、引擎、Rust 核心、DOM shim、渲染器以及 Kitesurf CLI 都分别归置在仓库 packages 目录下的各个文件夹中,方便你深入探究各个模块如何协同运作。
运行专属的 Kitesurf
如需在本地运行 Kitesurf,请先按照仓库的构建要求配置环境,然后克隆代码仓库、安装依赖并启动引擎:
git clone https://github.com/cloudflare/kitesurf.git
cd kitesurf
pnpm install --frozen-lockfile
pnpm run dev首次构建需要编译 Rust 核心及其依赖项,耗时会稍长一些;随后的构建则会复用构建缓存。最后,wrangler 会在 http://127.0.0.1:8787 启动本地开发服务器。打开该地址即可在 Chrome 开发者工具中体验网页,或通过代码编程调用。
你可以编写 Node.js 脚本来配合 puppeteer 使用:
import puppeteer from "puppeteer-core";
const browser = await puppeteer.connect({
browserWSEndpoint: "ws://127.0.0.1:8787/devtools/browser",
});
try {
const page = await browser.newPage();
await page.goto("https://example.com/");
await page.screenshot({ path: "page.png" });
} finally {
await browser.disconnect();
}或者你也可以将 AI 测试框架指向本地的 CDP 端口(智能体通常原生支持 CDP),看着它全面接管 Kitesurf。
部署到你的 Cloudflare 账户
在本地完成修改和测试后,你可以将该引擎部署到自己的账户 ,直接通过自建服务使用 Kitesurf,而无需调用我们提供的 Browser Run 托管 API。需要注意的是,由于 Kitesurf 使用 Dynamic Workers 为各页面创建隔离的 Worker,因此需要 Workers Paid 付费计划。
在仓库根目录下运行:
pnpm run deploy参与贡献,让它变得更好
与我们所有的开源项目一样,Kitesurf 代码托管在 GitHub 上,欢迎大家 fork 并参与贡献。 不过需要说明的是,Kitesurf 目前正处于快速开发阶段,我们当下的重心是提升引擎的兼容性(详见 Web Platform Test 进展)、可靠性和运行效率。
如果你想参与贡献,请先阅读贡献指南。 建议先提交 issue 提供最小复现用例或方案设想,在获得维护者认可后再发起 pull request。相比大规模重写或不相关的代码清理,改动范围明确、附带测试与清晰证据的针对性修复更容易通过审查。当然,贡献不仅限于编写代码:提供能复现渲染 bug 的极简网页、指出失效的自动化工作流,或是修正文档错误,都能切实推动项目前进。
持续关注
Kitesurf 正在迅速迭代。欢迎关注博客 和更新日志获取最新动态,也可留意官方主页,了解 Web Platform Tests 标准兼容性测试进展及最新的基准测试数据。
此外,欢迎前往 Discord 与开发团队交流。我们正在打造一款面向智能体的浏览器,期待大家一起把它打磨得更加出色。
来源:Cloudflare Blog · blog.cloudflare.com