CLI de Ezeo

Ezeo SEO desde tu terminal y desde tu agente de código, como tú.

Estado: publicado en npm. El inicio de sesión en el navegador se verificó en vivo el 2026-09-30; los demás comandos se prueban con respuestas grabadas, no con ejecuciones en vivo, así que avísanos de cualquier cifra que parezca incorrecta en lugar de fiarte de ella.

Qué es

Un paquete, un único registro de comandos. "ezeo <comando>" es el CLI y "ezeo mcp" sirve los mismos comandos a cualquier agente compatible con MCP, de modo que un comando que funciona en la terminal funciona igual dentro de Claude Code o Codex.

Es para cualquier propietario, administrador o miembro de una organización de Ezeo: tanto el equipo de Ezeo como los clientes de autoservicio. Las cuentas de cliente usan la aplicación web. El CLI actúa como el usuario que inició sesión, así que la seguridad a nivel de fila, la pertenencia a la organización y los límites de gasto controlan cada llamada, y nunca usa una clave de service role. "ezeo login" rechaza una cuenta de cliente y no guarda nada.

Si "ezeo whoami" indica que tu organización tiene cero proyectos, añade tu sitio en https://ezeo.ai/app o, si instalaste Ezeo con la app de Ezeo para Shopify, reclama tu tienda en https://ezeo.ai/app/shopify/link.

Instalación

Requiere Node 22 o superior. Instala el paquete desde npm y después inicia sesión:

npm i -g @ezeo/cli

ezeo login
ezeo whoami

Después, cada comando se ejecuta como "ezeo <comando>". Vuelve a ejecutar el mismo comando de instalación para actualizar.

Iniciar sesión

"ezeo login" sin opciones abre el inicio de sesión en el navegador (Google). Google siempre muestra su selector de cuentas, así que elige la cuenta cuyo acceso a Ezeo quieres que use el CLI. Después la terminal muestra con qué usuario iniciaste sesión.

ezeo login
ezeo login --password
ezeo whoami

"ezeo login --password" pide correo y contraseña en la terminal, para una máquina sin navegador; nunca se leen de los argumentos ni del entorno. La sesión se guarda en ~/.config/ezeo/credentials.json (modo 0600). "ezeo logout" la elimina.

Elige un proyecto, gana el de mayor prioridad: --project, luego la variable EZEO_PROJECT, luego project = "Nombre" en un .ezeo.toml buscado hacia arriba desde el directorio actual, y por último lo que guardó "ezeo use". Los nombres coinciden por prefijo; un prefijo ambiguo es un error que lista los candidatos.

Referencia de comandos

Todos los comandos aceptan --json. La ausencia de dato se muestra como un guion en las tablas y como null en JSON, nunca como 0.

Cuenta y proyecto

  • ezeo login [--password]

    Inicia sesión con el navegador (Google), o con correo y contraseña usando --password.

    gratis
  • ezeo logout

    Cierra la sesión y elimina la sesión guardada.

    gratis
  • ezeo whoami

    Rol, indicador de superadmin, organización y cuántos proyectos puede ver esta cuenta.

    gratis
  • ezeo use <project>

    Recuerda un proyecto predeterminado para esta máquina.

    gratis

Proyectos, estado, preguntas y resumen

  • ezeo projects

    Todos los proyectos que esta cuenta puede ver, con id, dominio y estado.

    gratis
  • ezeo status

    Qué está programado por servicio y los últimos 10 intentos de sincronización.

    gratis
  • ezeo ask "<question>"

    Una respuesta construida con los datos en vivo del proyecto mediante llamadas a herramientas.

    llm
  • ezeo brief [--mode] [--refresh]

    El resumen del proyecto, sintetizado. "ezeo brief --no-synthesize" es gratis y no usa LLM.

    llm

Informes y resumen semanal

  • ezeo readout [--week YYYY-MM-DD]

    El documento semanal de "qué cambió", con su cobertura.

    gratis
  • ezeo metrics search [--days 28]

    Totales de Search Console y la cobertura que hay detrás.

    gratis

Artículos e ideas de contenido

  • ezeo ideas [--limit] [--status]

    El backlog de temas de contenido, la mejor oportunidad primero.

    gratis
  • ezeo articles list [--status s]

    Artículos recientes y cada ejecución en curso.

    gratis
  • ezeo articles waiting

    Cada ejecución que espera a una persona, en todos tus proyectos.

    gratis
  • ezeo articles show <id>

    Una ejecución o artículo, el cuerpo completo y su content_hash.

    gratis
  • ezeo articles watch <run>

    Sigue una ejecución hasta que termine.

    gratis
  • ezeo articles request [--count N]

    Inicia N ejecuciones de artículos para esta semana ISO.

    pipeline
  • ezeo articles approve <run> --hash <content_hash>

    Aprueba en la puerta humana del artículo, con el content_hash que leíste.

    pipeline
  • ezeo articles approve-images <run> --hash <image_set_hash>

    Aprueba en la puerta humana de imágenes, con el image_set_hash.

    pipeline
  • ezeo articles retry <run> --reason "…"

    Devuelve al pipeline una ejecución aparcada o fallida.

    pipeline
  • ezeo articles cancel <run> --reason "…"

    Abandona una ejecución aparcada o en espera. No gasta nada y no se puede deshacer.

    gratis

