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/list not implemented β Neo falls back to Target.createTarget + Target.attachToTarget. Works great.
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.
- 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
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:
neo connectneo open <url>neo readneo snapshot@refmappingneo click @refneo evalSetup
Then
neo startlaunches 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.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