🎯 Trình duyệt đám mây tùy chỉnh, chống phát hiện được hỗ trợ bởi Chromium tự phát triển, thiết kế dành cho trình thu thập dữ liệu webtác nhân AI. 👉Dùng thử ngay
Quay lại blog

Lightpanda là gì? Trình duyệt Zig không đầu cho các tác nhân AI

Alex Johnson
Alex Johnson

Senior Web Scraping Engineer

10-Jul-2026

Tóm tắt:

  • Lightpanda là một trình duyệt headless được viết từ đầu bằng Zig — không phải là một nhánh của Chromium — kết hợp V8 cho JavaScript với một triển khai DOM riêng, phát hành mã nguồn mở dưới AGPL-3.0 và đã vượt qua 31.000 sao trên GitHub.
  • Bài kiểm tra crawler của dự án (933 trang thực tế trên AWS m5.large) đo đạc 123 MB bộ nhớ tối đa trên 100 trang so với 2 GB cho Chrome headless, và thực thi nhanh hơn khoảng 9 lần — các con số đứng sau danh tiếng "trình duyệt headless nhanh nhất" của nó.
  • Một tệp nhị phân thực hiện bốn công việc: fetch xuất một trang đã được render dưới dạng HTML hoặc markdown, serve mở một máy chủ CDP cho Puppeteer, agent điều khiển trình duyệt bằng một LLM bằng tiếng Anh đơn giản, và mcp kết nối nó với các khách hàng MCP.
  • Lightpanda đang trong giai đoạn Beta với mức độ phủ sóng tiêu chuẩn web một phần — CORS vẫn là một vấn đề mở và một số trang bị lỗi hoặc render sai — vì vậy nó nổi bật trong việc lấy dữ liệu từ một lượng lớn trang mà nó xử lý, không phải là một sự thay thế hoàn hảo cho Chrome.
  • Khi một mục tiêu cần độ chính xác hoàn toàn của Chromium, lưu lượng cư dân, hoặc xử lý thách thức, Trình duyệt Ghi Nhớ Scrapeless sử dụng quy trình CDP giống như một phiên cloud có quản lý — Lightpanda cho tốc độ trong 80% dễ dàng, và một trình duyệt cloud có quản lý cho 20% khó khăn.
  • Miễn phí để bắt đầu. Các tài khoản Scrapeless mới bao gồm miễn phí thời gian chạy Trình duyệt Ghi Nhớ — đăng ký tại app.scrapeless.com.

Giới thiệu: một trình duyệt trông như thế nào khi bạn xóa các phần mà các scrapers không bao giờ sử dụng

Một crawler xử lý một triệu trang chưa bao giờ vẽ một pixel. Nó vẫn phải trả tiền cho bộ kết hợp hình ảnh, quy trình GPU, và ngăn xếp phương tiện của Chromium trên mỗi phiên bản, bởi vì Chrome headless là một trình duyệt máy tính để bàn với cửa sổ bị loại bỏ hơn là một trình duyệt được thiết kế cho máy móc. Lightpanda bắt đầu từ đầu ngược lại: chỉ xây dựng những gì mà tự động hóa sử dụng — một HTTP loader, một HTML parser, một DOM, và một động cơ JavaScript — và bỏ qua hoàn toàn việc render đồ họa.

Kết quả là một tệp nhị phân Zig duy nhất thực thi JavaScript của trang thông qua V8, phân tích đánh dấu với html5ever parser của dự án Servo, tải tài nguyên qua libcurl, và giao tiếp đủ với Giao thức DevTools của Chrome để Puppeteer xem nó như một trình duyệt. Nó mã nguồn mở dưới giấy phép AGPL-3.0 và đã thu hút hơn 31.000 sao trên GitHub.

Hướng dẫn này bao gồm cách cài đặt Lightpanda, bốn chế độ CLI của nó, kết nối với Puppeteer, nơi mà các giới hạn Beta của nó nằm, và cách nó kết hợp với một trình duyệt cloud quản lý cho các mục tiêu mà nó chưa thể xử lý.

Lightpanda là gì?

Lightpanda là một động cơ trình duyệt headless mã nguồn mở được xây dựng đặc biệt cho các tác nhân AI và tự động hóa web, không có nguồn gốc từ Chromium hay WebKit. Bởi vì nó chỉ thực hiện những phần mà tự động hóa sử dụng, diện tích của nó chỉ bằng một phần rất nhỏ so với một trình duyệt đầy đủ: bài kiểm tra crawler được công bố của dự án — 933 trang web thực tế được yêu cầu từ AWS EC2 m5.large — đã ghi nhận 123 MB bộ nhớ tối đa trên 100 trang so với 2 GB cho Chrome headless, và hoàn thành 100 trang đó trong khoảng 5 giây so với 46. Những số liệu này là đo lường của chính dự án; điều mà vẫn tồn tại bất chấp bất kỳ sự thận trọng nào trong việc kiểm tra là việc loại bỏ đường ống render đã thay đổi mô hình chi phí vận hành trình duyệt ở quy mô lớn.

