35,056 颗星、Zig 从零写的无头浏览器:Lightpanda 快 9 倍、内存省 16 倍,它到底想解决什么问题
用 Zig 从零写的无头浏览器,最近冲到了 35,056 颗星。和 Chrome 比,它快 9 倍、内存省 16 倍——但这串数字背后,它到底解决了什么问题?
Lightpanda Browser(https://github.com/lightpanda-io/browser)目前已更新到 v0.4.0,许可协议为 AGPL-3.0,由 lightpanda-io 团队维护。
它不是又一个 Chromium 套壳
目前大多数无头浏览器都是 Chromium 的马甲。Chromium 很成熟,但代价是:每个标签页都是一个独立进程,吃内存;渲染引擎藏在几百兆的二进制里;想做定制化改进,要跟巨大的代码库搏斗。
Lightpanda 选择了完全不同的路径:用 Zig 从零写浏览器内核。官方自己说得很直接——”Not a Chromium fork. Not a WebKit patch. A new browser, written in Zig.”
这个选择的后果直接体现在数据上:跑 933 个真实网页的压力测试(AWS EC2 m5.large),Lightpanda 峰值内存 123MB,Chrome headless 要 2GB;执行时间 5 秒 vs 46 秒。官方把这个对比放在 README 最前面,https://lightpanda.io/docs/core-concepts/benchmarks 可以看完整数据。
这串数字不是实验室基准测试,是真实抓取场景。数字好看,但更值得问的是:它快和轻的背后,放弃了什么?
放弃的东西,比你想象的少
很多人听到”从零写浏览器”,第一反应是”能用吗”。Lightpanda 支持 CDP(Chrome DevTools Protocol),这意味着 Puppeteer 和 Playwright 脚本几乎不用改,可以直接连上来:
import puppeteer from 'puppeteer-core';
const browser = await puppeteer.connect({
browserWSEndpoint: "ws://127.0.0.1:9222",
});
// 之后的脚本和连 Chrome headless 完全一样
也支持 Webdriver Bidi 协议。v0.3.7 开始完整支持 SVG DOM,包括 geometry、structural elements、text DOM 和 live collections。v0.3.6 到 v0.3.7 之间还加了 FormData、URL.isSameOrigin、iframe srcdoc 等 Web API。基础覆盖已经相当完整。
v0.4.0(2026 年 8 月 31 日)是一个值得注意的 breaking change 版本:iframe 和 worker 不再默认加载,外部样式表也默认关闭了。如果要恢复旧行为,需要手动传 --load-resources iframe 或 --load-resources worker。这个改动说明团队在资源控制上选择了更精细的粒度,但也意味着升级前要看 release notes。
真正有意思的功能:agent 模式
Lightpanda 有一个内置的 agent 模式,用自然语言驱动浏览器:
./lightpanda agent --task "帮我找 Hacker News 今日热帖"
agent 跑在浏览器进程内部,每次工具调用是直接操作,不是通过外部 API。这让它保留了速度和内存优势。
agent 输出的产物叫 PandaScript——一段原生 JavaScript,内置了 Lightpanda 的浏览器原语。导出后可以用 lightpanda run session.js 直接重放,不需要 LLM,不花 token。
这才是它真正有意思的地方:LLM 负责原型开发,生产的脚本可以脱离模型跑进生产环境。原型和生产的边界被刻意设计成可迁移的。
支持的 LLM 提供方列表很长:Anthropic、OpenAI、Gemini、Google Vertex AI、Mistral、Hugging Face、Vercel AI Gateway(一个 key 管所有主流模型)、任何 OpenAI 兼容端点、本地 Ollama 或 llama.cpp。v0.4.0 连 yfinance 这样的金融数据工具也做了集成。
官方博客里有一篇《Benchmarking Lightpanda’s native agent》(https://lightpanda.io/blog/posts/benchmarking-native-agent,2026 年 6 月),值得一读,看他们怎么定义和测量”browser agent 性能”这件事。
谁该用它,谁该等
适合用 Lightpanda 的场景:
- AI Agent 需要高频操作用浏览器(爬虫、数据采集、表单自动化)
- 资源受限环境(内存抠门的服务器、多实例并发跑)
- 想把 AI 生成的浏览脚本直接量产化,不想一直付 API 费用
- 研究浏览器内核实现,Zig 语言实践
不适合的场景:
- 需要完整浏览器兼容(所有网站的复杂 JS 行为、Chrome Extension)
- 生产依赖 Playwright 完整功能集(Lightpanda 还在追赶,部分高级特性没有)
- 团队没有 Zig 维护能力,需要商业级支持
- musl 系 Linux 用户(Alpine 等)—— 官方 binary 是 glibc 编译的,需要换基础镜像或从源码编译
安装和使用门槛
README 里写得很清楚。Linux 一条命令:
curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux && chmod a+x ./lightpanda
./lightpanda version
Docker 也官方支持:
docker run -d --name lightpanda -p 127.0.0.1:9222:9222 lightpanda/browser:nightly
MacOS、Windows(WSL2)、aarch64 都有支持。Windows 原生 binary 目前没有,想在 Windows 上用得装 WSL2。
官方文档在 https://lightpanda.io,有完整的 agent 文档、协议参考和 benchmark 说明。
竞品横向对比
和主流方案对比:
| 方案 | 语言 | 内存开销 | AI 原生支持 | License |
|---|---|---|---|---|
| Lightpanda | Zig | ~16x less | 内置 agent + PandaScript | AGPL-3.0 |
| Playwright/Chrome | JS/Chromium | 高 | 无内置 | Apache-2.0 |
| Puppeteer | JS/Chromium | 高 | 无内置 | Apache-2.0 |
| Browserless | Node.js | 中 | API 层 | proprietary |
社区对比讨论可以看 https://openaltfinder.com/tools/lightpanda 和 https://serp.fast/tools/lightpanda,评测普遍提到它对 Zig 技术栈的团队吸引力最大。
下一步建议
想尝鲜?从抓一个 URL 开始:
./lightpanda fetch --dump html https://github.com
想接 Playwright?先起服务:
./lightpanda serve --host 127.0.0.1 --port 9222
然后按官方 Puppeteer 示例连上去,整个过程不超过 10 分钟。
想把 AI agent 集成进自己的工作流?看 https://lightpanda.io/docs/usage/agent,官方文档里 agent 模式的说明比 README 更完整。
35,000 颗星不是白来的。如果你正在为 AI Agent 选一个浏览器底层,它目前是最认真的选项之一。
相关链接:
- GitHub:https://github.com/lightpanda-io/browser
- 官方文档:https://lightpanda.io
- 官方博客:https://lightpanda.io/blog/
- Benchmark 数据:https://lightpanda.io/docs/core-concepts/benchmarks
- Agent 性能测试:https://lightpanda.io/blog/posts/benchmarking-native-agent
- 为什么从零写浏览器:https://lightpanda.io/blog/posts/why-build-a-new-browser
评论区
登录后可评论。