Skip to main content
Extrae datos de sesiones, eventos y evaluaciones (y dispara reevaluaciones) directamente desde un script o agente de código, con JSON limpio en stdout que se puede redirigir a jq. Estas recetas convierten los datos de Failproof AI Observability en algo que un usuario de terminal o un agente de código de IA (Claude Code, Cursor) puede consultar y automatizar, sin necesidad de navegar por el panel. Los patrones que se muestran a continuación están listos para copiar y pegar en la CLI de Failproof AI Observability (agenteye). Para la instalación, autenticación y la lista completa de opciones, consulta CLI; ejecuta agenteye -h o agenteye <command> -h para ver la ayuda integrada.

Reglas de oro

  1. Las opciones globales van antes del comando. agenteye --json sessions es correcto; agenteye sessions --json no lo es. Las opciones globales son --json, --base-url, --org, --token, --insecure/--secure, --timeout, --quiet, --no-color.
  2. Usa --json siempre que vayas a parsear la salida. Los datos van a stdout como JSON; los mensajes de estado e errores van a stderr, por lo que stdout permanece limpio para redirigir a jq.
  3. Ramifica según el código de salida, no según el texto de stderr: 0 correcto · 1 error inesperado · 2 argumentos incorrectos · 3 no se puede conectar al panel · 4 no autenticado o sesión expirada · 5 permiso insuficiente · 6 recurso no encontrado.
  4. Explora con -h. Cada comando documenta sus filtros, formatos de valores y estructura JSON.

Configuración inicial

Verifica la autenticación antes de trabajar

whoami nunca falla por una sesión ausente o expirada; en su lugar reporta logged_in:false, por lo que un agente puede verificar el estado de autenticación de forma segura. (Puede seguir saliendo con código distinto de cero si no hay URL base configurada o el panel no está accesible.)

Busca sesiones fallidas o con puntuación baja

El filtrado por puntuación está en evals, no en sessions. --score KEY:MIN..MAX es repetible y se combina con AND; cualquiera de los límites es opcional (..0.5 significa ≤ 0.5, 0.9.. significa ≥ 0.9). Puedes pasar hasta 20 filtros de puntuación por solicitud; más devuelve HTTP 400. sessions comparte los filtros --env, --status, --agent-id, --session-id y de rango temporal con evals, pero no tiene --score.

Lee una sesión completa de principio a fin

No existe un único comando session show. Combina el registro de eventos con la evaluación de la sesión:
Nota: Por defecto, events lee un feed rápido sin payload. Cada evento incluye un summary de una línea calculado por el servidor, además de flags como is_error y contadores de tokens, pero payload se devuelve como {}. Para obtener el payload bruto, añade --full (o --fields payload). El feed completo es más lento a escala, así que mantenlo acotado: combina --full con un único --session-id.

Obtén todos los datos (paginación)

Los resultados se ordenan del más reciente al más antiguo y se pagina con cursor.

Reduce la salida con —fields

Restringe las claves (tanto en la tabla como con --json) para reducir lo que un agente debe leer.
Los nombres de campo desconocidos se rechazan (salida 2) con la lista de campos válidos, una forma sencilla de descubrir los nombres disponibles.

Descubre los valores válidos de los filtros

Elige tu organización (multi-tenant)

Si perteneces a más de una organización, selecciona el tenant activo al iniciar sesión (se guarda):
Un inicio de sesión multi-organización sin --org termina con código distinto de cero e imprime las organizaciones disponibles para elegir.

Provisiona una clave API para el SDK/collector

Ejecuta una consulta guardada o ad-hoc

Gestiona un incidente de forma no interactiva

Nota: Las mutaciones omiten automáticamente la confirmación cuando se usa --json o cuando stdin no es un TTY, por lo que los agentes nunca quedan bloqueados; usa --yes/-y para omitirla explícitamente en otros contextos.

Manejo de códigos de salida en un script

Estructuras de la salida JSON

  • Cada elemento de evento (events): id, session_id, agent_id, event_type, ts, payload, environment, summary, is_error, error_type, output_tokens, context_window, context_fill. Ten en cuenta que payload es {} a menos que solicites el feed completo con --full (o --fields payload).
  • Cada elemento de evaluación (evals): id, session_id, agent_id, environment, status, scores, reasoning, summary, error, attempt_count, duration_ms, completed_at, created_at.
  • Cada elemento de sesión (sessions): session_id, agent_id, environment, status, scores, event_count, started_at, last_event_at, first_event_id, last_event_id, latest_evaluation.
El argumento --fields de cada comando acepta exactamente los nombres de campo de su propio elemento. El conjunto varía entre sessions y evals, por lo que un nombre válido para uno puede ser rechazado por el otro.

Próximos pasos

  • CLI: instalación, autenticación y la referencia completa de opciones para cada comando.
  • Skill de agente CLI: empaqueta estas recetas como una skill que tu agente de código pueda cargar.
  • Claves API: crea y limita el alcance de las claves con las que se autentican la CLI, el SDK y el collector.
  • Python SDK: envía eventos a Failproof AI Observability para que haya datos que estas recetas puedan consultar.