Skip to main content
Steuere die gesamte Failproof AI Observability vom Terminal oder einem Skript aus: kein Umweg über das Dashboard. Die agenteye CLI fragt deine Daten ab (Sessions, Event-Logs, Evaluierungen) und verwaltet deine Organisation (API-Keys, Nutzer, Einstellungen, Alerts, Incidents, gespeicherte Abfragen) – greife darauf zurück, wenn du eine Prüfung automatisieren, Observability in CI einbinden oder einen Coding-Agenten die Produktion inspizieren lassen möchtest. Jeder Befehl unterstützt ein --json-Flag, sodass er gleichermaßen für dich an der Eingabeaufforderung oder für einen Coding-Agenten (Claude Code, Cursor) funktioniert, der das Ergebnis parst. Mit einer einzigen Binary kannst du:
  • Deine Daten lesen: sessions, events, evals, errors (gefiltert nach Zeit, Agent, Umgebung, Score).
  • Deine Organisation verwalten: keys, users, settings, alerts, incidents.
  • Analysen ausführen: gespeichertes SQL und einen Ad-hoc-Query-Runner (query).
  • Den KI-Assistenten befragen: denselben schreibgeschützten Analysten, mit dem du im Dashboard chattest (agent).
Hinweis: Dies ist die agenteye CLI, ein anderes Werkzeug als der Collector-Daemon (agenteye-collector). Die CLI kommuniziert mit deinem Dashboard; der Collector sendet Events an den Server.

Schnellstart

Von null zum ersten Ergebnis in vier Zeilen. Weise die CLI auf dein Dashboard, melde dich an, bestätige deine Identität und rufe dann die letzten 24 Stunden an Runs ab:
Der letzte Befehl gibt ein JSON-Objekt mit den neuesten Sessions aus (neueste zuerst, standardmäßig auf 50 begrenzt). Leite es in jq weiter, um es zu filtern, oder lass --json weg für eine umrahmte, kolorierte Tabelle. Jede Zeile enthält den Status des Runs und, sofern ein Evaluator ihn bewertet hat, seine Metrik-Scores (hier gekürzt):
Der Rest dieser Seite erläutert die einzelnen Bestandteile: Installation in einer isolierten Umgebung, Anmeldung, Konfiguration, die globalen Konventionen, die alle Befehle teilen, sowie die vollständige Befehlsreferenz.

Installation

Die CLI ist ein öffentliches PyPI-Paket namens agenteye. Installiere es in einer isolierten Umgebung, damit es stets eigene Abhängigkeiten hat:
Python 3.10+ ist erforderlich. Der installierte Befehl lautet agenteye:
Hinweis: Das Failproof AI Observability Python SDK verwendet ebenfalls den Distributionsnamen agenteye. Die Installation der CLI mit pipx oder uv tool (statt pip install in ein gemeinsames Virtualenv) verhindert Konflikte zwischen beiden. Ein einfaches pip install agenteye ist nur dann problemlos, wenn das SDK nicht in derselben Umgebung installiert ist.

Authentifizierung

Die CLI authentifiziert sich gegenüber dem Dashboard mit einem per E-Mail zugesandten Einmalcode:
Das Session-Token wird in ~/.agenteye/cli.json gespeichert (nur für dich lesbar, Modus 0600) und ist standardmäßig 24 Stunden gültig. Nach Ablauf führe erneut agenteye login aus.
whoami schlägt bei einer fehlenden oder abgelaufenen Session nie fehl; stattdessen meldet es logged_in: false, sodass ein Skript oder Agent den Auth-Status sicher abfragen kann (es kann dennoch mit einem Nicht-Null-Wert enden, wenn keine Basis-URL gesetzt oder das Dashboard nicht erreichbar ist). Voraussetzungen: Deine E-Mail-Adresse muss für die Anmeldung am Dashboard berechtigt sein (frage deinen Failproof AI Observability-Administrator), und das Dashboard muss über seine Basis-URL erreichbar sein (siehe Konfiguration). Wenn du einen Code anforderst und keiner eintrifft, ist deine E-Mail-Adresse wahrscheinlich noch nicht für den Dashboard-Zugang freigeschalten.

Organisation auswählen (Multi-Tenant)

