Dashboard starten
http://localhost:8020.
Das Dashboard liest direkt aus dem Dateisystem – aus Ihren Claude Code-Projektordnern und den failproofai-Konfigurationsdateien. Es werden keine Daten an einen Remote-Dienst übertragen.
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 Ihrem Computer gefunden wurden. Claude-Projekte werden aus~/.claude/projects/ ermittelt (oder dem Pfad, der über CLAUDE_PROJECTS_PATH gesetzt wurde); Codex-Projekte werden durch Durchsuchen aller Transkripte unter ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl und Gruppierung nach dem cwd-Feld im ersten Datensatz jeder Sitzung erkannt; Copilot CLI-Projekte werden durch Durchsuchen von ~/.copilot/session-state/<sessionId>/workspace.yaml (konfigurierbar über COPILOT_HOME) und Gruppierung nach dem cwd-Feld gefunden; Cursor Agent-Projekte werden durch Durchsuchen der sitzungsspezifischen 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 (es werden die Tabellen session und project gelesen und nach project_id gruppiert); Pi-Projekte werden durch Durchsuchen der sitzungsspezifischen JSONL-Transkripte unter ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (konfigurierbar über PI_SESSIONS_DIR) und Auslesen des cwd-Werts aus dem ersten Datensatz jeder Sitzung erkannt; Gemini CLI-Projekte werden durch Durchsuchen von ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl (konfigurierbar über GEMINI_SESSIONS_DIR) und Wiederherstellung des kanonischen cwd aus dem benachbarten .project_root-Textmarker gefunden. Ein Projekt, das von mehreren CLIs verwendet wurde, wird als einzelne Zeile mit allen zugehörigen Badges dargestellt. Verwenden Sie das CLI-Dropdown über der Tabelle, um nach einer bestimmten Agent-CLI zu filtern; die URL speichert Ihre 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/oderGemini CLI(himmelblau) - Datum der letzten Sitzungsaktivität
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)
Sitzungs-Viewer
Der Sitzungs-Viewer beantwortet die entscheidende Frage bei autonomen Agenten: Was hat der Agent getan, und hat er sich auf Kurs gehalten? Ein CLI-Badge neben der Überschrift zeigt 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 Zeitachse aller Ereignisse einer Sitzung:- Nachrichten – Claudes Textantworten und Benutzereingaben
- 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 zurückgegeben haben
session / messages / parts abbildet.
Audit
Ein persönlichkeitsbasierter Bericht darüber, wie sich Ihr Agent tatsächlich über vergangene Sitzungen hinweg verhalten hat. Führt denselben Scan wie dasfailproofai audit-CLI aus, stellt das Ergebnis jedoch als einzeln anzeigbares, teilbares Poster dar – ergänzt durch vier Abschnitte unterhalb des sichtbaren Bereichs:
- Poster — füllt den ersten Viewport. Eigenständiger PNG-Erfassungsbereich mit dem failproof_ai-Schriftzug + Audit-Label · Archetyp-Index (
№ NN von 08) + Audit-Datum · numerischer Score (0–100) + Perzentilrang-Pille (top 15%) · der Archetyp-Name (eines von:the optimist,the cowboy,the explorer,the goldfish,the paranoid architect,the precision builder,the hammer,the ghost) + 3-Keyword-Streifen ·// only N% of agents are this archetype-Seltenheitszeile · 8×8-Pixel-Siegel-Kachel ·audit yours → failproof.ai-Fußzeile. Drei Teilen-Schaltflächen befinden sich knapp außerhalb des Erfassungsbereichs:post your archetype(X-Intent),share on linkedin,download poster. Die Erfassung erfolgt überhtml-to-image, sodass das PNG pixelgenau der Bildschirmdarstellung entspricht (gestrichelte Rahmen, SVG-Logo-Maske, Verläufe, Schriftmetriken – alles erhalten). - Stärken — ruhige ✓-Zeilenliste der Verhaltensweisen, die Ihr Agent bereits richtig macht, abgeleitet aus den Live-Audit-Daten (saubere Tool-Aufruf-Rate, keine direkten Pushes an main, keine Credential-Leaks, keine Retry-Stürme) — jede Zeile erscheint nur, wenn die relevante Richtlinie über das gesamte Audit-Fenster hinweg ein sauberes Protokoll aufweist.
- Eigenheiten — Tabelle der durchgerutschten Probleme, nach Schweregrad gerankt:
Zeitpunkt · was durchrutschte + die Richtlinie, die es abgefangen hätte · Schweregrad-Pille · gesehen, wobei die Häufigkeit alsnew(einmal),N× seen(2–9 Mal) oderrecurring(10+) angegeben wird. - So verbessern Sie sich — ruhige Zeilenliste, eine pro empfohlener Richtlinie: Richtlinienname in Weiß, einzeilige Beschreibung, Installationsbefehl + Kopier-Schaltfläche auf der rechten Seite. Die Abschnittsüberschrift lautet
enable all N → projected <score> · <tier>(der Score, den Sie mit allen Korrekturen erreichen würden), und die Schaltfläche[install all]kopiert den kombiniertenfailproofai policy add a b c …-Befehl für alle empfohlenen Richtlinien. - Kommen Sie besser zurück — zwei nebeneinander angeordnete Karten. Links: Erinnerung setzen (
3d/7d/14d/30dIntervall-Auswahl; wird über/api/auth/remindernach Authentifizierung gespeichert). Rechts: failproof-Vorteile freischalten —invite a friendöffnet ein Modal, das eine komma-/leerzeichen-/zeilentrennte Liste von Freundes-E-Mail-Adressen entgegennimmt (max. 10 pro Versand), diese per POST an/api/audit/invitesendet, was an den api-server’sPOST /v0/inviteweitergeleitet wird. Der api-server sendet eine E-Mail pro Empfänger voninvite@failproof.aimit dem Absender in Cc und gesetztemReply-To, sodass der Empfänger sieht, wer ihn eingeladen hat, und der Absender eine Kopie im Posteingang erhält. Anonyme Benutzer werden zuerst durch denAuthDialoggeleitet, damit die E-Mail-Adresse des Absenders bekannt ist, bevor Einladungen verschickt werden. Berechtigungs-/Vorteilsabwicklung folgt in einem späteren Schritt.
failproofai audit-Laufzeit — siehe Audit CLI für die zugrunde liegende Scan-Engine, unterstützte Flags und sitzungsspezifische Cache-Invarianten. Das Dashboard speichert das neueste Ergebnis unter ~/.failproofai/audit-dashboard.json (Modus 0600, einzelner Slot, neue Läufe überschreiben) im Cache, sodass erneute Aufrufe sofort erfolgen; sowohl der sitzungsspezifische als auch der gesamte Ergebnis-Cache werden beim Lesen verworfen, sobald sie älter als 7 Tage sind, sodass das Dashboard nie stillschweigend ein wochenaltes Ergebnis liefert — nach Ablauf der TTL fällt /audit in seinen leeren Zustand zurück und fordert einen neuen Scan an. Ein Klick auf [ re-audit now ] am unteren Ende des Berichts sendet POST an /api/audit/run mit noCache: true — ein erneuter Audit umgeht den sitzungsspezifischen Cache und scannt jedes Transkript von Grund auf neu, anstatt stillschweigend das gecachte Ergebnis zurückzugeben — und das Dashboard fragt /api/audit/status mit 1 Hz ab, bis der Lauf abgeschlossen ist; ein pinker Fortschrittsstreifen wird während des Laufs mit einem Elapsed-Timer oben im Viewport angeheftet, und das neue Ergebnis wird nach Erfolg direkt eingetauscht (kein vollständiger Seitenneuladevorgang; ein fehlgeschlagener erneuter Audit lässt den vorherigen Bericht unverändert). Bei einem Fehler wird der Streifen rot mit einem auf RerunError.kind abgestimmten Text (timeout / network / post_failed). Leerer Zustand (kein Cache oder abgelaufen) und Nullsitzungszustand (Cache vorhanden, aber der Scan hat keine Transkripte gefunden) werden separat angezeigt.
Richtlinien
Eine Seite mit zwei Tabs zur Verwaltung von Richtlinien und zur Überprüfung von Aktivitäten.- Tab Richtlinien
- Tab Aktivität
- Wählen Sie in einem einzigen Panel aus, welche Agent-CLIs failproofai schützen soll — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi und Gemini CLI haben jeweils eine Zeile mit Installationsstatus (
Active/Detected/Inactive), dem benutzerspezifischen Einstellungspfad und einem markenfarbenakzentuierten Akzent. Aktivieren oder deaktivieren Sie die gewünschten CLIs und klicken Sie aufApply changes, um die Änderungen in einem Schritt zu installieren/deinstallieren. CLIs, deren Binary im PATH erkannt wird, sind vorab ausgewählt. - Aktivieren oder deaktivieren Sie einzelne Richtlinien mit einem Klick (schreibt in
~/.failproofai/policies-config.json— gilt für alle installierten CLIs) - Erweitern Sie eine Richtlinie, um ihre Parameter zu konfigurieren (für Richtlinien, die
policyParamsunterstützen) - Legen Sie einen benutzerdefinierten Pfad für die Richtliniendatei fest
Automatische Aktualisierung
Das Dashboard verfügt über eine Umschalttaste 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 erscheinen. Unverzichtbar für die Überwachung langläufiger autonomer Agent-Sitzungen.Seiten deaktivieren
Wenn Sie nur bestimmte Teile des Dashboards benötigen, setzen SieFAILPROOFAI_DISABLE_PAGES auf eine kommagetrennte Liste von Seitennamen:
policies, projects, audit.
Projektpfad konfigurieren
Standardmäßig liest das Dashboard aus dem Standard-Claude Code-Projektverzeichnis. Überschreiben Sie es für benutzerdefinierte Setups:Zugriff von einem Nicht-localhost-Host
Wenn Sie das Dashboard im Dev-Modus (npm run dev) ausführen und von einem anderen Hostnamen als localhost darauf zugreifen — zum Beispiel einer benutzerdefinierten Domain, einer Remote-IP oder einer getunnelten URL — wird möglicherweise eine Warnung angezeigt wie:
--allowed-origins:
FAILPROOFAI_ALLOWED_DEV_ORIGINS setzen:
Dies gilt nur für den Dev-Modus. Beim Ausführen von
failproofai (Produktionsmodus) gibt es keinen HMR-WebSocket und keine ursprungsübergreifenden Dev-Ressourcenprobleme.
