Zum Hauptinhalt springen
Das failproofai-Dashboard ist eine lokale Webanwendung zur Überwachung deiner KI-Agent-Sitzungen und zur Verwaltung von Richtlinien. Sieh nach, was deine Agenten in deiner Abwesenheit getan haben.

Dashboard starten

failproofai
Öffnet sich unter http://localhost:8020. Das Dashboard liest direkt aus dem Dateisystem – aus deinen Claude Code-Projektordnern und den failproofai-Konfigurationsdateien. Es werden keine Daten an einen Remote-Dienst geschrieben.

Seiten

Projekte

Listet alle Claude Code-, OpenAI Codex-, GitHub Copilot CLI- (Beta), Cursor Agent- (Beta), OpenCode- (Beta), Pi- (Beta) und Gemini CLI- (Beta) Projekte auf, die auf deinem Rechner gefunden wurden. Claude-Projekte werden aus ~/.claude/projects/ (oder dem über CLAUDE_PROJECTS_PATH festgelegten Pfad) erkannt; Codex-Projekte werden durch das Durchsuchen aller Transkripte unter ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl ermittelt und nach dem im ersten Eintrag jeder Sitzung gespeicherten cwd gruppiert; Copilot CLI-Projekte werden durch das Durchsuchen jeder Datei ~/.copilot/session-state/<sessionId>/workspace.yaml (konfigurierbar über COPILOT_HOME) und Gruppierung nach dem Feld cwd erkannt; Cursor Agent-Projekte werden durch das Durchsuchen sitzungsspezifischer Metadaten unter ~/.cursor/agent-sessions/<sessionId>/ (konfigurierbar über CURSOR_HOME, mit conversations/ und sessions/ als Fallbacks) nach einem cwd-Skalar in meta.json / session.json / workspace.yaml erkannt; OpenCode-Projekte werden durch Abfrage der SQLite-Datenbank unter ~/.local/share/opencode/opencode.db via opencode db --format json ermittelt (dabei werden die Tabellen session und project gelesen und nach project_id gruppiert); Pi-Projekte werden durch das Durchsuchen sitzungsspezifischer JSONL-Transkripte unter ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (konfigurierbar über PI_SESSIONS_DIR) und Auslesen des cwd aus dem ersten Eintrag jeder Sitzung erkannt; Gemini CLI-Projekte werden durch das Durchsuchen von ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl (konfigurierbar über GEMINI_SESSIONS_DIR) erkannt, wobei das kanonische cwd aus dem benachbarten .project_root-Textmarker wiederhergestellt wird. Ein Projekt, das von mehreren CLIs verwendet wurde, wird als einzelne Zeile mit allen passenden Badges dargestellt. Verwende das CLI-Dropdown über der Tabelle, um nach einer bestimmten Agent-CLI zu filtern; die URL speichert deine Auswahl als ?cli=claude|codex|copilot|cursor|opencode|pi|gemini. Jedes Projekt zeigt:
  • Projektname (abgeleitet vom Ordnerpfad)
  • Ein CLI-Badge — Claude Code (orange), OpenAI Codex (lila), GitHub Copilot (blau), Cursor Agent (smaragdgrün), OpenCode (bernstein), Pi (pink) und/oder Gemini CLI (himmelblau)
  • Datum der letzten Sitzungsaktivität
Klicke auf ein Projekt, um seine Sitzungen anzuzeigen.

Sitzungen

Listet alle Sitzungen innerhalb eines Projekts auf. Jede Sitzung zeigt:
  • Sitzungs-ID
  • Start- und Endzeitstempel
  • Anzahl der Tool-Aufrufe
  • Anzahl der Hook-Aktivitäten (ausgelöste Richtlinien)
Verwende den Datumsbereichsfilter und die Sitzungs-ID-Suche, um die Liste einzugrenzen. Sitzungen sind paginiert. Klicke auf eine Sitzung, um den Sitzungs-Viewer zu öffnen.

Sitzungs-Viewer

