我们有个需求就是需要大规模部署用于网页抓取/RL 训练的浏览器实例,Chrome 在我们的调研之下有点难以裁剪。所以我们尝试从头弄了一个轻量级无头浏览器。
为了达到足够高的兼容性,我们花了比较久的时间把浏览器兼容性弄到了一个不错的程度。你能想象到的 Cookie, WebStorage, IndexedDB, OPFS, iframe, Worker 等等, 包括浏览器安全相关的支持我们都花大力气做了。渲染结果和 Chrome 不能达到 100%,但是对于网页抓取/RL 训练也是完全够用了。
从我们内部 benchmark 看,应该是市面上无头浏览器里面兼容性最好的。
我们已经在生产环境部署了一阵子了,效果不错,实测内存是 Chrome 的 1/7 ,冷启动速度 5x ,然后 CPU 占用是 2/3。
在渲染架构这块也有一些小巧思,写了一篇文章记录一下小巧思: https://browser.lexmount.cn/blog/moli-ai-browser
说服领导把这玩意开源了。对于普通用户来说,可以给 Agent 轻量的过 WAF 抓取你想要的网页(知乎,公众号 etc.)
有兴趣的可以看看: https://github.com/lexmount/moli

