jq pipen lässt. Diese Rezepte verwandeln die Daten von Failproof AI Observability in etwas, das ein Terminal-Nutzer oder ein KI-Coding-Agent (Claude Code, Cursor) abfragen und automatisieren kann, ohne das Dashboard anzuklicken.
Die folgenden Muster sind kopierfertig für die Failproof AI Observability CLI (agenteye). Für Installation, Authentifizierung und die vollständige Optionsliste siehe CLI; führe agenteye -h oder agenteye <command> -h für die eingebaute Hilfe aus.
Grundregeln
- Globale Optionen stehen vor dem Befehl.
agenteye --json sessionsist korrekt;agenteye sessions --jsonnicht. Die globalen Optionen sind--json,--base-url,--org,--token,--insecure/--secure,--timeout,--quiet,--no-color. --jsonangeben, wenn die Ausgabe geparst wird. Daten gehen als JSON an stdout; menschlesbare Statusmeldungen und Fehler gehen an stderr, damit stdout sauber injqgepipt werden kann.- Auf den Exit-Code verzweigen, nicht auf stderr-Text:
0OK ·1unerwarteter Fehler ·2fehlerhafte Argumente ·3Dashboard nicht erreichbar ·4nicht angemeldet oder abgelaufen ·5fehlende Berechtigung ·6Ressource nicht gefunden. - Mit
-herkunden. Jeder Befehl dokumentiert seine Filter, Wertformate und JSON-Struktur.
Einmalige Einrichtung
Auth vor der Arbeit bestätigen
whoami gibt bei einer fehlenden oder abgelaufenen Sitzung keinen Fehler aus, sondern meldet logged_in:false – ein Agent kann den Auth-Status daher sicher abfragen. (Es kann dennoch mit einem Nicht-null-Exit-Code enden, wenn keine Base-URL gesetzt ist oder das Dashboard nicht erreichbar ist.)
Fehlgeschlagene oder niedrig bewertete Sitzungen finden
evals, nicht über sessions. --score KEY:MIN..MAX ist wiederholbar und wird 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 Zeitbereichsfilter mit evals, hat aber kein --score.
Eine Sitzung von Anfang bis Ende lesen
Es gibt keinen einzelnensession show-Befehl. Kombinierre den Ereignisverlauf mit der Auswertung der Sitzung:
Hinweis: Standardmäßig liesteventseinen schnellen Feed ohne Payload. Jedes Ereignis enthält eine server-berechnete einzeiligesummarysowie Flags wieis_errorund Token-Zählungen, aberpayloadwird als{}zurückgegeben. Um den rohen Payload abzurufen,--full(oder--fields payload) hinzufügen. Der vollständige Feed ist bei großen Datenmengen langsamer – daher begrenzt halten:--fullmit einer einzelnen--session-idkombinieren.
Alles abrufen (Paginierung)
Ergebnisse sind neueste-zuerst und cursor-paginiert.Ausgabe mit —fields reduzieren
Schlüssel (sowohl in der Tabelle als auch mit--json) einschränken, um das zu reduzieren, was ein Agent lesen muss.
2) mit der Liste gültiger Namen – eine einfache Methode, um Feldnamen zu entdecken.
Gültige Filterwerte erkunden
Organisation auswählen (Multi-Tenant)
Wenn mehrere Organisationen vorhanden sind, beim Login den aktiven Tenant wählen (wird gespeichert):--org endet mit einem Nicht-null-Exit-Code und gibt die verfügbaren Organisationen aus.
API-Key für das SDK/den Collector bereitstellen
Eine gespeicherte oder Ad-hoc-Abfrage ausführen
Einen Vorfall nicht-interaktiv triagieren
Hinweis: Mutationen überspringen ihre Bestätigungsaufforderung automatisch unter--jsonoder wenn stdin kein TTY ist, damit Agenten nie hängen bleiben;--yes/-yübergeben, um sie anderswo explizit zu überspringen.
Exit-Code-Behandlung in einem Skript
JSON-Ausgabeformate
- Jedes event-Element (
events):id, session_id, agent_id, event_type, ts, payload, environment, summary, is_error, error_type, output_tokens, context_window, context_fill. Hinweis:payloadist{}, außer der vollständige Feed wird mit--full(oder--fields payload) angefordert. - 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 seines eigenen Elements. Der Satz unterscheidet sich zwischen sessions und evals, daher kann ein für eines gültiger Name vom anderen abgelehnt werden.
Nächste Schritte
- CLI: Installation, Authentifizierung und die vollständige Optionsreferenz für jeden Befehl.
- CLI-Agenten-Skill: Diese Rezepte als Skill verpacken, den dein Coding-Agent laden kann.
- API-Keys: Keys erstellen und einschränken, mit denen sich CLI, SDK und Collector authentifizieren.
- Python SDK: Ereignisse in Failproof AI Observability senden, damit diese Rezepte Daten zum Abfragen haben.

