35,056 颗星、Zig 从零写的无头浏览器:Lightpanda 快 9 倍、内存省 16 倍,它到底想解决什么问题

用 Zig 从零写的无头浏览器,最近冲到了 35,056 颗星。和 Chrome 比,它快 9 倍、内存省 16 倍——但这串数字背后,它到底解决了什么问题?

Lightpanda Browserhttps://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、OpenAIGemini、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/lightpandahttps://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 选一个浏览器底层,它目前是最认真的选项之一。


相关链接:

评论区

0 条评论

登录后可评论。

器匠·开发者工具 411 阅读