agenteye) è un client di terminale per la tua distribuzione AgentEye. Interroga i tuoi dati (sessioni, log degli eventi, valutazioni) e amministra l’organizzazione (chiavi API, utenti, impostazioni, avvisi, incidenti, query salvate) — tutto ciò che fa il dashboard, da uno script o da un agente di codifica. Ogni comando supporta un flag --json, per funzionare allo stesso modo sia per un umano al prompt che per un agente di codifica (Claude Code, Cursor) che lo richiama e ne analizza il risultato.
Questo è il CLIagenteye, uno strumento diverso dal daemon collector (agenteye-collector). Il CLI comunica con il tuo dashboard; il collector invia gli eventi al server. Vedi Collector Installation per il collector.
Installazione
Il CLI è pubblicato su PyPI pubblico comeagenteye. Poiché l’SDK Python di AgentEye utilizza anch’esso il nome di distribuzione agenteye, installa il CLI in un ambiente isolato (pipx o uv tool) affinché i due non si scontrino mai nello stesso virtualenv:
pip install agenteye funziona anche se non stai installando l’SDK Python nello stesso ambiente. Il CLI richiede Python 3.10+ e non ha bisogno di alcun token GitHub; è un pacchetto pubblico.
Il comando installato è agenteye:
Autenticazione
Il CLI si autentica al dashboard con un codice una tantum inviato per email:~/.agenteye/cli.json (leggibile solo da te, modo 0600) ed è valido per 24 ore per impostazione predefinita. Quando scade, esegui di nuovo agenteye login.
whoami non genera mai errori su una sessione mancante o scaduta — invece riporta logged_in: false, così uno script o un agente può controllare lo stato dell’autenticazione in sicurezza (può comunque uscire con codice non zero se l’URL di base non è impostato o il dashboard non è raggiungibile).
Requisiti: la tua email deve essere autorizzata ad accedere al dashboard (chiedi al tuo amministratore di AgentEye), e il dashboard deve essere raggiungibile al suo URL di base (vedi Configuration). Se richiedi un codice e non arriva, è probabile che la tua email non sia ancora abilitata per l’accesso al dashboard.
Scelta della tua org (multi-tenant)
Se il tuo account appartiene a più di un’org, scegli quella attiva al login — viene salvata e utilizzata per ogni comando successivo:--org. Se appartieni a diversi e non ne scegli uno, il CLI li elenca e ti chiede di rieseguire con --org <slug>. L’org attiva viene inviata al dashboard su ogni richiesta, e i tuoi permessi vengono risolti per org — agenteye whoami mostra l’org attiva, i tuoi permessi in essa, e tutti i tuoi abbonamenti.
Configurazione
| Impostazione | Flag | Variabile d’ambiente | Predefinito |
|---|---|---|---|
| URL base del Dashboard | --base-url | AGENTEYE_DASHBOARD_URL | obbligatorio (nessun valore predefinito) |
| Org/tenant attiva | --org | AGENTEYE_ORG | scelta al login; salvata in ~/.agenteye/cli.json |
| Token di sessione | --token | AGENTEYE_CLI_TOKEN | da ~/.agenteye/cli.json |
| Output JSON | --json | AGENTEYE_CLI_JSON | spento |
| Salta verifica TLS | --insecure / --secure | AGENTEYE_INSECURE | spento (salvato al login) |
| Timeout richiesta (secondi) | --timeout | — | 30 |
| Disabilita telemetria di utilizzo | (nessuno) | AGENTEYE_ANALYTICS_DISABLED (o DO_NOT_TRACK) | spento (telemetria attiva) |
--base-url https://agenteye.example.com) che una volta tramite l’ambiente (viene salvato anche dopo il tuo primo login):
AGENTEYE_HOME (la stessa convenzione utilizzata dall’SDK e dal collector); se impostata, cli.json si trova in $AGENTEYE_HOME/cli.json.
TLS auto-firmato o interno
Se il tuo dashboard viene servito su HTTPS con un certificato auto-firmato o interno (ad esempio, un nome host del load-balancer grezzo), la verifica TLS lo rifiuta con un erroreCERTIFICATE_VERIFY_FAILED. Passa --insecure per saltare la verifica del certificato:
--insecure è salvato in cli.json quando esegui il login, così i comandi successivi saltano la verifica automaticamente; non devi ripetere il flag. Passa --secure per una chiamata verificata una tantum, o per salvare di nuovo la verifica al tuo prossimo login. Il CLI stampa un avviso su stderr prima di qualsiasi comando che contatta il dashboard mentre la verifica è disabilitata. Saltare la verifica rimuove la protezione contro gli attacchi man-in-the-middle; assicurati di fidarti del percorso di rete verso il tuo dashboard (VPN, subnet privata, ecc.) prima di fare affidamento su di esso.
Telemetria e privacy
Il CLI invia analitiche di utilizzo anonime al servizio di analitiche di Exosphere (PostHog): quali comandi vengono eseguiti (ad esempiosessions, keys create), se hanno avuto successo e quanto tempo hanno impiegato. Questo segnale di utilizzo informa la priorità di quali funzionalità.
- Nessun dato di agente, sessione o evento esce mai dalla tua infrastruttura. Solo l’utilizzo del CLI viene segnalato: il nome del comando e del subcommando (ad esempio
keys create), i nomi dei flag che hai usato (mai i loro valori), stato di successo/uscita e durata — più un evento per azione per le mutazioni (ad esempioapi_key_created,query_run) che portano solo nomi/enum statici e conteggi approssimativi. L’URL del tuo dashboard, il token di sessione, l’email, lo slug dell’org, gli id delle risorse, il SQL, i segreti delle chiavi e i filtri delle query non vengono mai inviati. Gli operatori sono identificati solo da un id interno opaco, mai per email. - La telemetria è abilitata per impostazione predefinita. Per disattivarla, imposta
AGENTEYE_ANALYTICS_DISABLED=1nell’ambiente del CLI (il CLI rispetta anche la convenzione cross-toolDO_NOT_TRACK=1). - Il CLI invia direttamente a PostHog (
https://us.i.posthog.com). La macchina che esegue il CLI ha bisogno di accesso in uscita a quell’host; se è bloccato, la telemetria non fa silenziosamente nulla (l’invio è limitato nel tempo quindi non ritarda mai o rompe un comando) e il CLI non è influenzato.
Opzioni globali e convenzioni
Leggi questo una volta; si applica a ogni comando.- Le opzioni globali vanno PRIMA del comando.
agenteye --json sessionsè corretto;agenteye sessions --jsonè un errore di utilizzo. I globali sono--json,--base-url,--org,--token,--insecure/--secure,--timeout,--quiete--no-color. --jsonstampa JSON puro su stdout, e nient’altro. Le linee di stato umane, gli avvisi e gli errori vanno su stderr, così una cattura di stdout di--jsonrimane pulita per il piping injqanche quando viene mostrata una linea di stato. Senza--jsonottieni una vista boxed e colorizzata per gli occhi umani.- Scopri con
--help. Ogni comando e subcommando ha--help(e l’alias-h):agenteye -h,agenteye sessions -h,agenteye keys create -h. L’aiuto di primo livello elenca anche i codici di uscita e le opzioni globali. Non c’è un dump di superficie leggibile da macchina globale; usa--helpper comando, più i domini specificiagenteye query schemaeagenteye settings schemaper questi due registri. - Le conferme si saltano automaticamente per script e agenti. I comandi create/update/delete chiedono conferma “sei sicuro?” in un terminale interattivo, ma saltano automaticamente il prompt sotto
--jsono ogni volta che stdin non è un TTY — così script e agenti non si bloccano mai. Passa--yes/-yper saltarlo esplicitamente. Poiché il prompt non si attiverà per un agente, un agente dovrebbe confermare le azioni distruttive con l’umano per primo. - Impaginazione: i risultati sono i più recenti per primi e cursore-impaginati.
--limit N(alias-n) limita le righe ed è predefinito a 50;--allimpagina automaticamente (in chunk di 200 righe) fino a--limit— quindi un--allnudo si ferma comunque a 50. Per una scansione completa passa un limite esplicito alto:--all --limit 1000.--page-size Ncontrolla lo chunk per richiesta (massimo 200);--cursor <id>riprende dalla pagina precedentenext_cursor. - Filtri temporali:
--sinceprende una finestra relativa —15m,1h,6h,24h,7d,30doall(i preset del dashboard).--from/--toaccettano timestamp UTC espliciti in formato ISO-8601 conTe un fuso orario (ad esempio2026-06-01T00:00:00Z) per un intervallo personalizzato e sovrascrivono--since; un valore separato da spazio o senza fuso orario è un errore di utilizzo. --fields a,b,c(suevents,sessions,evals,errors) limita l’output a quelle chiavi, sia per la tabella che per--json. I nomi sconosciuti vengono rifiutati con l’elenco valido — un modo economico per scoprire i nomi dei campi.--file payload.json(o--file -per leggere stdin) fornisce un corpo di richiesta JSON completo dove una risorsa ha una forma complessa — sualerts create/update,settings seteusers create/update. Il SQL della query salvata usa--sql @file.sqlinvece.- I filtri multi-valore sono separati da virgola → abbinati come set (unione all’interno di un filtro, AND su filtri):
--event-type tool_use,tool_result. Le opzioni click non sono variadiche, quindi--add a bsi interrompe — usa--add a,b, ripeti il flag (--add a --add b) o racchiudi tra virgolette (--add "a b").
Riferimento comandi
Il CLI ha 18 comandi di primo livello. Tutti i comandi di lettura accettano--json e le opzioni globali sopra; esegui agenteye <command> -h (o <command> <subcommand> -h) per l’elenco completo di flag e la forma JSON di uno qualsiasi.
Identità — login · logout · whoami · orgs · version · help
orgs ispeziona e commuta il tenant attivo:
Osserva (sola lettura) — events · sessions · evals · errors · list
Nessuno di questi richiede una conferma. Filtri condivisi: --session-id, --agent-id, --env (non --environment) e l’intervallo temporale (--since / --from / --to).
--score KEY:MIN..MAX (su evals, non sessions) è ripetibile e AND-combinato; uno qualsiasi dei limiti è opzionale (..0.5 significa ≤ 0.5, 0.9.. significa ≥ 0.9). Fino a 20 filtri di score per richiesta. evals --scores-full restituisce l’oggetto score completo anziché il riepilogo. Per leggere una sessione da capo a fondo, combina la traccia di evento con la sua valutazione:
Gestisci (limitato da permessi) — keys · users · settings · alerts · incidents
keys — Chiavi API. Il segreto viene generato localmente, inviato al server (che memorizza solo un hash) e mostrato una sola volta su create/regenerate — catturalo allora. Con --json appare solo nel campo key. Referenziato per nome.
(permission-set ∪ --add) − --remove. I token sono slug:action (ad esempio events:read) o slug:action.action per espanderne diversi su una risorsa (events:read.add → events:read, events:add). Preset: read-only, standard, admin. I permessi solo per umani (keys:update) non possono essere concessi a una chiave.
users — Membri dell’org, referenziati per email (è accettato anche un id UUID).
settings — Un registro fisso (leggi e cambia le chiavi esistenti; non puoi crearne di nuove).
alerts — Definizioni di avviso, referenziate per nome. create accetta un NAME posizionale più flag o un corpo JSON completo tramite --file.
incidents — Incidenti di avviso, referenziati per id (gli id brevi sono accettati). show stampa il log di attività completo — leggilo prima di agire.
Analitiche e assistente — query · agent
query — SQL ClickHouse salvato più un runner ad hoc. Le query salvate sono referenziate per nome; il SQL viene validato lato server (SELECT/WITH solo, timeout dell’istruzione, limite di riga).
agent — L’assistente dashboard integrato (lo stesso analista di sola lettura con cui puoi chattare nel dashboard). Le chat sono referenziate da un breve chat-id (prefix-risolto).
Codici di uscita
| Codice | Significato |
|---|---|
| 0 | Successo |
| 1 | Errore inaspettato (ad esempio il dashboard ha restituito un 5xx) |
| 2 | Errore di utilizzo (argomenti non validi, comando/flag sconosciuto, collisione di nome) |
| 3 | Impossibile raggiungere il dashboard |
| 4 | Non loggato o sessione scaduta; esegui agenteye login |
| 5 | Autenticato, ma il tuo account manca del permesso richiesto (il messaggio lo nomina) |
| 6 | La risorsa richiesta non è stata trovata (ad esempio id di sessione o incidente sconosciuto) |
4 per chiederti di riauthenticarti, o su un 5 per esporre il permesso mancante. Vedi CLI recipes for agents per i pattern di gestione dei codici di uscita e le forme di output JSON.
Vedi anche
- CLI recipes for agents — pattern di query copia-incolla, one-liner
jq, proiezioni--fields, gestione dei codici di uscita e forme di output JSON, scritti per agenti di codifica che guidano il CLI. - AgentEye CLI skill — pacchetto questo CLI come una skill installabile Claude Code / Codex così un agente di codifica guida AgentEye da richieste in linguaggio naturale.
- API Keys — il modello di permesso dietro
keys create --add …. - AI Assistant — abilitare l’assistente con cui
agent askcomunica.