Wenn dein Konto zu mehr als einer Organisation gehört, wähle die aktive bei der Anmeldung; sie wird gespeichert und für alle späteren Befehle verwendet:
Wenn du genau einer Organisation angehörst, wird diese automatisch ausgewählt, und du kannst --org vollständig ignorieren. Wenn du mehreren angehörst und keine auswählst, listet die CLI sie auf und fordert dich auf, den Befehl mit --org <slug> erneut auszuführen. Die aktive Organisation wird bei jeder Anfrage an das Dashboard gesendet, und deine Berechtigungen werden pro Organisation aufgelöst; agenteye whoami zeigt die aktive Organisation, deine Berechtigungen darin und alle deine Mitgliedschaften.

Konfiguration

Die Auflösungsreihenfolge ist Flag → Umgebungsvariable → Konfigurationsdatei. Es gibt keinen Standard; du musst die CLI auf dein Dashboard zeigen, entweder pro Befehl (--base-url https://agenteye.example.com) oder einmalig über die Umgebung (wird auch nach deinem ersten login gespeichert):
Das Konfigurationsverzeichnis berücksichtigt AGENTEYE_HOME (dieselbe Konvention wie beim SDK und Collector); wenn gesetzt, liegt cli.json unter $AGENTEYE_HOME/cli.json.

Selbstsignierte oder interne TLS-Zertifikate

Wenn dein Dashboard über HTTPS mit einem selbstsignierten oder internen Zertifikat betrieben wird (zum Beispiel ein roher Load-Balancer-Hostname), lehnt die TLS-Überprüfung es mit einem CERTIFICATE_VERIFY_FAILED-Fehler ab. Übergib --insecure, um die Zertifikatsprüfung zu überspringen:
--insecure wird bei der Anmeldung in cli.json gespeichert, sodass spätere Befehle die Überprüfung automatisch überspringen; du musst das Flag nicht wiederholen. Übergib --secure für einen einmaligen verifizierten Aufruf oder um die Überprüfung bei deiner nächsten Anmeldung wieder zu aktivieren. Die CLI gibt vor jedem Befehl, der das Dashboard kontaktiert, eine Warnung an stderr aus, solange die Überprüfung deaktiviert ist. Das Überspringen der Überprüfung beseitigt den Schutz vor Man-in-the-Middle-Angriffen; stelle sicher, dass du dem Netzwerkpfad zu deinem Dashboard vertraust (VPN, privates Subnetz usw.), bevor du dich darauf verlässt.

Telemetrie & Datenschutz

Hinweis: Die ausgelieferte CLI sendet heute keine Nutzungstelemetrie. Ein globaler Kill-Switch ist aktiviert, sodass unabhängig von deiner Umgebung nichts übertragen wird. Der folgende Abschnitt beschreibt die Opt-out-Möglichkeit für den Fall, dass Telemetrie jemals aktiviert wird.
Selbst wenn aktiviert, wären Telemetriedaten ausschließlich anonyme Nutzungsanalysen, niemals deine Agenten-, Session- oder Event-Daten:
  • Keine Agenten-, Session- oder Event-Daten verlassen jemals deine Infrastruktur. Nur CLI-Nutzung würde gemeldet: der Befehls- und Unterbefehls-Name (z. B. keys create), die Namen der verwendeten Flags (niemals deren Werte), Erfolgs-/Exit-Status und Dauer, sowie ein Pro-Aktion-Event für Mutationen (z. B. api_key_created, query_run), das nur statische Namen/Enums und grobe Zählwerte enthält. Deine Dashboard-URL, dein Session-Token, deine E-Mail, dein Org-Slug, Ressourcen-IDs, SQL, Key-Secrets und Abfragefilter würden niemals gesendet. Operatoren würden nur durch eine opaque interne ID identifiziert, niemals per E-Mail.
  • Vorab abmelden durch Setzen von AGENTEYE_ANALYTICS_DISABLED=1 in der Umgebung der CLI (die CLI berücksichtigt auch die toolübergreifende Konvention DO_NOT_TRACK=1). Dies greift sofort, wenn Telemetrie jemals aktiviert wird, sodass eine datenschutzbewusste Umgebung dauerhaft abgemeldet bleiben kann.
  • Wenn Telemetrie aktiviert wäre, würde die CLI direkt an PostHog senden (https://us.i.posthog.com); ein Gerät, bei dem dieser Host geblockt ist, würde still nichts senden, ohne dass die CLI beeinträchtigt würde.

Globale Optionen & Konventionen

Lies dies einmal; es gilt für jeden Befehl.
  • Globale Optionen stehen VOR dem Befehl. agenteye --json sessions ist korrekt; agenteye sessions --json ist ein Verwendungsfehler. Die globalen Optionen sind --json, --base-url, --org, --token, --insecure/--secure, --timeout, --quiet und --no-color.
  • --json gibt reines JSON nach stdout aus, und sonst nichts. Lesbare Statuszeilen, Warnungen und Fehler gehen an stderr, sodass eine --json-stdout-Erfassung sauber in jq geleitet werden kann, auch wenn eine Statuszeile angezeigt wird. Ohne --json erhältst du eine umrahmte, kolorierte Ansicht für menschliche Augen.
  • Erkunden mit --help. Jeder Befehl und Unterbefehl hat --help (und das -h-Alias): agenteye -h, agenteye sessions -h, agenteye keys create -h. Die oberste Hilfe listet auch die Exit-Codes und globalen Optionen auf. Es gibt keine globale maschinenlesbare Oberflächenauflistung; verwende --help pro Befehl sowie die domänenspezifischen agenteye query schema und agenteye settings schema für diese zwei Register.
  • Bestätigungen werden für Skripte und Agenten automatisch übersprungen. Erstell-/Aktualisierungs-/Löschbefehle fragen in einem interaktiven Terminal nach, ob du sicher bist, überspringen diese Abfrage aber automatisch unter --json oder wenn stdin kein TTY ist (ein TTY ist eine interaktive Terminalsitzung; eine Pipe oder ein CI-Runner ist keins), sodass Skripte und Agenten nie hängen bleiben. Übergib --yes/-y, um es explizit zu überspringen. Da die Abfrage für einen Agenten nicht ausgelöst wird, sollte ein Agent destruktive Aktionen vorher mit dem Menschen bestätigen.
  • Paginierung: Ergebnisse sind neueste zuerst und cursor-paginiert (jede Seite gibt ein Token zurück, das du zum Abrufen der nächsten verwendest). --limit N (Alias -n) begrenzt Zeilen und standardmäßig auf 50; --all paginiert automatisch (in 200-Zeilen-Chunks) bis --limit, sodass ein bloßes --all immer noch bei 50 stoppt. Für eine vollständige Abfrage übergib ein hohes explizites Limit: --all --limit 1000. --page-size N steuert den Chunk pro Anfrage (max. 200); --cursor <id> setzt ab dem next_cursor einer vorherigen Seite fort.
  • Zeitfilter: --since nimmt ein relatives Zeitfenster: 15m, 1h, 6h, 24h, 7d oder all (die Voreinstellungen des Dashboards). Für einen längeren oder benutzerdefinierten Bereich (z. B. die letzten 30 Tage) verwende --from/--to: explizite ISO-8601-UTC-Zeitstempel mit T und einer Zeitzone (z. B. 2026-06-01T00:00:00Z), die --since überschreiben. Ein mit Leerzeichen getrennter oder zeitzonenloser Wert ist ein Verwendungsfehler.
  • --fields a,b,c (bei events, sessions, evals, errors) schränkt die Ausgabe auf diese Schlüssel ein, sowohl für die Tabelle als auch für --json. Unbekannte Namen werden mit der gültigen Liste abgewiesen – eine einfache Methode, Feldnamen zu entdecken.
  • --file payload.json (oder --file -, um stdin zu lesen) liefert einen vollständigen JSON-Request-Body, wenn eine Ressource eine komplexe Form hat (bei alerts create/update, settings set und users create/update). SQL für gespeicherte Abfragen verwendet stattdessen --sql @file.sql.
  • Mehrwertige Filter sind kommagetrennt → als Menge abgeglichen (Union innerhalb eines Filters, UND über Filter hinweg): --event-type tool_use,tool_result. Click-Optionen sind nicht variadisch, daher schlägt --add a b fehl. Verwende --add a,b, wiederhole das Flag (--add a --add b) oder setze Anführungszeichen (--add "a b").

Befehlsreferenz

Die 5 häufigsten Befehle

Die meisten alltäglichen Aufgaben laufen über eine Handvoll Lesebefehle. Fange hier an und greife bei Bedarf auf die vollständige Oberfläche unten zurück:

Alles, was die CLI kann

Die vollständige Oberfläche folgt. Die CLI hat 18 Top-Level-Befehle. Alle Lesebefehle akzeptieren --json und die globalen Optionen oben; führe agenteye <command> -h (oder <command> <subcommand> -h) für die vollständige Flag-Liste und JSON-Form eines Befehls aus.

Identität: login · logout · whoami · orgs · version · help

orgs prüft und wechselt den aktiven Tenant:

Beobachten (nur lesend): events · sessions · evals · errors · list

Keiner dieser Befehle benötigt eine Bestätigung. Gemeinsame Filter: --session-id, --agent-id, --env (nicht --environment) und der Zeitbereich (--since / --from / --to).
--score KEY:MIN..MAX (bei evals, nicht sessions) ist wiederholbar und UND-kombiniert; jede Grenze ist optional (..0.5 bedeutet ≤ 0,5, 0.9.. bedeutet ≥ 0,9). Bis zu 20 Score-Filter pro Anfrage. evals --scores-full ist ein Anzeigeformat-Flag nur für die menschliche Tabelle; es zeigt jedes Score-Paar anstelle der ersten wenigen plus einer +N-Zählung. Es hat keine Auswirkung unter --json, das immer das vollständige Score-Objekt zurückgibt. Um eine Session von Anfang bis Ende zu lesen, kombiniere den Event-Verlauf mit seiner Evaluierung:

Verwalten (berechtigungsgesteuert): keys · users · settings · alerts · incidents

keys: API-Keys. Das Secret wird lokal generiert, an den Server gesendet (der nur einen Hash speichert) und beim Erstellen/Regenerieren einmalig angezeigt; erfasse es sofort. Mit --json erscheint es nur im Feld key. Referenziert nach Name.
Berechtigungen funktionieren als (permission-set ∪ --add) − --remove. Tokens sind slug:action (z. B. events:read) oder slug:action.action, um mehrere für eine Ressource zu erweitern (events:read.addevents:read, events:add). Voreinstellungen: read-only, standard, admin. Rein menschliche Berechtigungen (keys:update) können keinem Key gewährt werden. users: Org-Mitglieder, referenziert per E-Mail (eine UUID-ID wird ebenfalls akzeptiert).
settings: Ein festes Register (du liest und ändert vorhandene Schlüssel; du kannst keine neuen erstellen).
alerts: Alert-Definitionen, referenziert nach Name. create nimmt einen positionale NAME plus Flags oder einen vollständigen JSON-Body via --file.
incidents: Alert-Incidents, referenziert per ID (Kurzformen akzeptiert). show gibt das vollständige Aktivitätsprotokoll aus; lies es vor dem Handeln.

Analysen & Assistent: query · agent

query: Gespeichertes SQL gegen deinen Analyse-Store plus einen Ad-hoc-Runner. Gespeicherte Abfragen werden nach Name referenziert; das SQL wird serverseitig validiert (nur SELECT/WITH, Statement-Timeout, Zeilenlimit).
agent: Kommuniziert mit dem eingebauten KI-Assistenten (demselben schreibgeschützten Analysten, mit dem du im Dashboard chatten kannst). Chats werden per Kurz-Chat-ID referenziert (Präfix-aufgelöst).

Exit-Codes

Diese machen die CLI sicher skriptfähig: Ein Coding-Agent kann bei 4 darauf reagieren, dich zur erneuten Authentifizierung aufzufordern, oder bei 5 die fehlende Berechtigung anzeigen. Siehe CLI-Rezepte für Agenten für Exit-Code-Behandlungsmuster und JSON-Ausgabeformen.

Nächste Schritte

  • CLI-Rezepte für Agenten: Kopierfertige Abfragemuster, jq-Einzeiler, --fields-Projektionen, Exit-Code-Behandlung und JSON-Ausgabeformen – geschrieben für Coding-Agenten, die die CLI steuern.
  • CLI-Agent-Skill: Paketiere diese CLI als installierbaren Claude Code / Codex-Skill, damit ein Coding-Agent Failproof AI Observability über einfache Textanfragen steuert.
  • API-Keys: Das Berechtigungsmodell hinter keys create --add ….
  • KI-Assistent: Den Assistenten aktivieren, mit dem agent ask kommuniziert.