| name | neo |
| description | Browse websites, read web pages, interact with web apps, call website APIs, and automate web tasks. Use Neo when: user asks to check a website, read a web page, post on social media (Twitter/X), interact with any web app, look up information on a specific site, scrape data from websites, automate browser tasks, or when you need to call any website's API. Keywords: website, web page, browse, URL, http, API, twitter, tweet, post, scrape, web app, open site, check site, read page, social media, online service. |
Neo โ Web App API Discovery & Execution
Neo turns any website into an AI-callable API. It passively captures browser traffic, generates API schemas, and lets you call discovered APIs directly โ no scraping, no reverse engineering.
First-Time Setup
npm i -g @4ier/neo
neo setup
neo start
neo doctor
All 6 checks should be โ. If not, run neo setup again.
Prerequisites: Browser with CDP
Neo requires Chrome running with Chrome DevTools Protocol (CDP) enabled.
neo doctor
neo start
Environment variables (all optional):
NEO_CDP_URL โ CDP endpoint (default: http://localhost:9222)
NEO_EXTENSION_ID โ Force specific extension ID (default: auto-discovered)
NEO_SCHEMA_DIR โ Schema storage directory (default: ~/.neo/schemas)
Complete Workflow
Step 1: Check what Neo already knows
neo status
neo schema list
Step 2: Open target website (if needed)
neo open https://example.com
Step 3: Read page content
neo read example.com
Step 4: Interact via API (fast path)
neo schema show x.com
neo api x.com HomeTimeline
neo api x.com CreateTweet --body '{"variables":{"tweet_text":"hello"}}'
neo api github.com notifications
Step 5: Execute in page context
neo exec <url> --method POST --body '{}' --tab example.com --auto-headers
neo replay <capture-id> --tab example.com
neo eval "document.title" --tab example.com
Step 6: UI automation (when no API exists)
neo snapshot
neo click @14
neo fill @7 "search query"
neo type @7 "text"
neo press Enter
neo scroll down 500
neo screenshot
Step 7: Clean up โ ALWAYS close tabs when done
neo tabs
neo eval "window.close()" --tab example.com
โ ๏ธ Resource management: Every neo open creates a new tab. Always close tabs after you're done.
API Discovery Workflow
When you need to discover what APIs a website uses:
neo open https://example.com
neo capture list example.com --limit 20
neo capture search "api" --limit 10
neo schema generate example.com
neo schema show example.com
neo api example.com <endpoint-keyword>
Command Reference
neo open <url>
neo read <tab-pattern>
neo eval "<js>" --tab <pattern>
neo tabs [filter]
neo snapshot [-i] [-C] [--json]
neo click @ref [--new-tab]
neo fill @ref "text"
neo type @ref "text"
neo press <key>
neo hover @ref
neo scroll <dir> [px] [--selector css]
neo select @ref "value"
neo screenshot [path] [--full]
neo get text @ref | url | title
neo wait @ref | --load | <ms>
neo status
neo capture list [domain] [--limit N]
neo capture search <query>
neo capture domains
neo capture detail <id>
neo capture stats <domain>
neo schema generate <domain>
neo schema show <domain>
neo schema list
neo schema search <query>
neo schema openapi <domain>
neo api <domain> <keyword> [--body ]
neo <url> [--method POST] [--body] [--tab pattern] [--auto-headers]
neo replay <> [--tab pattern]
neo flows <domain>
neo deps <domain>
neo suggest <domain>
neo setup
neo start
neo doctor
neo version
Decision Tree
User wants to interact with a website
โ
โโ Just read content? โ neo read <domain>
โ
โโ Need to call an API?
โ โโ neo schema show <domain> โ schema exists? โ neo api <domain> <keyword>
โ โโ No schema? โ neo open <url> โ browse โ neo schema generate <domain>
โ
โโ Need to fill forms / click buttons?
โ โโ neo snapshot โ neo click/fill/type @ref
โ
โโ Complex multi-step interaction?
โโ Combine: neo open โ neo snapshot โ neo click/fill โ neo read โ close tab
Key Rules
- Always check CDP first: Run
neo doctor to verify Chrome is reachable
- Close tabs after use:
neo eval "window.close()" --tab <pattern>
- Check schema before API calls:
neo schema show <domain> โ use cached knowledge
- API > UI automation: If an API exists, use
neo api/neo exec instead of snapshot+click
- Per-domain capture cap: 500 entries, auto-cleanup. Don't worry about storage.
- Auth is automatic: API calls run in browser context, inheriting cookies/session/CSRF