Sự đánh đổi là mức độ phủ sóng. Một trình duyệt từ đầu phải tái triển khai hàng thập kỷ bề mặt nền tảng web, và trạng thái của Lightpanda rõ ràng là Beta: nhiều trang hoạt động, một số có lỗi hoặc bị treo, và các tính năng như CORS vẫn là vấn đề mở trong theo dõi. Sự trung thực đó rất quan trọng cho cách bạn triển khai nó — tìm hiểu thêm về điều đó dưới đây.

Cài đặt Lightpanda

Các tệp nhị phân nightly được phát hành cho Linux và macOS trên x86_64 và aarch64, bên cạnh Homebrew (brew install lightpanda-io/browser/lightpanda) và hình ảnh Docker chính thức. Trên Linux:

bash Copy
# Tải xuống tệp nhị phân nightly và làm cho nó có thể thực thi
curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux && \
chmod a+x ./lightpanda

# Xác nhận nó chạy
./lightpanda version

Tệp nhị phân Linux liên kết với glibc, do đó các bản phân phối dựa trên musl như Alpine cần một hình ảnh cơ sở glibc hoặc một bản xây dựng nguồn. Không có tệp nhị phân Windows gốc — trên Windows bạn cài đặt nó bên trong WSL2, điều này tự động chuyển tiếp localhost:9222 cho máy chủ, vì vậy một kịch bản Puppeteer ở phía Windows kết nối như thể trình duyệt đang ở địa phương.

Một giá trị mặc định đáng biết trước khi bạn lần chạy đầu tiên: Lightpanda gửi thông tin telemetry sử dụng trừ khi bạn đặt LIGHTPANDA_DISABLE_TELEMETRY=true trong môi trường.

CLI: fetch, serve, agent, mcp

Lightpanda's một nhị phân duy nhất bao phủ bốn quy trình làm việc. Cách nhanh nhất để thấy động cơ hoạt động là fetch, tải một trang — JavaScript thực thi — và đổ kết quả đã được render:

bash Copy
# HTML đã được render vào stdout; --dump markdown chuyển đổi trang thành markdown
./lightpanda fetch --obey-robots --dump html --log-level warn https://demo-browser.lightpanda.io/campfire-commerce/

Trên cửa hàng trình diễn của dự án, điều này trả về tài liệu đã được render đầy đủ (<title>Outdoor Odyssey Nomad Backpack</title> và tất cả), và --dump markdown phát ra một chuyển đổi markdown sạch — hữu ích khi trang được định hướng cho một cửa sổ ngữ cảnh LLM thay vì một trình phân tích. --wait-until, --wait-ms, --wait-selector, và --wait-script điều chỉnh thời gian mà động cơ chờ trước khi đổ kết quả.

Đối với khách hàng tự động hóa, serve khởi động một máy chủ CDP:

bash Copy
./lightpanda serve --obey-robots --log-level warn --host 127.0.0.1 --port 9222

Hai chế độ còn lại là mới hơn và phần lớn chưa được tài liệu bên ngoài repo: agent điều khiển trình duyệt với một LLM (Anthropic, OpenAI, Gemini, Vertex, Hugging Face, hoặc các mô hình địa phương qua Ollama) từ một tác vụ tiếng Anh đơn giản, và có thể xuất phiên làm việc dưới dạng PandaScript — JavaScript có thể phát lại mà chạy lại luồng một cách xác định mà không cần mô hình trong thời gian thực. mcp chạy một máy chủ MCP gốc qua stdio, vì vậy các tác nhân có khả năng MCP nhận Lightpanda như một công cụ mà không cần bất kỳ quy trình bao bọc nào.

Kết nối Puppeteer

Khi serve đang chạy, puppeteer-core kết nối qua điểm cuối WebSocket. Ví dụ này trích xuất mọi liên kết từ một trang danh sách được render bằng JavaScript:

js Copy
import puppeteer from 'puppeteer-core';

// browserWSEndpoint chỉ vào máy chủ CDP của Lightpanda
const browser = await puppeteer.connect({
  browserWSEndpoint: 'ws://127.0.0.1:9222',
});

const context = await browser.createBrowserContext();
const page = await context.newPage();

await page.goto('https://demo-browser.lightpanda.io/amiibo/', { waitUntil: 'networkidle0' });

// DOM là thật và đã render bằng V8, vì vậy evaluate hoạt động chính xác như trong Chrome
const links = await page.evaluate(() =>
  Array.from(document.querySelectorAll('a')).map((a) => a.getAttribute('href'))
);
console.log(links.length, 'liên kết');

