Skip to content

Integration: Neo CLI works with Lightpanda as headless backendΒ #1908

@4ier

Description

@4ier

Hey team! πŸ‘‹

I maintain Neo β€” a CLI tool that turns any web app into an AI-callable API via CDP. Think of it as a developer-facing bridge between AI agents and web applications.

Just shipped Lightpanda support in Neo v1.4.1 (PR). All core commands work out of the box:

Command What it does Status
neo connect Attach to CDP server βœ…
neo open <url> Navigate to page βœ…
neo read Extract readable text βœ…
neo snapshot Full accessibility tree with @ref mapping βœ…
neo click @ref Click by a11y ref βœ…
neo eval Run JS in page context βœ…

Setup

npm install -g @4ier/neo
# ~/.neo/config.json
{
  "chromePath": "/path/to/lightpanda",
  "browserType": "lightpanda",
  "cdpPort": 9222
}

Then neo start launches Lightpanda's CDP server, and all Neo commands work against it.

CDP compatibility notes

A few things I handled during integration that might be useful for your docs:

  1. /json/list not implemented β€” Neo falls back to Target.createTarget + Target.attachToTarget. Works great.
  2. params key required in CDP messages β€” Sending {id, method} without params returns InvalidParams. Adding params: {} fixes it. This differs from Chrome which accepts missing params.
  3. Context tied to WebSocket lifetime β€” Each WS connection gets its own browsing context. Neo uses a persistent connection pool to handle this.

These are minor and easy to work around. The CDP core (Runtime, DOM, Accessibility, Input, Network, Page, Target) is solid. Impressive work for a from-scratch browser! πŸš€

Use case

Neo + Lightpanda is a great combo for AI agents that need fast, low-memory web interaction β€” exactly the scenario Lightpanda is built for. Happy to add Lightpanda to Neo's README as a recommended backend if you're interested.

Repo: https://github.com/4ier/neo

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions