## 项目概述

Lightpanda 是一个从头构建的无头浏览器，专为 AI 代理和自动化设计。它并非 Chromium 的分支，也不是 WebKit 的补丁，而是使用 Zig 语言编写的新浏览器。项目旨在提供高性能、低资源消耗的浏览器自动化解决方案，支持通过 CDP（Chrome DevTools Protocol）与 Puppeteer、Playwright 等工具集成。

## 核心功能

- **高性能**：相比 Headless Chrome，内存占用减少约 16 倍，执行速度快约 9 倍（基于官方基准测试）。
- **CDP 支持**：提供 WebSocket 服务器，兼容 Puppeteer 和 Playwright。
- **Agent 模式**：内置 AI 代理，支持自然语言控制浏览器，可生成 PandaScript 脚本。
- **MCP 支持**：提供原生 MCP 服务器，支持 stdio 和 HTTP 传输，支持多会话隔离。
- **页面抓取**：支持将网页内容转储为 HTML 或 Markdown。
- **网络功能**：支持 Cookies、自定义 HTTP 头、代理、网络拦截、robots.txt 遵守。
- **JavaScript 执行**：基于 V8 引擎，支持 DOM API、Ajax（XHR 和 Fetch）。

## 适用与不适用场景

**适用场景**：
- AI 代理的网页自动化任务。
- 大规模网页抓取和数据提取。
- 需要低资源消耗的服务器端浏览器环境。
- 与 Puppeteer/Playwright 生态集成。

**不适用场景**：
- 需要完整图形渲染的浏览器场景（如视觉测试）。
- 依赖大量 Web API 的复杂网站（当前 API 覆盖有限）。
- 需要 CORS 支持的场景（尚未实现）。
- Windows 原生环境（需通过 WSL2）。

## 技术架构与依赖

- **语言**：Zig 0.15.2
- **JavaScript 引擎**：V8
- **HTTP 加载器**：Libcurl
- **HTML 解析器**：html5ever
- **协议**：CDP、MCP
- **构建工具**：Make、Zig Build
- **测试**：单元测试、端到端测试、Web Platform Tests

## 安装与快速开始

**包管理器安装**：
- Homebrew（macOS）：`brew install lightpanda-io/browser/lightpanda`
- Arch Linux（AUR）：`yay -S lightpanda-nightly-bin`

**下载二进制**：从 [nightly builds](https://github.com/lightpanda-io/browser/releases/tag/nightly) 下载 Linux 或 macOS 的二进制文件。

**Docker 安装**：
```bash
docker run -d --name lightpanda -p 127.0.0.1:9222:9222 lightpanda/browser:nightly
```

**快速开始**：
- 抓取网页：`./lightpanda fetch --dump html https://example.com`
- 启动 CDP 服务器：`./lightpanda serve --host 127.0.0.1 --port 9222`

## 典型使用方法

**使用 Puppeteer 连接**：
```js
import puppeteer from 'puppeteer-core';
const browser = await puppeteer.connect({ browserWSEndpoint: "ws://127.0.0.1:9222" });
const page = await browser.newPage();
await page.goto('https://example.com');
const title = await page.title();
console.log(title);
```

**Agent 模式**：
```bash
./lightpanda agent --task "top story on news.ycombinator.com?"
```

**MCP 配置**：
```json
{
  "mcpServers": {
    "lightpanda": {
      "command": "/path/to/lightpanda",
      "args": ["mcp"]
    }
  }
}
```

## 配置与部署要点

- **环境变量**：`LIGHTPANDA_DISABLE_TELEMETRY=true` 禁用遥测；`LIGHTPANDA_DISABLE_CORE_DUMP` 禁用核心转储。
- **Linux 依赖**：需要 glibc，musl 发行版需使用 glibc 基础镜像或从源码构建。
- **Windows**：需通过 WSL2 运行。
- **MCP HTTP 传输**：使用 `lightpanda mcp --port 9223` 启动，支持会话隔离和共享。
- **构建**：需要 Zig 0.15.2、V8、Libcurl、html5ever，以及 Rust 等依赖。

## 限制、风险与许可证

- **限制**：Beta 阶段，Web API 覆盖有限，可能遇到错误或崩溃；CORS 未实现。
- **风险**：项目仍在开发中，稳定性有待提高；依赖 V8 构建复杂。
- **许可证**：AGPL-3.0。

## 官方链接

- [GitHub 仓库](https://github.com/lightpanda-io/browser)
- [官方网站](https://lightpanda.io)
- [文档](https://lightpanda.io/docs)
- [Docker Hub](https://hub.docker.com/r/lightpanda/browser)
- [Discord](https://discord.gg/K63XeymfB5)

## 信息来源和分析时间

- 信息来源：GitHub 仓库 README、CONTRIBUTING.md、发布信息。
- 分析时间：2025年（基于仓库最新发布信息）。