
किसी भी वेब ऐप को API में बदलें। Chrome एक्सटेंशन ब्राउज़र ट्रैफ़िक कैप्चर करता है, स्वचालित रूप से स्कीमा उत्पन्न करता है, AI को सीधे API को रीप्ले करने देता है। किसी आधिकारिक API की आवश्यकता नहीं है।
किसी भी वेब ऐप को API में बदलें। कोई आधिकारिक API की ज़रूरत नहीं। कोई ब्राउज़र ऑटोमेशन नहीं।
Neo एक Chrome एक्सटेंशन है जो आपके ब्राउज़र द्वारा किए गए हर API कॉल को निष्क्रिय रूप से कैप्चर करता है, पैटर्न सीखता है, और AI (या आपको) उन्हें सीधे रीप्ले करने देता है।
AI एजेंट आज वेब ऐप्स को संचालित करने के लिए दो विकल्प रखते हैं, दोनों ही खराब:
| तरीका | दर्द |
|---|---|
| आधिकारिक API | ज़्यादातर SaaS के पास एक नहीं है, या केवल 10% सुविधाएँ उजागर करता है |
| ब्राउज़र ऑटोमेशन | स्क्रीनशॉट → OCR → क्लिक। धीमा, नाज़ुक, हर UI बदलाव पर टूट जाता है |
Neo तीसरा तरीका है। हर वेब ऐप के पास पहले से ही एक पूर्ण आंतरिक API है — फ्रंटएंड हर बार उसे कॉल करता है जब आप कुछ क्लिक करते हैं। Neo उन कॉलों को कैप्चर करता है और उन्हें रीप्ले करने योग्य बनाता है।
v2: अब UI ऑटोमेशन के साथ। Neo v2 एक एक्सेसिबिलिटी-ट्री-आधारित UI परत जोड़ता है — snapshot, click, fill, type, press, hover, scroll, select, screenshot, get, wait। जब API मौजूद हो, तो सीधे उसका उपयोग करें। जब न हो, तो Neo उसी CLI के माध्यम से UI चला सकता है। एक उपकरण, दोनों परतें।
सामान्य रूप से ब्राउज़ करें → Neo सभी API ट्रैफ़िक रिकॉर्ड करता है → स्कीमा स्वतः जेनरेट → AI सीधे APIs को रीप्ले करता है
→ या a11y ट्री के माध्यम से UI चलाता है
Chrome एक्सटेंशन हर fetch() और XMLHttpRequest को इंटरसेप्ट करता है — URLs, हेडर, अनुरोध/प्रतिक्रिया बॉडी, समय, और यहाँ तक कि किस DOM तत्व ने कॉल को ट्रिगर किया।
किसी डोमेन पर neo-schema चलाएँ ताकि उसका API नक्शा स्वतः जेनरेट हो: एंडपॉइंट, आवश्यक प्रमाणीकरण हेडर, क्वेरी पैरामीटर, प्रतिक्रिया संरचना, त्रुटि कोड।
Chrome DevTools प्रोटोकॉल के माध्यम से ब्राउज़र टैब के संदर्भ में API कॉल चलाएँ। कुकीज़, CSRF टोकन, सत्र प्रमाणीकरण — सभी स्वतः विरासत में मिलते हैं। कोई टोकन प्रबंधन की आवश्यकता नहीं।
| ब्राउज़र | प्रकार | इसके लिए सर्वश्रेष्ठ |
|---|---|---|
| Chrome / Chromium | पूर्ण ब्राउज़र | API कैप्चर + UI ऑटोमेशन (डिफ़ॉल्ट) |
| Lightpanda | हेडलेस (Zig) | AI एजेंट, स्क्रैपिंग — 11x तेज़, 9x कम मेमोरी |
git clone https://github.com/4ier/neo.git
cd neo && npm install && npm run build
npm link # `neo` को वैश्विक रूप से उपलब्ध कराता है
एक्सटेंशन लोड करें:
chrome://extensions खोलेंextension/dist/ चुनें# Lightpanda स्थापित करें
curl -L -o lightpanda https://github.com/lightpanda-io/browser/releases/download/nightly/lightpanda-x86_64-linux
chmod +x lightpanda && sudo mv lightpanda /usr/local/bin/
# Neo को Lightpanda का उपयोग करने के लिए कॉन्फ़िगर करें
# ~/.neo/config.json में:
# { "chromePath": "/usr/local/bin/lightpanda", "browserType": "lightpanda", "cdpPort": 9222 }
neo start # Lightpanda CDP सर्वर लॉन्च करता है
neo connect # उससे जुड़ें
neo open https://example.com
neo snapshot # पूर्ण a11y ट्री
सभी कमांड एक एकल CLI के माध्यम से जाते हैं: neo <command>।
CDP (Chrome DevTools प्रोटोकॉल) सक्षम ब्राउज़र की आवश्यकता है।
# --- कनेक्शन और सत्र ---
neo connect [port] # CDP से कनेक्ट करें, सत्र सहेजें
neo connect --electron <app-name> # Electron ऐप का CDP पोर्ट स्वतः खोजें
neo launch <app> [--port N] # CDP सक्षम के साथ Electron ऐप लॉन्च करें
neo discover # लोकलहोस्ट पर पहुँचने योग्य CDP एंडपॉइंट खोजें
neo sessions # सहेजे गए सत्रों की सूची बनाएं
neo tab # सक्रिय सत्र में CDP लक्ष्यों की सूची बनाएं
neo tab <index> | neo tab --url <pattern> # सक्रिय टैब लक्ष्य स्विच करें
neo inject [--persist] [--tab pattern] # Neo कैप्चर स्क्रिप्ट को लक्ष्य में इंजेक्ट करें
# --- कैप्चर और ट्रैफ़िक ---
neo status # कैप्चर किए गए डेटा का अवलोकन
neo capture summary # त्वरित अवलोकन
neo capture list github.com --limit 10 # रीप्ले/विवरण के लिए ID दिखाता है
neo capture list --since 1h # समय-फ़िल्टर्ड
neo capture domains
neo capture search "CreateTweet" --method POST
neo capture watch x.com # लाइव टेल (tail -f के समान)
neo capture stats x.com # विधि/स्थिति/समय विभाजन
neo capture export x.com --since 2h > x.json
neo capture export x.com --format har > x.har # Postman/डेवटूल्स के लिए HAR 1.2
neo capture import x-captures.json
neo capture prune --older-than 7d
neo capture gc x.com [--dry-run] # स्मार्ट डिडुप
# --- API रीप्ले और निष्पादन ---
neo replay <capture-id> --tab x.com # कैप्चर किए गए कॉल को रीप्ले करें
neo exec <url> --method POST --body '{...}' --tab example.com --auto-headers
neo api x.com HomeTimeline # स्मार्ट कॉल (स्कीमा लुकअप + ऑटो-प्रमाणीकरण)
# --- स्कीमा और विश्लेषण ---
neo schema generate x.com # कैप्चर से जेनरेट करें
neo schema generate --all # सभी डोमेन के लिए बैच
neo schema show x.com [--json]
neo schema openapi x.com # OpenAPI 3.0 स्पेक निर्यात करें
neo schema diff x.com # पिछले संस्करण से बदलाव
neo schema coverage # स्कीमा वाले/बिना वाले डोमेन
neo label x.com [--dry-run] # शब्दार्थ एंडपॉइंट लेबल
neo flows x.com [--window 5000] # API कॉल अनुक्रम पैटर्न
neo deps x.com [--min-confidence 1] # प्रतिक्रिया→अनुरोध डेटा निर्भरता
neo workflow discover|show|run <name> # बहु-चरणीय कार्यप्रवाह खोज और रीप्ले
neo suggest x.com # AI क्षमता विश्लेषण
neo export-skill x.com # एजेंट-तैयार SKILL.md जेनरेट करें
# --- UI ऑटोमेशन (v2) ---
neo snapshot [-i] [-C] [--json] # @ref मैपिंग के साथ A11y ट्री
neo click @ref [--new-tab] # @ref द्वारा तत्व पर क्लिक करें
neo fill @ref "text" # इनपुट साफ़ करें + भरें
neo type @ref "text" # इनपुट में टेक्स्ट जोड़ें
neo press <key> # कीबोर्ड कुंजी (Ctrl+a, Enter, आदि का समर्थन करता है)
neo hover @ref # तत्व पर होवर करें
neo scroll <dir> [px] [--selector css] # दिशा द्वारा स्क्रॉल करें
neo select @ref "value" # ड्रॉपडाउन मान सेट करें
neo screenshot [path] [--full] [--annotate] # स्क्रीनशॉट कैप्चर करें
neo get text @ref | neo get url | neo get title # जानकारी निकालें
neo wait @ref | neo wait --load networkidle | neo wait <ms> # तत्व/लोड/समय की प्रतीक्षा करें
# --- पेज इंटरेक्शन ---
neo read github.com # पढ़ने योग्य टेक्स्ट निकालें
neo eval "document.title" --tab github.com # पेज में JS चलाएं
neo open https://example.com # URL खोलें
# --- मॉक और ब्रिज ---
neo mock x.com [--port 8080 --latency 200] # स्कीमा से मॉक सर्वर
neo bridge [--json] [--interactive] # रीयल-टाइम WebSocket कैप्चर स्ट्रीम
# --- निदान ---
neo doctor # Chrome, एक्सटेंशन, स्कीमा जाँचें
neo reload # CLI से एक्सटेंशन पुनः लोड करें
neo tabs [filter] # खुले Chrome टैब की सूची बनाएं
Neo केवल Chrome के लिए नहीं है। CDP समर्थन वाला कोई भी ऐप काम करता है — जिसमें Electron ऐप्स शामिल हैं:
# CDP के साथ VS Code लॉन्च करें और कनेक्ट करें
neo launch code --port 9230
neo snapshot # VS Code के एक्सेसिबिलिटी ट्री को देखें
neo click @14 # मेनू आइटम पर क्लिक करें
# या पहले से चल रहे Electron ऐप से कनेक्ट करें
neo connect --electron slack
# Neo की कैप्चर स्क्रिप्ट को किसी भी CDP लक्ष्य में इंजेक्ट करें
neo inject --persist # पेज नेविगेशन से बचता है
neo inject --tab slack # विशिष्ट टैब को लक्षित करें
सत्र स्वतः सहेजे जाते हैं। उनके बीच `--session` से स्विच करें:
```bash
neo --session vscode snapshot
neo --session chrome api x.com HomeTimeline
Neo v2 एक पूर्ण UI इंटरेक्शन परत जोड़ता है जो एक्सेसिबिलिटी ट्री पर बनाई गई है — कोई स्क्रीनशॉट, कोई निर्देशांक, कोई पिक्सेल-मैचिंग नहीं:
# 1. एक स्नैपशॉट लें — प्रत्येक इंटरैक्टिव तत्व को @ref मिलता है
neo snapshot
# @1 button "साइन इन"
# @2 textbox "खोजें"
# @3 link "मूल्य निर्धारण"
# 2. @ref द्वारा इंटरैक्ट करें
neo click @1
neo fill @2 "AI एजेंट"
neo press Enter
neo screenshot results.png --full
यह AI एजेंटों को किसी भी UI के साथ तेज़, शब्दार्थ रूप से बातचीत करने का तरीका देता है। दोहरे-चैनल दृष्टिकोण के लिए API कैप्चर के साथ संयोजन करें: जब APIs मौजूद हों तो उनका उपयोग करें, जब न हों तो UI पर वापस जाएँ।
ब्रिज एक्सटेंशन और CLI के बीच एक स्थायी WebSocket चैनल बनाता है। एक्सटेंशन स्वतः ws://127.0.0.1:9234 से जुड़ता है और प्रत्येक कैप्चर को रीयल-टाइम में स्ट्रीम करता है। इंटरैक्टिव मोड में, आप सीधे एक्सटेंशन से पूछताछ कर सकते हैं: ping, status, capture.count, capture.list, capture.domains, capture.search, capture.clear।
┌─────────────────────────────────────┐
│ Chrome / Electron ऐप (CDP) │
│ │
│ inject/interceptor.ts │
│ ├─ fetch और XHR को मंकी-पैच करता है │
│ ├─ WebSocket/SSE को इंटरसेप्ट करता है │
│ ├─ DOM ट्रिगर्स (क्लिक → │
│ │ API सहसंबंध) ट्रैक करता है │
│ └─ पूर्ण अनुरोध/प्रतिक्रिया रिकॉर्ड करता है│
│ │
│ content/index.ts │
│ └─ पेज ↔ एक्सटेंशन को ब्रिज करता है │
│ │
│ background/index.ts │
│ ├─ IndexedDB (Dexie) में स्थायी रखता है │
│ ├─ प्रति-डोमेन कैप (500 प्रविष्टियाँ) │
│ └─ WebSocket ब्रिज क्लाइंट │
│ │
└──────────────┬──────────────────────┘
│ Chrome DevTools प्रोटोकॉल
┌──────────────┴──────────────────────┐
│ CLI: neo (Node.js) │
│ │
│ परत 1: API कैप्चर और रीप्ले │
│ ├─ neo capture → ट्रैफ़िक प्रबंधन │
│ ├─ neo schema → API खोज │
│ ├─ neo exec → ब्राउज़र में निष्पादित करें │
│ ├─ neo api → स्मार्ट स्कीमा कॉल│
│ ├─ neo replay → कैप्चर किया हुआ फिर से चलाएँ│
│ └─ neo flows/deps → पैटर्न विश्लेषण│
│ │
│ परत 2: UI ऑटोमेशन (v2) │
│ ├─ neo snapshot → a11y ट्री + @refs │
│ ├─ neo click/fill/type/press/hover │
│ ├─ neo scroll/select/screenshot │
│ └─ neo get/wait │
│ │
│ सत्र प्रबंधन │
│ ├─ neo connect/launch/discover │
│ ├─ neo tab → लक्ष्य स्विचिंग │
│ └─ neo inject → स्क्रिप्ट इंजेक्शन │
│ │
└──────────────┬──────────────────────┘
│
┌──────────────┴──────────────────────┐
│ AI एजेंट (OpenClaw / कोई भी LLM) │
│ ├─ API-प्रथम: schema → exec/api │
│ ├─ UI बैकअप: snapshot → click │
│ └─ दोहरा-चैनल ऑटोमेशन │
└──────────────────────────────────────┘
# 1. X पर सामान्य रूप से ब्राउज़ करें — Neo GraphQL म्यूटेशन कैप्चर करता है
neo schema show api.x.com
# 2. CreateTweet एंडपॉइंट खोजें
neo capture search "CreateTweet" --method POST
# 3. मूल प्रमाणीकरण के साथ रीप्ले करें (कुकीज़ स्वतः विरासत में मिलती हैं)
neo replay abc123 --tab x.com
# 4. या स्वतः-पता लगाए गए प्रमाणीकरण हेडर के साथ एक नया कॉल तैयार करें
neo exec "https://x.com/i/api/graphql/.../CreateTweet" \
--method POST --auto-headers \
--body '{"variables":{"tweet_text":"Neo से नमस्ते!"},...}'
Neo का ट्रिगर ट्रैकिंग UI इंटरेक्शन को API कॉल से मैप करता है:
neo schema show github.com
# आउटपुट में शामिल है:
# POST /repos/:owner/:repo/star (3x, 280ms)
# ← click button.js-social-form "Star" (3x)
neo capture watch api.openai.com
# 14:23:01 POST 200 /v1/chat/completions (1230ms)
# 14:23:05 SSE_MSG 200 /v1/chat/completions (0ms) [sse]
neo-capture-v01 डेटाबेस)इंटरसेप्टर स्वचालित रूप से शोर को अनदेखा करता है:
Neo पूरी तरह से स्थानीय रूप से चलता है — कोई बाहरी सर्वर नहीं, कोई टेलीमेट्री नहीं, कोई डेटा आपकी मशीन नहीं छोड़ता।
Neo क्या कैप्चर करता है: आपका ब्राउज़र हर वेबसाइट पर जो भी fetch/XHR/WebSocket कॉल करता है। यह शक्तिशाली है लेकिन डिज़ाइन द्वारा आक्रामक है।
प्रमाणीकरण हेडर रिडक्शन (v1.1.0+): प्रमाणीकरण हेडर मान (Bearer टोकन, CSRF टोकन, कुकीज़, सत्र ID) कैप्चर समय पर भंडारण से पहले रिडक्ट किए जाते हैं। IndexedDB केवल हेडर नाम संग्रहीत करता है, मान नहीं। जब --auto-headers API कॉल निष्पादित करता है, तो यह CDP के माध्यम से ब्राउज़र से रीयल-टाइम में लाइव प्रमाणीकरण हेडर प्राप्त करता है — संग्रहीत क्रेडेंशियल्स को कभी रीप्ले नहीं करता।
आपको क्या जानना चाहिए:
अनुशंसाएँ:
neo capture domainsneo capture clear banksite.comNeo एक डेवलपर उपकरण है जो क्षमता के लिए गोपनीयता सतह का व्यापार करता है। इसे जानबूझकर उपयोग करें।
neo CLIneo replay <id> कैप्चर किए गए कॉल को फिर से निष्पादित करता हैneo apineo flows API कॉल अनुक्रम खोजता हैMIT
| पहलू | विवरण |
|---|
| कैप्चर का दायरा | <all_urls> — Neo हर वेबसाइट पर ट्रैफ़िक देखता है, जिसमें बैंकिंग, ईमेल, चिकित्सा पोर्टल शामिल हैं |
| सामग्री स्क्रिप्ट | fetch/XHR को इंटरसेप्ट करने के लिए MAIN दुनिया (पेजों के साथ JS संदर्भ साझा) में चलती है |
| CDP पोर्ट | CLI को पोर्ट 9222 पर Chrome की आवश्यकता है — कोई भी स्थानीय प्रक्रिया इस पोर्ट से कनेक्ट हो सकती है |
| प्रतिक्रिया बॉडी | IndexedDB में संग्रहीत (100KB तक काटी गई) — API प्रतिक्रियाओं से व्यक्तिगत डेटा हो सकता है |
| स्कीमा फ़ाइलें | केवल एंडपॉइंट संरचना (पथ, हेडर नाम, प्रतिक्रिया आकार) संग्रहीत करती हैं — कोई क्रेडेंशियल या उपयोगकर्ता डेटा नहीं |
| निर्यात | neo capture export डिफ़ॉल्ट रूप से प्रमाणीकरण को रिडक्ट करता है; --include-auth के लिए स्पष्ट ऑप्ट-इन की आवश्यकता है |
neo depsneo doctorneo export-skill SKILL.md उत्पन्न करता हैneo mock स्कीमा से स्थानीय HTTP सर्वर उत्पन्न करता है--all)neo label)neo workflow)neo connect, neo sessions, --session फ़्लैगneo launch, neo connect --electronneo tab लक्ष्यों की सूची/स्विच करेंneo inject --persist और --tab के साथsnapshot, click, fill, type, press, hover, scroll, select, screenshot, get, wait