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)、lightpanda、chrome。改成 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_navigate、browser_snapshot 等工具调用都会走 Lightpanda 执行。
自动 Chrome 兜底是怎么工作的
这是整个集成里最巧妙的部分。Lightpanda 毕竟还在 Beta,不可能覆盖 Chrome 的全部能力,但 Hermes 不会让你手动判断“这个操作 Lightpanda 行不行”——它做了三层兜底:
- 截图自动转 Chrome:Lightpanda 没有图形渲染器,截图只能返回一张占位图。Hermes 通过文件大小(小于 20KB 的 PNG 判定为占位图)识别这种情况,自动改用 Chrome 重新截图。
browser_vision(把截图发给视觉模型分析的工具)则更直接——配置了 Lightpanda 时直接预路由到 Chrome,省一次来回。 - 失败命令自动重试:Lightpanda 上超时、报错的命令,Hermes 会自动在 Chrome 上重试一次,对你完全透明。
- 状态隔离:兜底用的 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 后照着上面的步骤,几分钟就能把引擎切过去。