SuperAPI AI 工具集

lightpanda-browser

智能体与模型

查看项目

更新于 10-15 11:05

技能介绍

Lightpanda 是一款用 Zig 从零编写的无头浏览器,专为 AI 智能体、网页抓取和自动化设计。它不基于 Chromium、Blink 或 WebKit,而是全新实现,JavaScript 执行由 V8 引擎完成。据资料称,其内存占用约为 Chrome 无头模式的九分之一,速度约为其十一倍。项目当前处于 Beta 阶段,仍在积极开发中,采用 AGPL-3.0 许可。

主要能力

Lightpanda 兼容 CDP(Chrome DevTools Protocol),因此可与 Playwright、Puppeteer、chromedp 等现有工具配合使用。它支持通过 --obey_robots 标志遵守 robots.txt。资料列出的部分受支持 Web API 包括:DOM 树操作与查询、JavaScript 执行(V8)、XMLHttpRequest(XHR)、Fetch API、Cookie 管理、网络拦截和代理支持,且支持范围仍在扩展。

安装方式

macOS(Apple Silicon): curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-aarch64-macos chmod a+x ./lightpanda

Linux(x86_64): curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux chmod a+x ./lightpanda

Docker(支持 amd64 和 arm64): docker run -d --name lightpanda -p 9222:9222 lightpanda/browser:nightly

使用方式

CLI 提供两种主要用法。抓取 URL 并输出渲染后的 HTML: ./lightpanda fetch --obey_robots --log_format pretty --log_level info https://example.com

启动 CDP 服务器: ./lightpanda serve --obey_robots --log_format pretty --log_level info --host 127.0.0.1 --port 9222

该命令会启动一个基于 WebSocket 的 CDP 服务器,供程序化控制。

CLI 标志包括:--obey_robots(遵守 robots.txt)、--log_format pretty(可读日志输出)、--log_level info(日志级别:debug、info、warn、error)、--host 127.0.0.1(CDP 服务器绑定地址)、--port 9222(CDP 服务器端口)、--insecure_disable_tls_host_verification(禁用 TLS 验证,仅用于测试)。

与 Playwright、Puppeteer、Go(chromedp)和 Python 的集成方式均为先启动 CDP 服务器,再通过 CDP 连接。资料提供了各语言的示例代码,涵盖连接、导航、获取标题与内容等操作。

网页抓取模式

资料给出批量页面抓取示例:连接 CDP 后创建上下文,遍历 URL 列表,逐页导航并提取标题、正文文本和链接。还给出结构化数据提取示例,通过 page.evaluate 查询 .product-card 等选择器,提取名称、价格和链接。

Docker Compose 集成

可将 Lightpanda 作为服务与抓取应用一起编排,暴露 9222 端口,并通过环境变量 BROWSER_WS_ENDPOINT=ws://lightpanda:9222 连接。

配置

环境变量 LIGHTPANDA_DISABLE_TELEMETRY 设为 true 可退出使用指标收集。

性能对比

资料给出的对比为:内存约少 9 倍,速度约快 11 倍,二进制体积小(Zig),无视觉渲染;Chrome 无头模式为基准,体积大(Chromium),具备完整渲染引擎。

适用场景

适合:运行需要浏览网页的 AI 智能体;大规模批量抓取(内存/CPU 节省重要);自动化表单提交与数据提取;在资源受限的容器中运行;需要 CDP 兼容但不需要完整视觉渲染的场景。

不适用:需要像素级精确截图或 PDF 生成;需要完整 Web API 覆盖(Lightpanda 仍为部分支持);视觉回归测试;测试浏览器特定渲染行为。这些场景应改用 Chrome/Playwright。

从源码构建

需要 Zig 0.15.2、Rust、CMake 及系统依赖。Ubuntu/Debian 依赖安装命令: sudo apt install xz-utils ca-certificates pkg-config libglib2.0-dev clang make curl

构建步骤: git clone https://github.com/lightpanda-io/browser.git cd browser zig build

可选:预构建 V8 快照以加快启动: zig build snapshot_creator -- src/snapshot.bin zig build -Dsnapshot_path=../../snapshot.bin

故障排查

端口 9222 连接被拒:确认 ./lightpanda serve 正在运行;从 Docker/远程连接时检查 --host 0.0.0.0。Playwright 脚本在更新后失效:Lightpanda 处于 Beta,Playwright 的能力检测可能因版本而异,建议固定 Lightpanda 版本或一致使用 nightly。缺少 Web API 支持:查看 zig-js-runtime 仓库了解当前 API 覆盖,并在 lightpanda-io/browser 提交 issue。

相关链接

GitHub:https://github.com/lightpanda-io/browser 运行时 API:https://github.com/lightpanda-io/zig-js-runtime