2026年8月6日,Cloudflare发布了Kitesurf——一个为代理而非人类设计的浏览器。内部没有Chromium:该引擎基于Rust构建,编译为WebAssembly,并完全在Workers的V8隔离环境中运行。公司声称,在典型的代理任务中,它所消耗的CPU和内存比Chromium少3到7倍。在此之前的四个月,开源的Obscura——同样是Rust,同样“为代理”——在GitHub上获得了超过22000个星标,Cloudflare明确承认,Kitesurf的第一个原型是Obscura在Workers上的移植。
自动化引擎市场出现了分裂:一方面是节省资源的轻量级代理运行时;另一方面是能够完成所有任务的重型Chromium构建,包括通过反机器人检查。让我们逐一分析每个类别的实际表现,以及节省的界限。
比较的标准是什么
引擎的基准测试喜欢用速度和内存来比较,但对于实际的抓取和代理来说,四个独立的维度更为重要,第一项的优势并不能说明其他方面:
- 启动成本——每个页面的CPU和内存。这直接转化为在数千个并行会话下的基础设施账单。
- 网络平台的完整性——有多少现代网站能够正确渲染。这里通过Web平台测试(WPT)来衡量覆盖率。
- 反机器人通过率——会话是否能够通过TLS握手、JS挑战和行为检查。
- 网络出口控制——您是否可以控制网站看到请求的IP和ASN。
Kitesurf:节省与完整性的对比
Kitesurf由多个模块组成:HTML/CSS的渲染和解析使用Blitz,CSS引擎Stylo来自Firefox,JS运行时Boa基于Rust,文本排版通过Parley实现。根据公司说法,开发耗时12周。
Cloudflare与Chromium的自有基准测试数据:
- 每个屏幕截图的CPU——380毫秒对比1173毫秒(少了3.1倍);
- 提取HTML的CPU——229毫秒对比877毫秒(少了3.8倍);
- 每个屏幕截图的内存——57.8 MiB对比271 MiB(少了4.7倍);
- 提取HTML的内存——39.4 MiB对比273.7 MiB(少了7倍);
- 而Kitesurf的执行时间更慢:1148毫秒对比637毫秒的屏幕截图和820毫秒对比472毫秒的HTML——慢了1.7到1.8倍。
这是一个诚实的交换:您付出了延迟,但获得了在一台机器上保持更多并行会话的能力。根据网络标准,该引擎在其年龄上表现不错——在发布时大约通过了215,000个WPT子测试,目前文档中声明超过235,000个。各部分的覆盖率:DOM 97%,HTML 96%,Selection 99%,SVG 97%,Encoding 99%,CORS 95%,XHR 95%,URL 83%。维基百科、Hacker News和典型的SPA都能正确渲染。
Kitesurf的连接方式很常见:CDP端点(这意味着支持Puppeteer和Playwright),代理的MCP,REST端点Quick Actions用于屏幕截图和HTML提取。只需添加参数browser=kitesurf即可。测试版免费,但账户有使用限制;源代码承诺会公开。
Kitesurf的局限性——这在其文档中有说明
限制列表很短,但涵盖了现代网站的所有防线。Kitesurf不支持:
- 视频播放;
- WebGL渲染;
- 与真实TLS指纹的机器人挑战握手;
- 需要持续状态的长期授权会话。
第三点是关键。Cloudflare自己写道:如果任务涉及机器人挑战,请使用常规的Chromium在Browser Run中。这意味着,作为在数百万个网站上设置这些挑战的公司,Cloudflare诚实地警告说,它自己的轻量级浏览器无法通过这些挑战。这不是测试版的缺陷,而是架构的结果:TLS指纹(JA3/JA4)是在网络栈中生成的,而不是在渲染器中,Rust引擎在Workers的隔离环境中物理上握手的方式与真实的Chrome不同。
非标准引擎的副作用是独特性。反机器人脚本多年来是根据Chromium的伪影进行校准的:属性的顺序、错误的特性、API的时间。没有这些伪影的引擎看起来并不是“更干净”——它看起来是不同的,而“不同”在反机器人评分中比“与所有人一样”要贵。我们在对2026年隐形浏览器的评测中已经讨论过这个效果:JS指纹的清洁度基准和在真实目标上的结果是不同的,因为真实目标考虑的是信号的综合。
Obscura:同类产品,但在您的服务器上
Obscura是该类别的主要开源代表。代码库创建于2026年4月13日,使用Apache-2.0许可证,截至8月底——超过22000个星标。内部是真正的V8,外部是CDP,也就是说,它同样是Puppeteer和Playwright的无头Chrome的替代品。
关键的架构决策是:Obscura没有排版和渲染的管道,它根本不绘制图像。因此,作者的基准测试数据——在33个场景中的中位数显示出约21倍的速度和约七分之一的内存,相较于无头Chrome。在四个工作线程上持续加载React页面时,它每秒处理40个页面,内存使用112 MB,而Chrome每秒仅处理3个页面,内存使用4.2 GB。WPT的“核心”覆盖率(DOM、HTML、URL、fetch)为83.3%,即318,916个子测试中的382,891个。
与Kitesurf的实际差异不在于速度,而在于一切运行的地方。Obscura由您自己部署——您自己决定它通过哪个网络出口。Kitesurf则运行在他人的网络中,这引出了我们要讨论的主要问题。
谁拥有您的出站IP
关于CPU节省的讨论已经很多,而关于网络出口的讨论几乎没有。实际上,Kitesurf在Workers上运行,这意味着请求是从Cloudflare的网络中发出的,使用其ASN。Kitesurf的文档中没有关于控制出站IP或连接自有代理的说明。相邻的Browser Rendering的开发者也面临同样的问题:尝试通过proxyServer在BrowserContext中设置上游代理会失败,出现net::ERR_PROXY_CONNECTION_FAILED,而Workers并没有提供固定的专用出口地址。
对于Cloudflare的目标场景来说,这很正常:代理访问公开页面,截取屏幕截图,提取HTML。但一旦目标受到一点保护,您就会得到最糟糕的信号组合:
- IP属于大型云ASN,因此被标记为服务器;
- TLS指纹与任何真实浏览器都不匹配;
- 您无法更改这两者,因为您不拥有网络栈或出口。
这种情况解释了为什么在2026年关于代理的讨论越来越多地转向合法和付费访问的问题——从签约代理到付费请求,这一点我们在对代理钱包和HTTP 402的分析中提到过。如果网站不允许您访问,世界上最经济的引擎也无济于事:您根本无法获得您未被授予的页面。
根据任务选择什么
Kitesurf——当目标是公开的且数量众多时:监控公共页面,提取HTML以进行RAG索引,大规模截屏,便宜的代理文档绕过。此外,免费测试版和零基础设施的麻烦。不要在需要登录、反机器人或特定地理位置的地方使用它。
Obscura——同样的负载特征,但需要控制:自己的托管、自己的网络出口、自己的补丁。适合作为解析园区的工作马,页面成本重要,而页面外观则完全不重要。与代理的兼容性很好,因为您可以完全控制过程。
常规Chromium与Playwright或Puppeteer——当需要视频、WebGL、复杂的授权会话和真实渲染时。资源消耗较高,但结果可预测。
隐形Chromium构建(Camoufox、nodriver、patchright,以及最近的CloakBrowser,自2026年2月以来获得超过30,000个星标)——当目标受到保护且没有其他选择时。资源消耗略高于裸Chromium,但保留了最重要的:真实的网络栈,可以插入所需的出口。
对于最后三个选项的共同点是:引擎决定您在浏览器级别的外观,而住宅代理决定您在网络级别的外观。对于公开目标和内部任务,使用数据中心地址就足够了——它们更便宜且更快。对于具有真实保护的网站,页面的成本不是按内存的MB计算,而是按成功响应的比例计算。
结论
Kitesurf和Obscura是对实际痛点的诚实且成功的回应:为了提取HTML而驱动Chromium确实是浪费,Apify和网络抓取俱乐部的报告证实了这一点——2025年65.8%的专家使用的代理比前一年更多,58.3%增加了预算。自动化的开支在增加,而内存节省3到7倍是一个有力的论点。
但节省的效果仅在第一个受保护的目标之前有效。轻量级引擎无法通过机器人挑战——这在Cloudflare的文档中有说明。云运行时不提供对出站IP的控制。因此,2026年的代理堆栈由两个独立的层组成:用于大量公开页面的廉价引擎和用于其他所有内容的完整浏览器,带有可控的网络出口。试图用一个工具覆盖这两个层会导致在需要Rust的地方为Chromium支付过高的费用,或者在缺少IP的地方解析器的转换率为零。