Auditorías, rastreo y conversión

  • ezeo audit [--url] [--type]

    Auditoría técnica, de contenido o GEO de una página más señales del sitio.

    llm
  • ezeo cro audit [--url]

    Auditoría de tasa de conversión de una página: siete puntuaciones por categoría, hallazgos y victorias rápidas.

    scrape
  • ezeo cro hypotheses [--status s] [--limit N]

    Las hipótesis de pruebas A/B del proyecto, de mayor a menor puntuación ICE, con página, métrica de éxito y estado.

    gratis
  • ezeo cro brief <id>

    El brief listo para diseñar de una hipótesis A/B: evidencia de la página y pasos de entrega para Figma o Paper.

    gratis
  • ezeo crawl status

    El último rastreo completo del sitio: fase, páginas, enlaces y hallazgos (superadmin).

    gratis
  • ezeo crawl findings [--type t] [--limit N]

    Las páginas detrás de esos recuentos: enlaces rotos, 404, duplicados y noindex.

    gratis
  • ezeo crawl start [--max-pages N] [--force]

    Inicia un rastreo completo del sitio (superadmin), con precio por página.

    dfs

Palabras clave, posiciones, backlinks y competidores

  • ezeo keywords opportunities [--min-pos …]

    Consultas a distancia de ataque, puntuadas, indicando si existe contenido.

    gratis
  • ezeo keywords suggest [--count] [--focus]

    Sugerencias de palabras clave con IA, cada una con su motivo.

    llm
  • ezeo keywords research <mode> [--keywords|--domain]

    Investigación de DataForSEO Labs en varios modos, para palabras clave o un dominio.

    dfs
  • ezeo keywords volume <kw…>

    Volumen de búsqueda de Google para las palabras clave indicadas.

    dfs
  • ezeo keywords trends <kw…>

    Tendencia de búsqueda de Google para las palabras clave indicadas.

    dfs
  • ezeo rankings check [--keywords|--due|--all]

    Comprobación de SERP en vivo, con precio por palabra clave.

    dfs
  • ezeo backlinks <mode> [--competitor] [--refresh]

    Perfil de backlinks en varios modos; --refresh es lo que fuerza una consulta nueva.

    dfs
  • ezeo competitors analyze <domain> [--keywords]

    Lee la página de un competidor y la compara con el proyecto.

    llm

Gasto

  • ezeo spend [--month YYYY-MM]

    El gasto de IA de la organización en el mes en curso, el gasto de DataForSEO del mes en curso y el desglose de IA por proyecto del mes elegido cuando tu rol lo permite.

    gratis

Agentes y herramientas

  • ezeo mcp

    Sirve cada comando no meta a un cliente MCP por stdio.

    gratis
  • ezeo setup claude|codex|grok|gemini|cursor

    Registra "ezeo mcp" en un agente de código compatible; los agentes compatibles se muestran en el uso.

    gratis
  • ezeo help [--agent]

    Lista cada comando con su coste; --agent imprime la referencia completa para agentes.

    gratis
  • ezeo skill install [--dry-run]

    Escribe la referencia para agentes en ~/.claude/skills/ezeo/SKILL.md.

    gratis

Clases de coste

  • gratis Lee datos que Ezeo ya tiene. No se gasta nada.
  • llm Una llamada a OpenRouter, cargada al proyecto.
  • dfs Gasto de DataForSEO contra los límites mensuales compartidos.
  • scrape Un rastreo de página con Firecrawl, cargado a Ezeo.
  • pipeline Inicia o reanuda ejecuciones de artículos, cada una con gasto de LLM e imágenes.

Comandos de pago: simulación y luego confirmación

Cada comando llm, dfs, scrape y pipeline imprime lo que costará antes de ejecutarse. En una terminal después se ejecuta, así que pulsa Ctrl-C si el coste no es el que quieres; cuando stdin no es una terminal, el comando necesita --yes. Si la política de costes rechaza un comando, termina con el código 5 antes de cualquier llamada de red, así que no se gastó nada.

Dentro de un cliente MCP no hay nadie a quien preguntar, así que una herramienta de pago primero devuelve una simulación y un código de confirmación, y solo se ejecuta cuando se vuelve a llamar con la misma entrada y ese código. El código está ligado a la herramienta y a su entrada exacta, y muere con el proceso del servidor. No es de un solo uso, por lo que cada llamada confirmada puede volver a gastar.

Los dos comandos approve requieren --hash, tomado de "ezeo articles show", que lo imprime junto al cuerpo del artículo. No hay valor por defecto ni búsqueda, así que un artículo no se puede aprobar sin haberlo leído. "ezeo articles cancel" no gasta nada pero no se puede deshacer.

Usarlo dentro de agentes

"ezeo mcp" sirve el registro por stdio. "ezeo setup" lo registra en un agente por ti e imprime exactamente lo que ejecuta; añade --dry-run para imprimir sin cambiar nada.

ezeo setup claude
ezeo setup codex
ezeo setup grok
ezeo setup gemini
ezeo setup cursor
ezeo setup claude --dry-run

Instala la referencia para agentes como una skill de Claude para que el agente conozca las reglas antes de llamar a nada. "ezeo help --agent" imprime la referencia y "ezeo skill install" la escribe en ~/.claude/skills/ezeo/SKILL.md.

ezeo help --agent
ezeo skill install
ezeo skill install --dry-run

Por MCP, una llamada que sigue en curso tras 45 segundos devuelve STILL RUNNING y un id de trabajo; la herramienta ezeo_job recoge el resultado.

Códigos de salida

  • 0: correcto
  • 1: uso, por ejemplo una opción incorrecta o un proyecto ambiguo
  • 2: sin sesión iniciada, o el rol es rechazado
  • 3: el servidor respondió que no
  • 4: la petición nunca llegó al servidor
  • 5: rechazado localmente por la política de costes; no se gastó nada

Fuente de verdad: ezeo-cli/README.md y ezeo-cli/docs/AGENT.md en el repositorio de Ezeo.

¿Atascado? Escríbenos. Te responde una persona.llms.txtcli.md