await page.close();
await context.close();
await browser.disconnect();

Chống lại trang demo trực tiếp, điều này trả về 12 liên kết. Mã Puppeteer hiện có phần lớn được giữ nguyên; những phần không được giữ nguyên là những phần liên quan đến các tính năng nền tảng web mà Lightpanda chưa thực hiện — đó là cách đúng để tiếp nối.

Lấy khóa API của bạn trên kế hoạch miễn phí: app.scrapeless.com

Ranh giới Beta — và giới hạn vận hành

Hai giới hạn khác nhau quyết định nơi Lightpanda phù hợp trong một quy trình sản xuất, và đáng để giữ chúng tách biệt.

Giới hạn động cơ là tạm thời nhưng có thật. Beta có nghĩa là bao phủ tiêu chuẩn web một phần: CORS là một vấn đề mở, một số trang lỗi hoặc gặp sự cố, và một trang dựa vào các API chưa thực hiện sẽ không hoạt động như trong Chrome. Dự án minh bạch về điều này — danh sách tính năng trong README là công khai — và sự bao phủ cải thiện đều đặn. Cho đến khi nó hội tụ, mỗi mục tiêu cần một kiểm tra tương thích nhanh chóng trước khi bạn cam kết một trình thu thập dữ liệu cho nó. Cũng hãy lưu ý giấy phép khi nhúng: AGPL-3.0 mang lại nghĩa vụ copyleft mà một nhóm sản phẩm thương mại nên xem xét, đó là một lý do mà công ty cung cấp dịch vụ đám mây trên trang web của mình.

Giới hạn vận hành là vĩnh viễn — không có động cơ nào giải quyết được nó. Giống như mọi trình duyệt tự lưu trữ, Lightpanda để cho bạn tự chịu trách nhiệm về xuất dữ liệu, nhắm mục tiêu địa lý, và xử lý thử thách. Các yêu cầu phát sinh từ IP của máy bạn; một trang web giới hạn tỷ lệ vùng máy chủ hoặc cung cấp các bức tường kiểm tra lưu lượng sẽ phản hồi theo nơi yêu cầu xuất phát, chứ không phải theo độ nhẹ của trình duyệt đứng sau nó. Tốc độ ở tầng động cơ không làm gì cho một yêu cầu chưa bao giờ qua khỏi cánh cửa chính.

Ghép nối với Scrapeless Scraping Browser

Mẫu sản xuất thực tế là một quy trình hai tầng. Lightpanda thu thập tầng có khối lượng lớn, ít kháng cự — sơ đồ trang, tài liệu, danh mục, bất cứ điều gì động cơ của nó render — với chi phí chỉ bằng một phần so với Chrome. Các mục tiêu cần độ chính xác đầy đủ của Chromium, xuất dữ liệu từ hộ gia đình, hoặc xử lý thử thách thì chuyển đến Scrapeless Scraping Browser: một trình duyệt đám mây chống phát hiện được cung cấp bởi Chromium tự phát triển, với các proxy gia đình tại hơn 195 quốc gia được chọn theo phiên và không cần hạ tầng nào từ phía bạn.

Cả hai tầng đều giao tiếp CDP với cùng một mã Puppeteer, vì vậy bộ định tuyến chỉ là một dòng — điểm cuối WebSocket nào bạn chuyển cho connect. Tài liệu Scrapeless bao phủ SDK đầy đủ; việc cấp phép phiên làm việc trông như thế này:

js Copy
import { Scrapeless } from '@scrapeless-ai/sdk';
import puppeteer from 'puppeteer-core';
javascript Copy
const client = new Scrapeless({ apiKey: process.env.SCRAPELESS_API_KEY });

// Một phiên làm việc Chromium đám mây với egress cư trú — cấp "mục tiêu khó"
const session = await client.browser.create({
  session_name: 'lightpanda-guide-demo',
  session_ttl: 180,
  proxy_country: 'US',
});

const browser = await puppeteer.connect({
  browserWSEndpoint: session.browserWSEndpoint,
  defaultViewport: null,
});

const page = await browser.newPage();
await page.goto('https://demo-browser.lightpanda.io/amiibo/', { waitUntil: 'domcontentloaded' });
await page.waitForSelector('a'); // các liên kết trong danh sách được gắn sau khi khách hàng kết xuất
const links = await page.evaluate(() =>
  Array.from(document.querySelectorAll('a')).map((a) => a.getAttribute('href'))
);
console.log(links.length, 'liên kết');

await browser.close();

