1 分•作者: galaxyeye•15 天前
Hi HN,
我想分享一个我们一直在开发一段时间的开源项目:<i>Browser4</i>。
这个项目的动因源于一个反复出现的困扰:大多数浏览器自动化工具(Playwright、Selenium、Puppeteer)非常适合<i>人工编写的脚本</i>,但在用作<i>AI智能体的核心执行层</i>或在高并发场景下时,就会开始出现问题。
因此,我们没有选择“再做一个Playwright的封装”,而是尝试了不同的方向:
<i>设计一个将AI智能体作为第一公民的浏览器引擎。</i>
### 什么是Browser4
Browser4是一个基于<i>原生Chrome DevTools Protocol (CDP)</i>构建的浏览器自动化引擎,重点在于:
* <i>协程安全的并发</i>(设计用于并行运行多个浏览器会话)
* <i>面向智能体的API</i>(导航、交互、提取作为可组合的动作)
* <i>混合提取</i>:ML智能体驱动的提取 + LLM提取 + 结构化选择器 + 类SQL的DOM查询语言 (X-SQL)
* <i>低级别控制</i>,没有Playwright风格的抽象开销
它使用<i>Kotlin/JVM</i>编写,主要是因为我们需要可预测的并发行为和在高负载下的长期稳定性。
该项目完全开源(Apache 2.0 许可证)。
### 它<i>不是</i>什么
* 它不是Playwright的直接替代品。
* 它不是一个无代码RPA工具。
* 它不是“LLM魔法”——LLM位于浏览器引擎的<i>外部</i>。
Browser4有意保持与浏览器执行层的紧密联系,并将规划/推理留给外部智能体循环。
### 我们正在测试的当前用例
* 大规模Web数据提取
* 智能体工作流程(搜索 → 导航 → 提取 → 总结)
* 频繁回访的价格/内容监控
* 高并发爬取,其中浏览器启动和上下文切换是瓶颈
在单台机器上,我们可以维持<i>非常高的每日页面访问量</i>,尽管我们仍在验证不同工作负载的基准测试结果。
### 待解决的问题(我希望得到反馈)
* 对于智能体系统,完全绕过Playwright并更接近CDP是否有意义?
* 您认为目前将LLM与浏览器自动化结合时,最大的痛点是什么?
* JVM在这里是一个合理的选择吗,还是Python仍然是更好的权衡,尽管存在并发限制?
* 您希望在为AI智能体构建的浏览器引擎中看到哪些抽象?
### 链接
* GitHub: <a href="https://github.com/platonai/browser4" rel="nofollow">https://github.com/platonai/browser4</a>
* 网站(简要概述): <a href="https://browser4.io" rel="nofollow">https://browser4.io</a>
欢迎回答技术问题或听取批评——特别是来自正在生产环境中运行浏览器自动化或智能体系统的人。
感谢阅读。