-
Notifications
You must be signed in to change notification settings - Fork 1k
Description
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:
/json/listnot implemented β Neo falls back toTarget.createTarget+Target.attachToTarget. Works great.paramskey required in CDP messages β Sending{id, method}withoutparamsreturnsInvalidParams. Addingparams: {}fixes it. This differs from Chrome which accepts missing params.- 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.