Hermes 原生支持 Lightpanda:速度快 9 倍、内存省 16 倍,还有自动 Chrome 兜底


你的 Hermes agent 住在一台每月 5 美元的小 VPS 上,白天替你盯着网页、抓数据、跑定时任务。本来一切岁月静好,直到你发现账单不对劲:光是一个浏览器进程就吃掉 200MB 内存,启动还要等好几秒,几个任务一起跑,小机器的内存直接见底。浏览器只是 agent 的“眼睛”,凭什么要背一个完整 Chrome 的重量?

这就是 Lightpanda 出现的原因——一个用 Zig 从零写出来的无头浏览器,专为机器和 AI 设计。而从 v0.13.0 开始,Hermes 原生支持把它当作本地浏览器引擎:导航、抓取、点击这些日常操作走 Lightpanda,速度翻倍、内存骤降;遇到它暂时搞不定的操作(比如截图),Hermes 会自动切回 Chrome 兜底。这篇文章讲清楚它是什么、怎么配、以及什么时候该用。

Lightpanda 是什么

Lightpanda 是一个开源的无头浏览器(headless browser):没有窗口、没有界面,只负责加载网页、执行 JavaScript、把页面内容变成程序能读的数据。无头浏览器不算新鲜事,Chrome 自己就带无头模式——但 Lightpanda 的路子不一样:

  • 用 Zig 从零编写,不是 Chromium 的套壳或魔改
  • 完全没有图形渲染管线——AI 和爬虫又不需要“看”画面,这部分重资产直接砍掉
  • 把全部资源留给 JavaScript 执行和网络请求

这就像同样帮你跑腿,别人开一辆满载设备的房车,Lightpanda 只骑一辆电动自行车——大多数时候你要的只是“到达”。

快 9 倍、内存省 16 倍,是真的

Lightpanda 官方在 AWS EC2 m5.large 实例上做了基准测试,并发请求 933 个真实网页,对比 Headless Chrome:

指标 Lightpanda Headless Chrome
100 页内存峰值 123 MB 2 GB
100 页执行时间 5 秒 46 秒

换算下来:内存省约 16 倍,速度快约 9 倍。加上 Chrome 冷启动要好几秒、常驻进程约 200MB,而 Lightpanda 几乎是瞬时启动——对长期跑在小型 VPS 上的 agent 来说,这就是实打实的账单差异:以前一台 8GB 内存的服务器只能跑几个 Chrome 实例,现在可以轻松拉起几十个 Lightpanda。

三行配置,把引擎切过去

Hermes 通过 agent-browser(Vercel 开源的浏览器 CLI)驱动本地浏览器,走 CDP 协议(Chrome DevTools Protocol,浏览器自动化的事实标准)。Lightpanda 集成从 v0.13.0 起就内置了,无需装额外插件。

第一步:安装 Lightpanda 二进制(以 Apple Silicon Mac 为例):

curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-aarch64-macos
chmod +x lightpanda
sudo mv lightpanda /usr/local/bin/

Linux 用户去 Lightpanda 官方文档 下载对应平台版本,放到 PATH 里即可。

第二步:改配置。打开 ~/.hermes/config.yaml,在 browser: 块下加一行:

browser:
  engine: lightpanda

不想改文件的话,用环境变量也行:

export AGENT_BROWSER_ENGINE=lightpanda

引擎有三个选项:auto(默认,即 Chrome)、lightpandachrome。改成 lightpanda 后想回退,把值改回 auto 就行。

第三步:验证。启动 Hermes,运行 /browser 命令,会看到:

🌐 Browser: local Lightpanda (agent-browser --engine lightpanda)
   ⚡ Lightpanda: faster navigation, no screenshot support
   Automatic Chrome fallback for screenshots and failed commands

看到这行输出,说明你的 agent 已经把浏览器引擎切到了 Lightpanda。之后的 browser_navigatebrowser_snapshot 等工具调用都会走 Lightpanda 执行。

自动 Chrome 兜底是怎么工作的

这是整个集成里最巧妙的部分。Lightpanda 毕竟还在 Beta,不可能覆盖 Chrome 的全部能力,但 Hermes 不会让你手动判断“这个操作 Lightpanda 行不行”——它做了三层兜底:

  1. 截图自动转 Chrome:Lightpanda 没有图形渲染器,截图只能返回一张占位图。Hermes 通过文件大小(小于 20KB 的 PNG 判定为占位图)识别这种情况,自动改用 Chrome 重新截图。browser_vision(把截图发给视觉模型分析的工具)则更直接——配置了 Lightpanda 时直接预路由到 Chrome,省一次来回。
  2. 失败命令自动重试:Lightpanda 上超时、报错的命令,Hermes 会自动在 Chrome 上重试一次,对你完全透明。
  3. 状态隔离:兜底用的 Chrome 是独立的临时会话,不会和 Lightpanda 的会话混在一起,避免两个引擎的状态互相污染。

换句话说:Lightpanda 负责快,Chrome 负责稳,切换由 Hermes 自动完成,你什么都不用管。

什么能用、什么还不能

Lightpanda 目前支持的核心操作,恰好覆盖了 agent 的完整工作流:

支持 ✅ 自动兜底到 Chrome ⚡ 暂不支持 ❌
open 打开网页 screenshot 截图 文件上传
snapshot 读取页面 pdf 生成 PDF 多标签页
click 点击 任何报错/超时的命令 剪贴板
type 输入文字 地理位置模拟
scroll 滚动 网络条件模拟
back 后退
press 按键
eval 执行 JS

对绝大多数 agent 场景——爬取网页、抓取数据、表单自动化、定时巡检——上面“支持”这一列已经够用。

什么时候该换 Lightpanda

适合切换的场景:

  • 长期驻留的 agent:跑在 VPS 上 24 小时在线的 agent,浏览器常驻内存是持续成本,Lightpanda 的省内存优势会随时间放大
  • 大量并发抓取:需要同时开几十个浏览器实例做数据采集时,内存预算直接决定你能开几个
  • 对启动速度敏感:冷启动时间从“秒级”降到“瞬时”,短任务的体验提升明显

暂时不建议的场景:

  • 重度视觉任务:需要频繁截图、读图分析页面(比如处理验证码)的工作流,兜底机制虽然能工作,但每次都绕道 Chrome,收益打折
  • 复杂现代页面:Lightpanda 还在 Beta,遇到特别复杂的单页应用或冷门 Web API,可能出现兼容性问题——好在有兜底,最坏情况是降级到 Chrome

几点提醒

  • 安装后记得确认二进制在 PATH 里,lightpanda version 能跑通再切引擎
  • 引擎切换只影响本地 agent-browser 路径;用 Browserbase、Firecrawl 等云浏览器服务的配置不受影响
  • 想对比效果的话,可以先在测试机上把 engine 改成 lightpanda 跑一天,观察内存占用和成功率,再决定是否上生产

浏览器对 agent 来说就像人眼——你不需要它有多华丽,只需要它看得快、看得准、还不烧钱。Lightpanda 集成让 Hermes 在这条路上又近了一步:日常操作交给 12MB 的轻量引擎,关键时刻 Chrome 随时待命。想了解 Hermes 浏览器工具的全貌,可以看看浏览器自动化文档;如果你还在纠结用哪个浏览器后端,这篇讲 Browser Use 成为默认后端的文章 也值得一读。装好 Hermes 后照着上面的步骤,几分钟就能把引擎切过去。