
Convierte cualquier aplicación web en una API. La extensión de Chrome captura el tráfico del navegador, genera esquemas automáticamente y permite que la IA reproduzca APIs directamente. No se necesita API oficial.
Convierte cualquier aplicación web en una API. Sin API oficial. Sin automatización del navegador.
Neo es una extensión de Chrome que captura pasivamente cada llamada API que realiza tu navegador, aprende los patrones y permite que la IA (o tú) las reproduzcan directamente.
Los agentes de IA que operan aplicaciones web hoy tienen dos opciones, ambas malas:
| Enfoque | Problema |
|---|---|
| APIs oficiales | La mayoría de SaaS no tiene una, o solo expone el 10% de las funciones |
| Automatización del navegador | Captura de pantalla → OCR → clic. Lento, frágil, se rompe con cada cambio de interfaz |
Neo es la tercera vía. Cada aplicación web ya tiene una API interna completa — el frontend la llama cada vez que haces clic en algo. Neo captura esas llamadas y las hace reproducibles.
v2: Ahora con automatización de IU. Neo v2 añade una capa de interfaz de usuario basada en el árbol de accesibilidad — snapshot, click, fill, type, press, hover, scroll, select, screenshot, get, wait. Cuando existe una API, úsala directamente. Cuando no, Neo puede manejar la IU a través del mismo CLI. Una herramienta, ambas capas.
Navega normalmente → Neo registra todo el tráfico API → Esquema generado automáticamente → IA reproduce APIs directamente
→ O maneja la IU mediante el árbol de accesibilidad
La extensión de Chrome intercepta cada fetch() y XMLHttpRequest — URLs, cabeceras, cuerpos de solicitud/respuesta, tiempos, incluso qué elemento del DOM desencadenó la llamada.
Ejecuta neo-schema en un dominio para generar automáticamente su mapa de API: endpoints, cabeceras de autenticación requeridas, parámetros de consulta, estructura de respuesta, códigos de error.
Ejecuta llamadas API dentro del contexto de la pestaña del navegador a través del Protocolo de Chrome DevTools. Cookies, tokens CSRF, autenticación de sesión — todo se hereda automáticamente. No se necesita gestión de tokens.
| Navegador | Tipo | Ideal para |
|---|---|---|
| Chrome / Chromium | Navegador completo | Captura API + automatización IU (por defecto) |
| Lightpanda | Sin cabeza (Zig) | Agentes IA, scraping — 11x más rápido, 9x menos memoria |
git clone https://github.com/4ier/neo.git
cd neo && npm install && npm run build
npm link # hace que `neo` esté disponible globalmente
Carga la extensión:
chrome://extensionsextension/dist/# Instalar 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/
# Configurar Neo para usar Lightpanda
# En ~/.neo/config.json:
# { "chromePath": "/usr/local/bin/lightpanda", "browserType": "lightpanda", "cdpPort": 9222 }
neo start # inicia el servidor CDP de Lightpanda
neo connect # conéctate a él
neo open https://example.com
neo snapshot # árbol de accesibilidad completo
Todos los comandos pasan por un único CLI: neo <comando>.
Requiere un navegador con CDP (Protocolo Chrome DevTools) habilitado.
# --- Conexión y Sesiones ---
neo connect [port] # Conectar a CDP, guardar sesión
neo connect --electron <app-name> # Descubrir automáticamente el puerto CDP de una app Electron
neo launch <app> [--port N] # Iniciar app Electron con CDP habilitado
neo discover # Encontrar endpoints CDP accesibles en localhost
neo sessions # Listar sesiones guardadas
neo tab # Listar objetivos CDP en la sesión activa
neo tab <index> | neo tab --url <pattern> # Cambiar objetivo de pestaña activa
neo inject [--persist] [--tab pattern] # Inyectar script de captura de Neo en el objetivo
# --- Captura y Tráfico ---
neo status # Resumen de datos capturados
neo capture summary # Visión general rápida
neo capture list github.com --limit 10 # Muestra IDs para reproducción/detalle
neo capture list --since 1h # Filtrado por tiempo
neo capture domains
neo capture search "CreateTweet" --method POST
neo capture watch x.com # Seguimiento en vivo (como tail -f)
neo capture stats x.com # Desglose de método/estado/tiempo
neo capture export x.com --since 2h > x.json
neo capture export x.com --format har > x.har # HAR 1.2 para Postman/devtools
neo capture import x-captures.json
neo capture prune --older-than 7d
neo capture gc x.com [--dry-run] # Deduplicación inteligente
# --- Reproducción y Ejecución de API ---
neo replay <capture-id> --tab x.com # Reproducir una llamada capturada
neo exec <url> --method POST --body '{...}' --tab example.com --auto-headers
neo api x.com HomeTimeline # Llamada inteligente (búsqueda en esquema + autenticación automática)
# --- Esquema y Análisis ---
neo schema generate x.com # Generar a partir de capturas
neo schema generate --all # Procesar por lotes todos los dominios
neo schema show x.com [--json]
neo schema openapi x.com # Exportar especificación OpenAPI 3.0
neo schema diff x.com # Cambios respecto a versión anterior
neo schema coverage # Dominios con/sin esquemas
neo label x.com [--dry-run] # Etiquetas semánticas de endpoints
neo flows x.com [--window 5000] # Patrones de secuencia de llamadas API
neo deps x.com [--min-confidence 1] # Dependencias de datos respuesta→solicitud
neo workflow discover|show|run <name> # Descubrimiento y reproducción de flujos multi-paso
neo suggest x.com # Análisis de capacidades con IA
neo export-skill x.com # Generar archivo SKILL.md listo para agente
# --- Automatización de IU (v2) ---
neo snapshot [-i] [-C] [--json] # Árbol de accesibilidad con mapeo @ref
neo click @ref [--new-tab] # Hacer clic en elemento por @ref
neo fill @ref "texto" # Limpiar y rellenar campo de entrada
neo type @ref "texto" # Añadir texto a campo de entrada
neo press <tecla> # Tecla del teclado (soporta Ctrl+a, Enter, etc.)
neo hover @ref # Pasar el ratón sobre elemento
neo scroll <dir> [px] [--selector css] # Desplazar en dirección
neo select @ref "valor" # Establecer valor de menú desplegable
neo screenshot [ruta] [--full] [--annotate] # Tomar captura de pantalla
neo get text @ref | neo get url | neo get title # Extraer información
neo wait @ref | neo wait --load networkidle | neo wait <ms> # Esperar elemento/carga/tiempo
# --- Interacción con Página ---
neo read github.com # Extraer texto legible
neo eval "document.title" --tab github.com # Ejecutar JS en la página
neo open https://example.com # Abrir URL
# --- Simulación y Puente ---
neo mock x.com [--port 8080 --latency 200] # Servidor simulado a partir del esquema
neo bridge [--json] [--interactive] # Flujo de captura en WebSocket en tiempo real