Vai al contenuto principale
Estrai dati di sessione, evento e valutazione (e attiva rivalutazioni) direttamente da uno script o da un agente di codifica, con JSON pulito su stdout che si collega direttamente a jq. Queste ricette trasformano i dati di osservabilità di AgentEye in qualcosa che un utente di terminale o un agente di codifica AI (Claude Code, Cursor) può interrogare e automatizzare, senza cliccare sulla dashboard. I modelli seguenti sono pronti per il copia-incolla sulla CLI di AgentEye (agenteye). Per l’installazione, l’autenticazione e l’elenco completo delle opzioni, vedi CLI; esegui agenteye -h o agenteye <command> -h per l’aiuto integrato.

Regole d’oro

  1. Le opzioni globali vanno prima del comando. agenteye --json sessions è corretto; agenteye sessions --json non lo è. Le opzioni globali sono --json, --base-url, --org, --token, --insecure/--secure, --timeout, --quiet, --no-color.
  2. Passa --json ogni volta che analizzi l’output. I dati vanno su stdout come JSON; i messaggi di stato umani e gli errori vanno su stderr, quindi stdout rimane pulito per collegarsi a jq.
  3. Ramifica in base al codice di uscita, non al testo di stderr: 0 ok · 2 argomenti errati · 3 impossibile raggiungere la dashboard · 4 non connesso o sessione scaduta · 5 permesso mancante.
  4. Scopri con -h. Ogni comando documenta i suoi filtri, i formati di valore e la forma JSON.

Configurazione una tantum

Conferma autenticazione prima di lavorare

whoami non genera mai errori per una sessione mancante o scaduta; invece riporta logged_in:false, quindi un agente può sondare lo stato di autenticazione in sicurezza. (Può comunque uscire con codice diverso da zero se nessun URL di base è impostato o la dashboard è irraggiungibile.)

Trova sessioni con fallimento o punteggio basso

Il filtro dei punteggi si trova su evals, non su sessions. --score KEY:MIN..MAX è ripetibile e combinato con AND; entrambi i limiti sono opzionali (..0.5 significa ≤ 0.5, 0.9.. significa ≥ 0.9). Puoi passare fino a 20 filtri di punteggio per richiesta; più di questo restituisce HTTP 400. sessions condivide i filtri --env, --status, --agent-id, --session-id e intervallo di tempo con evals, ma non ha --score.

Leggi una sessione da capo a fondo

Non c’è un singolo comando session show — combina la traccia di eventi con la valutazione della sessione:

Recupera tutto (paginazione)

I risultati sono in ordine più recente prima e impaginati con cursore.

Riduci l’output con —fields

Limita le chiavi (sia nella tabella che in --json) per ridurre ciò che un agente deve leggere.
I nomi di campo sconosciuti vengono rifiutati (uscita 2) con l’elenco valido, un modo economico per scoprire i nomi dei campi.

Scopri valori di filtro validi

Scegli la tua organizzazione (multi-tenant)

Se appartieni a più di un’organizzazione, scegli il tenant attivo al login (viene salvato):
Un login multi-org senza --org esce con codice diverso da zero e stampa le organizzazioni tra cui scegliere.

Provisioning di una chiave API per SDK/collector

Esegui una query salvata o ad hoc

Triage di un incident non interattivamente

Le mutazioni saltano automaticamente il prompt di conferma con --json o quando stdin non è un TTY, quindi gli agenti non si bloccano mai; passa --yes/-y per saltarlo esplicitamente altrove.

Gestione del codice di uscita in uno script

Forme di output JSON

ComandoJSON stdout (con --json)
whoami{"logged_in": true, "id", "email", "is_instance_admin", "active_org", "permissions": [...], "memberships": [...]} o {"logged_in": false}
orgs list{"active_org", "orgs": [{"org_slug","org_name","permission_set","permissions"}]}
events{"events": [...], "next_cursor": <cursor or null>}
evals{"evaluations": [...], "next_cursor": <cursor or null>}
sessions{"sessions": [...], "next_cursor": <cursor or null>}
errors{"errors": [...], "next_cursor": <cursor or null>}
list <kind>{"kind", "values": [...]}
keys list / keys create{"keys": [...]} / {id, name, permissions, created_at, key} (key mostrato una volta)
query run{columns: [{name,type}], rows: [[...]], truncated, elapsed_ms}
users list / settings list{"users": [...]} / {"settings": [...]}
alerts list / incidents list{"alerts": [...]} / {"incidents": [...]}
create/update/delete (qualsiasi)l’oggetto risorsa, o {"deleted": true, "id"} per eliminazioni
failure (qualsiasi, con --json){"error": "...", "exit_code": <n>, "status"?: <http>, "hint"?: "..."} su stdout
  • Ogni elemento event (events): id, session_id, agent_id, event_type, ts, payload, environment.
  • Ogni elemento evaluation (evals): id, session_id, agent_id, environment, status, scores, reasoning, summary, error, attempt_count, duration_ms, completed_at, created_at.
  • Ogni elemento session (sessions): session_id, agent_id, environment, status, scores, event_count, started_at, last_event_at, first_event_id, last_event_id, latest_evaluation.
Ogni --fields del comando accetta esattamente i nomi dei campi del suo elemento — l’insieme è diverso tra sessions e evals, quindi un nome valido per uno può essere rifiutato dall’altro.