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
- Le opzioni globali vanno prima del comando.
agenteye --json sessionsè corretto;agenteye sessions --jsonnon lo è. Le opzioni globali sono--json,--base-url,--org,--token,--insecure/--secure,--timeout,--quiet,--no-color. - Passa
--jsonogni 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 ajq. - Ramifica in base al codice di uscita, non al testo di stderr:
0ok ·2argomenti errati ·3impossibile raggiungere la dashboard ·4non connesso o sessione scaduta ·5permesso mancante. - 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
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 comandosession 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.
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):--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--jsono quando stdin non è un TTY, quindi gli agenti non si bloccano mai; passa--yes/-yper saltarlo esplicitamente altrove.
Gestione del codice di uscita in uno script
Forme di output JSON
| Comando | JSON 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.
--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.