Der Sitzungs-Viewer beantwortet die zentrale Frage bei autonomen Agenten: Was hat der Agent getan, und ist er auf Kurs geblieben? Ein CLI-Badge neben dem Header gibt an, ob es sich um ein Claude Code-, OpenAI Codex-, GitHub Copilot CLI-, Cursor Agent-, OpenCode-, Pi- oder Gemini CLI-Transkript handelt. Er zeigt eine Zeitleiste aller Ereignisse in einer Sitzung:
  • Nachrichten – Claudes Textantworten und Benutzeraufforderungen
  • Tool-Aufrufe – Jeder von Claude aufgerufene Tool, mit Eingabe und Ausgabe
  • Richtlinienaktivität – Für jeden Tool-Aufruf: welche Richtlinien ausgelöst wurden und welche Entscheidung sie getroffen haben
Die Statistikleiste oben zeigt Sitzungsdauer, Gesamtzahl der Tool-Aufrufe und eine Zusammenfassung der Hook-Entscheidungen (allow / deny / instruct-Anzahl). Klicke auf die Schaltfläche Logs herunterladen, um die Sitzung zu exportieren. Bei Claude Code-, Codex-, Copilot-, Cursor-, Pi- und Gemini-Sitzungen erhältst du das originale JSONL-Transkript vom Datenträger Byte für Byte; bei OpenCode (dessen Sitzungen in SQLite und nicht auf dem Datenträger gespeichert sind) erhältst du ein JSON-Dokument, das die zugrunde liegenden Tabellen session / messages / parts widerspiegelt.

Richtlinien

Eine zweiseitige Seite zur Verwaltung von Richtlinien und zur Überprüfung von Aktivitäten.
  • Wähle per Mehrfachauswahl aus, welche Agent-CLIs failproofai schützen soll – in einem einzigen Panel. Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi und Gemini CLI haben jeweils eine Zeile mit Installationsstatus (Active / Detected / Inactive), dem Einstellungspfad für den Benutzerbereich und einem markenfarbigen Akzent. Aktiviere oder deaktiviere die gewünschten CLIs und klicke auf Apply changes, um die Änderungen in einem Schritt zu installieren/deinstallieren. CLIs, deren Binary im PATH erkannt wird, sind vorab ausgewählt.
  • Einzelne Richtlinien mit einem Klick aktivieren oder deaktivieren (schreibt in ~/.failproofai/policies-config.json – gemeinsam genutzt von allen installierten CLIs)
  • Eine Richtlinie erweitern, um ihre Parameter zu konfigurieren (für Richtlinien, die policyParams unterstützen)
  • Einen benutzerdefinierten Richtliniendateipfad festlegen

Automatische Aktualisierung

Das Dashboard verfügt über einen Schalter für die automatische Aktualisierung in der oberen Navigation. Wenn aktiviert, wird die aktuelle Seite regelmäßig aktualisiert, um neue Sitzungen und Richtlinienaktivitäten anzuzeigen, sobald sie auftreten. Unverzichtbar für die Überwachung langläufiger autonomer Agent-Sitzungen.

Seiten deaktivieren

Wenn du nur bestimmte Teile des Dashboards benötigst, setze FAILPROOFAI_DISABLE_PAGES auf eine kommagetrennte Liste von Seitennamen:
FAILPROOFAI_DISABLE_PAGES=policies failproofai
Gültige Werte: policies, projects.

Projektpfad konfigurieren

Standardmäßig liest das Dashboard aus dem Standard-Claude Code-Projektverzeichnis. Überschreibe es für benutzerdefinierte Setups:
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai

Zugriff von einem Nicht-localhost-Host

Wenn du das Dashboard im Entwicklungsmodus (npm run dev) ausführst und von einem anderen Hostnamen als localhost darauf zugreifst – zum Beispiel einer benutzerdefinierten Domain, einer Remote-IP oder einer getunnelten URL – kann eine Warnung wie diese erscheinen:
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
Dies ist Next.js, das den ursprungsübergreifenden Zugriff auf seinen HMR-Websocket (Hot Module Reload) blockiert – ein rein entwicklungsspezifisches Feature. Um deinen Host zuzulassen, verwende das Flag --allowed-origins:
npm run dev -- --allowed-origins dashboard.example.com
Für mehrere Hosts oder IPs übergib eine kommagetrennte Liste:
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
Du kannst stattdessen auch die Umgebungsvariable FAILPROOFAI_ALLOWED_DEV_ORIGINS setzen:
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
Dies gilt nur für den Entwicklungsmodus. Beim Ausführen von failproofai (Produktionsmodus) gibt es keinen HMR-Websocket und kein ursprungsübergreifendes Entwicklungsressourcenproblem.