Vai al contenuto principale
Il dashboard di failproofai è un’applicazione web locale per monitorare le sessioni dei tuoi agenti AI e gestire le policy. Guarda cosa hanno fatto i tuoi agenti mentre eri via.

Avvio del dashboard

failproofai
Si apre su http://localhost:8020. Il dashboard legge direttamente dal filesystem - le cartelle del tuo progetto Claude Code e i file di configurazione di failproofai. Nulla viene scritto su un servizio remoto.

Pagine

Progetti

Elenca tutti i progetti Claude Code, OpenAI Codex, GitHub Copilot CLI (beta), Cursor Agent (beta), OpenCode (beta), Pi (beta) e Gemini CLI (beta) trovati sulla tua macchina. I progetti Claude vengono scoperti da ~/.claude/projects/ (o dal percorso impostato da CLAUDE_PROJECTS_PATH); i progetti Codex vengono scoperti scansionando ogni trascrizione sotto ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl e raggruppando per il cwd registrato nel primo record di ogni sessione; i progetti Copilot CLI vengono scoperti scansionando ogni ~/.copilot/session-state/<sessionId>/workspace.yaml (configurabile tramite COPILOT_HOME) e raggruppando per il suo campo cwd; i progetti Cursor Agent vengono scoperti scansionando i metadati per sessione sotto ~/.cursor/agent-sessions/<sessionId>/ (configurabile tramite CURSOR_HOME, con conversations/ e sessions/ come fallback) per uno scalare cwd in meta.json / session.json / workspace.yaml; i progetti OpenCode vengono scoperti interrogando il suo DB SQLite in ~/.local/share/opencode/opencode.db tramite opencode db --format json (leggiamo le tabelle session e project e raggruppiamo per project_id); i progetti Pi vengono scoperti scansionando le trascrizioni JSONL per sessione sotto ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (configurabile tramite PI_SESSIONS_DIR) e ricavando il cwd dal primo record di ogni sessione; i progetti Gemini CLI vengono scoperti scansionando ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl (configurabile tramite GEMINI_SESSIONS_DIR) e recuperando il cwd canonico dal marcatore di testo .project_root affiancato. Un progetto utilizzato da più CLI appare come una singola riga con tutti i badge corrispondenti. Usa il dropdown CLI sopra la tabella per filtrare per uno specifico agente CLI; l’URL conserva la tua selezione come ?cli=claude|codex|copilot|cursor|opencode|pi|gemini. Ogni progetto mostra:
  • Nome del progetto (derivato dal percorso della cartella)
  • Un badge CLI — Claude Code (arancione), OpenAI Codex (viola), GitHub Copilot (blu), Cursor Agent (smeraldo), OpenCode (ambra), Pi (rosa) e/o Gemini CLI (azzurro)
  • Data dell’attività di sessione più recente
Fai clic su un progetto per vedere le sue sessioni.

Sessioni

Elenca tutte le sessioni all’interno di un progetto. Ogni sessione mostra:
  • ID della sessione
  • Timestamp di inizio e fine
  • Numero di chiamate agli strumenti
  • Conteggio dell’attività degli hook (policy che si sono attivate)
Utilizza il filtro dell’intervallo di date e la ricerca dell’ID della sessione per restringere l’elenco. Le sessioni sono impaginate. Fai clic su una sessione per aprire il visualizzatore di sessioni.

Visualizzatore di sessioni

Il visualizzatore di sessioni risponde alla domanda chiave per gli agenti autonomi: cosa ha fatto l’agente e è rimasto in pista? Un badge CLI accanto all’intestazione indica se la sessione è una trascrizione di Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi o Gemini CLI. Mostra una cronologia di tutto ciò che è accaduto in una sessione:
  • Messaggi - Le risposte testuali di Claude e i prompt dell’utente
  • Chiamate agli strumenti - Ogni strumento che Claude ha invocato, con il suo input e output
  • Attività delle policy - Per ogni chiamata dello strumento, quali policy si sono attivate e quale decisione hanno restituito
La barra delle statistiche in alto mostra la durata della sessione, il numero totale di chiamate agli strumenti e un riepilogo delle decisioni degli hook (conteggi allow / deny / instruct). Fai clic sul pulsante Download Logs per esportare la sessione. Per le sessioni Claude Code, Codex, Copilot, Cursor, Pi e Gemini ottieni la trascrizione JSONL originale su disco byte per byte; per OpenCode (le cui sessioni vivono in SQLite, non su disco) ottieni un documento JSON che rispecchia le tabelle session / messages / parts sottostanti.

Policy

Una pagina a due schede per gestire le policy e rivedere l’attività.
  • Seleziona più volte quali agenti CLI failproofai protegge da un unico pannello — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi e Gemini CLI hanno tutti una riga con lo stato di installazione (Active / Detected / Inactive), il percorso delle impostazioni nell’ambito dell’utente e un accento di marca a colori. Seleziona o deseleziona i CLI che desideri e fai clic su Apply changes per installare/disinstallare la differenza in un unico passaggio. I CLI il cui binario è rilevato su PATH sono pre-selezionati.
  • Attiva o disattiva le singole policy con un singolo clic (scrive su ~/.failproofai/policies-config.json — condiviso con ogni CLI installato)
  • Espandi una policy per configurare i suoi parametri (per le policy che supportano policyParams)
  • Imposta un percorso file di policy personalizzate

Aggiornamento automatico

Il dashboard ha un interruttore di aggiornamento automatico nella navigazione superiore. Quando abilitato, la pagina corrente si aggiorna periodicamente per mostrare nuove sessioni e attività delle policy man mano che appaiono. Essenziale per il monitoraggio delle sessioni di agenti autonomi a lunga durata.

Disabilitazione delle pagine

Se hai bisogno solo di alcune parti del dashboard, imposta FAILPROOFAI_DISABLE_PAGES su un elenco separato da virgole dei nomi delle pagine:
FAILPROOFAI_DISABLE_PAGES=policies failproofai
Valori validi: policies, projects.

Configurazione del percorso dei progetti

Per impostazione predefinita, il dashboard legge dalla directory dei progetti di Claude Code standard. Sostituiscilo per configurazioni personalizzate:
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai

Accesso da un host non-localhost

Quando esegui il dashboard in modalità dev (npm run dev) e vi accedi da un nome host diverso da localhost - ad esempio, un dominio personalizzato, un IP remoto o un URL in tunnel - potresti visualizzare un avviso come:
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
Questo è Next.js che blocca l’accesso cross-origin al suo websocket HMR (hot module reload), che è una funzionalità solo per lo sviluppo. Per consentire il tuo host, usa il flag --allowed-origins:
npm run dev -- --allowed-origins dashboard.example.com
Per più host o IP, passa un elenco separato da virgole:
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
Puoi anche impostare invece la variabile di ambiente FAILPROOFAI_ALLOWED_DEV_ORIGINS:
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
Questo si applica solo alla modalità dev. Quando esegui failproofai (modalità produzione), non c’è alcun websocket HMR e nessun problema di risorsa dev cross-origin.