
Cloudflare 将 AI 智能体浏览器 Kitesurf 开源
来源标题:Kitesurf is now open source
Cloudflare 以 Apache 2.0 许可证在 GitHub 上开源了 Kitesurf,开发者可在本地运行或部署到自己的 Workers 账户。Kitesurf 是完全运行在 Workers 上的无状态浏览器,可解析 HTML、执行页面 JavaScript 并渲染截图,无需浏览器容器,支持 CDP 协议以连接 Puppeteer 等客户端。其目标是让 AI 智能体以比 Chromium 更低的 CPU 和内存占用加载并交互网页。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
我们在八月份推出了 Kitesurf——一个完全运行在 Workers 之上的、面向 AI agent 的无状态浏览器,并在九月份跟进支持了 WebMCP、新 API 以及更好的兼容性。每一次我们都提到,我们承诺将其开源,这样开发者如果愿意,就可以在自己的 Cloudflare 账户上运行自己的浏览器引擎。
这个承诺现在兑现了。Kitesurf 已在 GitHub 上以 Apache 2.0 许可证开源。你可以阅读代码、在本地运行、修改它,并将自己的实例部署到 Cloudflare Workers。
Kitesurf 完全运行在 Cloudflare Workers 上。它解析 HTML、应用 CSS、执行页面 JavaScript,并在没有浏览器容器的情况下渲染截图。它支持 Chrome DevTools Protocol(CDP),因此你可以连接 Puppeteer 之类的客户端。
我们的主要目标是为 AI agent 提供一个轻量、高效的浏览器——它能够加载网站、执行 JavaScript 并与页面交互,同时比 Chromium 这样的完整浏览器占用更少的 CPU 和内存,并能在 Cloudflare 的全球 Workers 网络上按需扩展。
Kitesurf 构建在 Cloudflare 的 Developer Platform 和 API 之上,同时依托一个由编译为 WebAssembly 的开源 Rust 包组成的生态系统:
这些项目让 Kitesurf 成为可能。它们保留各自的许可证;仓库的 NOTICE 文件记录了第三方声明。
Kitesurf 有三个主要部分:Engine 管理浏览器会话和客户端连接,PageScript 运行页面及其 JavaScript,PageRenderer 绘制结果。
所有包——引擎、它的 Rust 核心、DOM shims、渲染器以及 Kitesurf CLI——分别位于仓库 packages 目录下的各个文件夹中,你可以在那里探索各个部分是如何组合在一起的。
要在本地运行 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 DevTools 中试用页面,或以编程方式使用它。
你可以配合 NodeJS 脚本使用 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 harness 指向本地 CDP 端口(agent 们很喜欢 CDP),然后看它完全掌控 Kitesurf。
当你在本地完成修改和测试后,可以将引擎部署到你自己的账户,并从那里使用 Kitesurf,而不是使用我们提供的 Browser Run 托管 API。请注意,需要 Workers Paid 计划,因为 Kitesurf 使用 Dynamic Workers 为页面创建隔离的 Workers。 pnpm run deploy
帮助我们让它变得更好
与我们所有开源项目一样,Kitesurf 托管在 GitHub 上,我们欢迎 fork 和贡献。但请注意,Kitesurf 正处于密集开发阶段,我们专注于让引擎更兼容(去看看 Web Platform Test 的进展)、更可靠、更高效。
如果你想贡献,请从贡献指南开始。提交一个带有最小复现或建议方案 的 issue,并在提交 pull request 之前获得维护者的认可。带有测试、清晰证据和明确范围的针对性修复比大规模重写或无关的清理更容易审查,但贡献不一定非要是代码:一个能复现渲染 bug 的小页面、一个失败的自动化工作流,或一处清晰的文档修正,都能帮助我们向前推进。
Kitesurf 正在快速演进。请关注博客和 changelog 中的更新,并留意官方落地页上关于 Web Platform Tests 页面和基准测试中标准兼容性的最新信息。
也欢迎来 Discord 与团队交流。我们正在为 agent 构建浏览器,很希望你能帮助我们让它变得更好。
相关标签 AgentsAIBrowser RunOpen SourceRustWebAssemblyWorkers
在社交媒体上关注我们 感谢订阅!请查收收件箱以完成确认。
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。