轻量级无头浏览器新选择:Lightpanda 用 Zig 重写,内存少 9 倍
Chrome 太重?试试这个用 Zig 重写的浏览器,内存少 9 倍
做自动化和爬虫的朋友,有没有被 Chrome headless 的内存占用折磨过?100 个页面 2GB 内存跑没了,笔记本风扇呼呼转。
今天挖到一个有意思的项目——Lightpanda,一个从零用 Zig 写的无头浏览器,不是 Chromium 分支,不是 WebKit 补丁,就纯粹是从头造。
核心数据很炸:100 个页面,Lightpanda 内存峰值 123MB,Chrome headless 要 2GB。执行时间 5 秒 vs 46 秒,快大约 9 倍。
这背后是 Zig 语言的内存管理优势,加上没有历史包袱的架构设计。
它完全兼容 CDP 协议(Chrome DevTools Protocol),意味着你现有的 Playwright、Puppeteer、chromedp 代码只需要改一行连接地址就能切换过来。不用改任何业务逻辑。
使用方式很简单:
第一步:装上
Linux 一行命令:
curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux && chmod a+x ./lightpanda
Mac 也支持,用 aarch64-macos 版本。或者直接 Docker:
docker run -d --name lightpanda -p 9222:9222 lightpanda/browser:nightly
第二步:启动 CDP 服务
./lightpanda serve --obey_robots --host 127.0.0.1 --port 9222
obey_robots 参数会遵守 robots.txt,很友好。
第三步:接 Playwright/Puppeteer
用 Playwright 连过来:
import { chromium } from 'playwright-core';
const browser = await chromium.connectOverCDP('http://127.0.0.1:9222');
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());
就改一个连接地址,其他照旧。
它还支持直接 CLI 抓页面:
./lightpanda fetch --obey_robots https://example.com
输出 Markdown 或 HTML 都可以。
适用场景:
大规模爬虫——内存省一大截,机器跑得更安静。
AI Agent 自动化——CDP 兼容好,现有工具链无缝接。
CI/CD 里的浏览器测试——启动快、占用低,GitHub Actions 里跑不心疼。
开发调试——本地跑一个轻量浏览器,不用开整 Chrome。
目前还是 Beta 阶段,活跃开发中,License 是 AGPL-3.0。对爬虫和自动化场景来说,这个性能提升是实打实的——不换代码,只换浏览器,就能省这么多资源,还是很香的。
GitHub 链接:https://github.com/lightpanda-io/browser
评论区
登录后可评论。