Nhiệm vụ tương tự, cùng thư viện khách hàng, cùng hình dạng kết quả — nhưng phiên làm việc chạy trên Chromium đầy đủ phía sau egress cư trú được quản lý, vì vậy nó cũng hoạt động khi mục tiêu là một trang mà Lightpanda không thể kết xuất hoặc một trang lọc theo IP. Giá dựa trên mức sử dụng với một cấp miễn phí bao gồm hướng dẫn này. Đối với những phần có phát hiện nặng nề, hướng dẫn trình duyệt fingerprint không bị phát hiện Playwright đi theo cùng mẫu phiên đám mây từ phía Playwright.

Kết luận: tốc độ nơi có chi phí thấp, độ trung thực nơi quan trọng

Sự cược của Lightpanda — một trình duyệt được xây dựng lại từ đầu cho máy móc — mang lại giảm chi phí theo cấp bậc trên các trang mà nó kết xuất, và tác nhân của nó, MCP, cùng với bề mặt PandaScript làm cho nó trở thành một trong những động cơ thú vị nhất trong không gian tự động hóa AI. Phạm vi phủ Beta và tính chất tự lưu trữ của nó xác định ranh giới: xác minh từng mục tiêu kết xuất chính xác, và giữ một đường dẫn Chromium đầy đủ cho những mục tiêu không làm được hoặc mà cần chất lượng egress.

Thực hiện việc phân tách như một quyết định định tuyến bên trong một mã nguồn: ws://127.0.0.1:9222 của Lightpanda cho cấp rẻ, một phiên làm việc Trình duyệt Scraping của Scrapeless cho những cái còn lại. Không có cấp nào yêu cầu viết lại mã của bên kia — đó là lợi ích thầm lặng của mọi thứ nói chuyện qua CDP.


Sẵn sàng xây dựng pipeline dữ liệu được hỗ trợ bởi AI của bạn?

Tham gia cộng đồng của chúng tôi để nhận một kế hoạch miễn phí và kết nối với các nhà phát triển xây dựng các pipeline crawl hỗn hợp: Discord · Telegram.

Đăng ký tại app.scrapeless.com để nhận runtime Trình duyệt Scraping miễn phí và định tuyến các mục tiêu khó của bạn qua đó trong khi Lightpanda xử lý những cái rẻ.

Câu hỏi thường gặp

H: Lightpanda có phải là một nhánh của Chromium không?
Không. Lightpanda được viết lại từ đầu bằng Zig với DOM và mạng riêng, sử dụng V8 cho việc thực thi JavaScript và html5ever cho việc phân tích HTML. Nó chia sẻ Giao thức DevTools của Chrome với Chromium như một bề mặt tương thích, không phải bất kỳ mã động cơ nào.

H: Lightpanda có hoạt động với Puppeteer và Playwright không?
Puppeteer hoạt động qua puppeteer.connect({ browserWSEndpoint }) chống lại lightpanda serve, và đó là tích hợp mà dự án tài liệu và hướng dẫn này đã thực hiện. Các khách hàng CDP khác có thể giao tiếp với cùng một endpoint, nhưng phạm vi phủ thuộc vào các miền giao thức mà mỗi khách hàng sử dụng — hãy thử nghiệm khách hàng của bạn với các trang mục tiêu trong khi động cơ đang ở Beta.

H: Lightpanda có thể chụp ảnh màn hình không?
Không — Lightpanda không có pipeline kết xuất đồ họa, chính xác là nơi tốc độ và lợi thế bộ nhớ của nó đến từ. Các quy trình làm việc cần pixel (phân tích hình ảnh, chụp màn hình) cần một trình duyệt đầy đủ; trích xuất DOM, thu thập liên kết và đổ markdown là nơi mà Lightpanda phù hợp.

H: Lightpanda có sẵn sàng cho sản xuất không?
Nó đang ở giai đoạn Beta. Dự án cho biết rằng nhiều trang web hoạt động và rằng lỗi hoặc sự cố vẫn có thể xảy ra; các tính năng như CORS vẫn là các vấn đề mở. Việc sử dụng trong sản xuất ngày hôm nay có nghĩa là giới hạn nó cho những mục tiêu mà bạn đã xác minh là nó kết xuất, với một đường dẫn dự phòng cho những cái còn lại.

H: Tại sao ghép nó với Scrapeless thay vì thêm proxy vào Lightpanda?
Proxy một mình chỉ di chuyển IP, nhưng mục tiêu khó cũng kiểm tra độ trung thực của trình duyệt và đưa ra thách thức — và một động cơ Beta với phạm vi tiêu chuẩn một phần là dễ phát hiện nhất ở đó. Trình duyệt Scraping của Scrapeless kết hợp Chromium tự phát triển đầy đủ, fingerprint chống phát hiện và proxy cư trú ở hơn 195 quốc gia trong một phiên làm việc được quản lý, vì vậy cấp khó được giải quyết như một đơn vị thay vì được lắp ráp từ các phần.

Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến ​​cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.

Bài viết phổ biến nhất

Danh mục