jq pipen lässt. Diese Rezepte machen AgentEyes Observability-Daten für Terminal-Nutzer oder KI-Coding-Agenten (Claude Code, Cursor) abfragbar und automatisierbar, ohne durch das Dashboard zu klicken.
Die folgenden Muster sind kopierbereit für die AgentEye CLI (agenteye). Informationen zur Installation, Authentifizierung und der vollständigen Optionsliste findest du unter CLI; führe agenteye -h oder agenteye <command> -h für die eingebaute Hilfe aus.
Grundregeln
- Globale Optionen kommen vor dem Befehl.
agenteye --json sessionsist korrekt;agenteye sessions --jsonist es nicht. Die globalen Optionen sind--json,--base-url,--org,--token,--insecure/--secure,--timeout,--quiet,--no-color. --jsonübergeben, wenn du die Ausgabe parst. Daten gehen als JSON an stdout; menschenlesbare Status- und Fehlermeldungen gehen an stderr, sodass stdout sauber injqgepipet werden kann.- Verzweige anhand des Exit-Codes, nicht anhand des stderr-Texts:
0ok ·2ungültige Argumente ·3Dashboard nicht erreichbar ·4nicht eingeloggt oder abgelaufen ·5fehlende Berechtigung. - Mit
-herkunden. Jeder Befehl dokumentiert seine Filter, Wertformate und die JSON-Struktur.
Einmalige Einrichtung
Auth prüfen, bevor Arbeit erledigt wird
whoami gibt bei einer fehlenden oder abgelaufenen Sitzung keinen Fehler aus; stattdessen meldet es logged_in:false, sodass ein Agent den Auth-Status sicher abfragen kann. (Es kann trotzdem mit einem Exit-Code ungleich null enden, wenn keine Basis-URL gesetzt oder das Dashboard nicht erreichbar ist.)
Fehlgeschlagene oder niedrig bewertete Sitzungen finden
evals, nicht bei sessions. --score KEY:MIN..MAX ist wiederholbar und wird mit UND verknüpft; beide Grenzen sind optional (..0.5 bedeutet ≤ 0,5; 0.9.. bedeutet ≥ 0,9). Pro Anfrage können bis zu 20 Score-Filter übergeben werden; mehr ergibt HTTP 400. sessions teilt die Filter --env, --status, --agent-id, --session-id und Zeitbereich mit evals, hat aber kein --score.
Eine Sitzung von Anfang bis Ende lesen
Es gibt keinen einzelnen Befehlsession show – kombiniere den Ereignisverlauf mit der Evaluierung der Sitzung:
Alles abrufen (Paginierung)
Ergebnisse sind neueste zuerst und cursor-paginiert.Ausgabe mit —fields einschränken
Schlüssel (sowohl in der Tabelle als auch bei--json) einschränken, um zu reduzieren, was ein Agent lesen muss.
2) und die gültige Liste wird ausgegeben – eine einfache Methode, um Feldnamen zu erkunden.
Gültige Filterwerte entdecken
Organisation auswählen (Multi-Tenant)
Wenn du mehr als einer Organisation angehörst, wähle den aktiven Mandanten beim Login (er wird gespeichert):--org endet mit einem Exit-Code ungleich null und gibt die zur Auswahl stehenden Organisationen aus.
API-Schlüssel für das SDK/den Collector bereitstellen
Eine gespeicherte oder Ad-hoc-Abfrage ausführen
Einen Vorfall nicht-interaktiv triagieren
Mutationen überspringen ihre Bestätigungsabfrage automatisch bei--jsonoder wenn stdin kein TTY ist, sodass Agenten nie hängen bleiben; übergib--yes/-y, um sie anderswo explizit zu überspringen.
Exit-Code-Behandlung in einem Skript
JSON-Ausgabestrukturen
| Befehl | stdout JSON (mit --json) |
|---|---|
whoami | {"logged_in": true, "id", "email", "is_instance_admin", "active_org", "permissions": [...], "memberships": [...]} oder {"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 wird einmalig angezeigt) |
query run | {columns: [{name,type}], rows: [[...]], truncated, elapsed_ms} |
users list / settings list | {"users": [...]} / {"settings": [...]} |
alerts list / incidents list | {"alerts": [...]} / {"incidents": [...]} |
| create/update/delete (beliebig) | das Ressourcenobjekt oder {"deleted": true, "id"} bei Löschvorgängen |
Fehler (beliebig, mit --json) | {"error": "...", "exit_code": <n>, "status"?: <http>, "hint"?: "..."} auf stdout |
- Jedes event-Element (
events):id, session_id, agent_id, event_type, ts, payload, environment. - Jedes evaluation-Element (
evals):id, session_id, agent_id, environment, status, scores, reasoning, summary, error, attempt_count, duration_ms, completed_at, created_at. - Jedes session-Element (
sessions):session_id, agent_id, environment, status, scores, event_count, started_at, last_event_at, first_event_id, last_event_id, latest_evaluation.
--fields-Argument jedes Befehls akzeptiert genau die Feldnamen des jeweiligen Elements – der Satz unterscheidet sich zwischen sessions und evals, sodass ein für eines gültiger Name vom anderen abgelehnt werden kann.
