Браузер, созданный для машин, а не людей

Lightpanda — это open-source headless-браузер (браузер без графического интерфейса), написанный с нуля на языке Zig и предназначенный специально для ИИ-агентов и веб-автоматизации, а не для людей. Это не форк Chromium и не патч WebKit — один бинарный файл на Zig, который сохраняет всё, что нужно для автоматизации, и выбрасывает всё, что рисует пиксели. Lightpanda 1.0 уже вышел: 10 тысяч коммитов, 1,7 миллиона пройденных WPT-тестов — готов к продакшену.


Почему Chrome не подходит для ИИ-агентов

Когда ИИ-агентам нужно собирать информацию с сайтов, они вынуждены использовать браузер — но Chrome перегружен воспроизведением видео, анимациями и рендерингом изображений, которые просто тратят ресурсы на задачи ИИ.

В отличие от headless Chrome, который по сути является полноценным браузером с выключенным экраном, Lightpanda полностью пропускает графический рендеринг. В результате браузер строит только то, что действительно нужно автоматизации: DOM-дерево и среду выполнения JavaScript.

ℹ Что такое headless-браузер
Headless-браузер (безголовый браузер) — браузер без визуального интерфейса. Он выполняет JavaScript, строит DOM и взаимодействует со страницами, но не отображает их на экране. Используется для автоматизации, скрапинга и тестирования.

Производительность: цифры говорят сами за себя

В бенчмарке Lightpanda 25 параллельных воркеров обработали 933 страницы за 4,81 секунды при пике памяти в 123 МБ. Chrome затратил 46,70 секунды и 2,0 ГБ. Итог: 9× быстрее и 16× меньше памяти.

МетрикаLightpandaHeadless ChromeРазница
Память (пик, 100 страниц)123 МБ2 ГБ~16× меньше
Время выполнения (100 страниц)5 с46 с~9× быстрее

Один цикл загрузки и извлечения данных со страницы товара занял в среднем 16 мс против 185 мс у Chrome при 21 МБ пика памяти против 402 МБ — те же задачи умещаются на значительно меньшем числе машин.

«Браузер для машин, а не для людей» — именно этот принцип определяет архитектуру Lightpanda и даёт ему столь радикальное преимущество по ресурсам.

💡 Для команд, работающих в масштабе
В тот же бюджет RAM, что раньше занимали 9 сессий Chrome, теперь умещается ~80 параллельных сессий Lightpanda. Это меняет экономику высоконагруженных скрапинг-задач.

Архитектура: что внутри

Страницы загружаются через libcurl, парсятся с помощью html5ever из проекта Servo и запускаются в V8 — собственном JavaScript-движке Chrome — поверх in-memory DOM.

Движок реализован преимущественно на Zig — низкоуровневом системном языке, который даёт производительность, сравнимую с C и C++, при этом предлагая современные возможности: явную модель аллокатора, метапрограммирование через comptime и встроенный инструментарий сборки.


graph TD
    A[Входящий URL] --> B[libcurl — сетевой слой]
    B --> C[html5ever — HTML-парсер]
    C --> D[In-memory DOM на Zig]
    D --> E[V8 — JavaScript-движок]
    E --> F[CDP / WebDriver BiDi]
    F --> G[Puppeteer / Playwright]
    F --> H[MCP — ИИ-агент]
    F --> I[PandaScript — replay без LLM]


Совместимость: не нужно переписывать скрипты

Lightpanda поддерживает Chrome DevTools Protocol (CDP), поэтому существующие скрипты на Puppeteer и Playwright указывают на него без каких-либо изменений. Достаточно поменять адрес подключения:

import puppeteer from 'puppeteer-core';

const browser = await puppeteer.connect({
  browserWSEndpoint: "ws://127.0.0.1:9222",
});

Помимо CDP, браузер поддерживает WebDriver BiDi — можно запустить оба протокола одновременно.


Режим агента и PandaScript

Встроенный агент работает внутри процесса браузера: завершённую сессию можно сохранить как PandaScript — обычный JavaScript, который воспроизводится без участия языковой модели. После этого каждый повтор обходится без токенов.

Lightpanda agent поддерживает Anthropic, OpenAI, Gemini, Google Vertex AI, Mistral, Hugging Face, а также шлюзы Vercel AI Gateway и OpenRouter, локальные модели через Ollama и llama.cpp, и любой OpenAI-совместимый endpoint.

# Запуск с авто-определением API-ключа
./lightpanda agent

# Конкретная задача
./lightpanda agent --task "top story on news.ycombinator.com?"

# Без LLM — только REPL
./lightpanda agent --no-llm

# Воспроизведение сохранённого скрипта
./lightpanda run session.js
📝 Пример: быстрый старт через Docker

Запустить CDP-сервер на порту 9222 можно одной командой:

docker run -d --name lightpanda -p 127.0.0.1:9222:9222 lightpanda/browser:latest

После этого Puppeteer или Playwright подключаются как обычно.


MCP-интеграция для ИИ-агентов

MCP (Model Context Protocol) становится стандартом для интеграции инструментов ИИ-агентов. У Lightpanda есть официальный MCP-сервер, который позволяет агентам управлять браузерной автоматизацией.

MCP реализован как первоклассная функция, а не запоздалое дополнение — это позиционирует браузерную автоматизацию как бесшовное расширение возможностей ИИ-агента, а не сложную интеграцию с кастомным middleware.


Установка

Доступны бинарные сборки для Linux (x86_64 и aarch64) и macOS. Для Windows — через WSL2.

# macOS
curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-aarch64-macos
chmod a+x ./lightpanda
./lightpanda version

# Homebrew
brew install lightpanda-io/browser/lightpanda
⚠ Ограничения
Bинарные файлы для Linux слинкованы с glibc. На musl-дистрибутивах (Alpine и др.) браузер не запустится. Для arm64 рекомендуется FROM ubuntu:24.04 или FROM debian:trixie-slim. Нативной сборки для Windows и Android нет.

Значение для отрасли

Доказав, что специализированный браузерный движок может обеспечить выполнение JavaScript и взаимодействие с DOM при потреблении лишь доли ресурсов, Lightpanda установил новую парадигму проектирования веб-инструментов, ориентированных на машины.

С ~26 000 звёзд на GitHub проект привлекает к себе огромное внимание сообщества — и понятно почему: снижение стоимости инфраструктуры для агентного ИИ в 10–16 раз меняет не только технологические решения, но и экономику целых продуктов.