Passer au contenu principal
Le dashboard failproofai est une application web locale permettant de surveiller vos sessions d’agents IA et de gérer les politiques. Découvrez ce que vos agents ont fait en votre absence.

Démarrer le dashboard

failproofai
S’ouvre sur http://localhost:8020. Le dashboard lit directement depuis le système de fichiers — vos dossiers de projets Claude Code et les fichiers de configuration failproofai. Rien n’est écrit vers un service distant.

Pages

Projets

Répertorie tous les projets Claude Code, OpenAI Codex, GitHub Copilot CLI (bêta), Cursor Agent (bêta), OpenCode (bêta), Pi (bêta) et Gemini CLI (bêta) trouvés sur votre machine. Les projets Claude sont découverts depuis ~/.claude/projects/ (ou le chemin défini par CLAUDE_PROJECTS_PATH) ; les projets Codex sont découverts en analysant chaque transcript sous ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl et en les regroupant par le cwd enregistré dans le premier enregistrement de chaque session ; les projets Copilot CLI sont découverts en analysant chaque ~/.copilot/session-state/<sessionId>/workspace.yaml (configurable via COPILOT_HOME) et en les regroupant par leur champ cwd ; les projets Cursor Agent sont découverts en analysant les métadonnées par session sous ~/.cursor/agent-sessions/<sessionId>/ (configurable via CURSOR_HOME, avec conversations/ et sessions/ comme alternatives) pour un scalaire cwd dans meta.json / session.json / workspace.yaml ; les projets OpenCode sont découverts en interrogeant sa base de données SQLite à ~/.local/share/opencode/opencode.db via opencode db --format json (nous lisons les tables session et project et les regroupons par project_id) ; les projets Pi sont découverts en analysant les transcripts JSONL par session sous ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (configurable via PI_SESSIONS_DIR) et en extrayant le cwd du premier enregistrement de chaque session ; les projets Gemini CLI sont découverts en analysant ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl (configurable via GEMINI_SESSIONS_DIR) et en récupérant le cwd canonique depuis le marqueur texte .project_root associé. Un projet utilisé par plusieurs CLIs s’affiche en une seule ligne avec tous les badges correspondants. Utilisez le menu déroulant CLI au-dessus du tableau pour filtrer par agent CLI spécifique ; l’URL conserve votre sélection sous la forme ?cli=claude|codex|copilot|cursor|opencode|pi|gemini. Chaque projet affiche :
  • Le nom du projet (dérivé du chemin du dossier)
  • Un badge CLI — Claude Code (orange), OpenAI Codex (violet), GitHub Copilot (bleu), Cursor Agent (émeraude), OpenCode (ambre), Pi (rose) et/ou Gemini CLI (ciel)
  • La date de la dernière activité de session
Cliquez sur un projet pour voir ses sessions.

Sessions

Répertorie toutes les sessions au sein d’un projet. Chaque session affiche :
  • L’identifiant de session
  • Les horodatages de début et de fin
  • Le nombre d’appels d’outils
  • Le nombre d’activités de hook (politiques déclenchées)
Utilisez le filtre par plage de dates et la recherche par identifiant de session pour affiner la liste. Les sessions sont paginées. Cliquez sur une session pour ouvrir le visualiseur de session.

Visualiseur de session

Le visualiseur de session répond à la question essentielle pour les agents autonomes : qu’a fait l’agent, et est-il resté sur la bonne voie ? Un badge CLI à côté de l’en-tête indique si la session est un transcript Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi ou Gemini CLI. Il affiche une chronologie de tout ce qui s’est passé lors d’une session :
  • Messages — Les réponses textuelles de Claude et les invites utilisateur
  • Appels d’outils — Chaque outil invoqué par Claude, avec ses entrées et sorties
  • Activité des politiques — Pour chaque appel d’outil, quelles politiques ont été déclenchées et quelle décision elles ont retournée
La barre de statistiques en haut affiche la durée de la session, le nombre total d’appels d’outils et un résumé des décisions de hook (nombre allow / deny / instruct). Cliquez sur le bouton Download Logs pour exporter la session. Pour les sessions Claude Code, Codex, Copilot, Cursor, Pi et Gemini, vous obtenez le transcript JSONL original sur disque octet par octet ; pour OpenCode (dont les sessions résident dans SQLite, pas sur disque), vous obtenez un document JSON reflétant les tables sous-jacentes session / messages / parts.

Audit

Un rapport analytique sur le comportement réel de votre agent au fil des sessions passées. Exécute la même analyse que la commande failproofai audit, mais la restitue sous forme d’un dashboard en six sections :
  1. Identity — classe votre agent dans l’un des 8 archétypes (the optimist, the cowboy, the explorer, the goldfish, the paranoid architect, the precision builder, the hammer, the ghost) selon les détecteurs et politiques déclenchés et leur intensité. Affiche un sigle pixel 8×8, le slogan de l’archétype, un cadrage “common in” / “primary risk” et la formule de conclusion.
  2. Show off your agent — capture la carte d’identité en PNG 1200×630 adapté à une publication sur X / LinkedIn (cliquez sur make poster).
  3. Strengths — comportements validés (coche verte) que votre agent adopte déjà correctement, dérivés des données d’audit en direct (taux d’appels d’outils propres, durée moyenne de session, zéro fuite d’identifiants, zéro tempête de tentatives, etc.).
  4. Score + leaderboard — score de 0 à 100 avec note alphabétique (S/A/B/C/D/F), un histogramme de distribution montrant votre position dans la cohorte, un commentaire en prose (“a B starts at 71. you’re 13 points away.”), et un tableau de classement avec votre ligne mise en évidence.
  5. Findings — fiches par découverte classées par impact. Chaque fiche présente ce qui s’est passé, ce que cela coûte, un échantillon de preuves avec de vraies commandes capturées, et la politique failproofai qui permettrait de détecter le même schéma ($ failproof policy add <slug>, clic pour copier).
  6. Prescribed policies + return loop — une grille de chaque politique intégrée non activée qui comblerait une lacune, avec une projection de score, ainsi qu’un appel à l’action “re-audit in 7 days”.
Alimenté par le moteur d’exécution failproofai audit — consultez Audit CLI pour le moteur d’analyse sous-jacent, les options supportées et les invariants de cache par transcript. Le dashboard met en cache le dernier résultat dans ~/.failproofai/audit-dashboard.json (mode 0600, emplacement unique, les nouvelles exécutions écrasent l’ancien) afin que les revisites soient instantanées ; cliquer sur [ Re-run ↻ ] envoie un POST sur /api/audit/run et le dashboard interroge /api/audit/status à 1 Hz jusqu’à la fin de l’exécution. L’état vide (pas de cache) et l’état zéro session (cache présent mais l’analyse n’a trouvé aucun transcript) sont affichés séparément.

Politiques

Une page à deux onglets pour gérer les politiques et examiner l’activité.
  • Sélectionnez les CLIs d’agents que failproofai protège depuis un seul panneau — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi et Gemini CLI ont chacun une ligne avec le statut d’installation (Active / Detected / Inactive), le chemin des paramètres au niveau utilisateur et un accent coloré selon la marque. Cochez ou décochez les CLIs souhaités et cliquez sur Apply changes pour installer/désinstaller le différentiel en une seule étape. Les CLIs dont le binaire est détecté dans le PATH sont pré-cochés.
  • Activez ou désactivez des politiques individuelles d’un simple clic (écrit dans ~/.failproofai/policies-config.json — partagé entre tous les CLIs installés)
  • Développez une politique pour configurer ses paramètres (pour les politiques qui supportent policyParams)
  • Définissez un chemin personnalisé vers le fichier de politiques

Actualisation automatique

Le dashboard dispose d’un bouton d’actualisation automatique dans la navigation supérieure. Lorsqu’il est activé, la page actuelle s’actualise périodiquement pour afficher les nouvelles sessions et l’activité des politiques au fur et à mesure. Indispensable pour surveiller des sessions d’agents autonomes de longue durée.

Désactiver des pages

Si vous n’avez besoin que de certaines parties du dashboard, définissez FAILPROOFAI_DISABLE_PAGES avec une liste de noms de pages séparés par des virgules :
FAILPROOFAI_DISABLE_PAGES=policies failproofai
Valeurs valides : policies, projects, audit.

Configurer le chemin des projets

Par défaut, le dashboard lit depuis le répertoire de projets Claude Code standard. Remplacez-le pour des configurations personnalisées :
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai

Accès depuis un hôte non-localhost

Lors de l’exécution du dashboard en mode développement (npm run dev) et de l’accès depuis un nom d’hôte autre que localhost — par exemple, un domaine personnalisé, une IP distante ou une URL tunnelisée — vous pouvez voir un avertissement du type :
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
Il s’agit de Next.js bloquant l’accès cross-origin à son websocket HMR (rechargement à chaud des modules), qui est une fonctionnalité réservée au mode développement. Pour autoriser votre hôte, utilisez l’option --allowed-origins :
npm run dev -- --allowed-origins dashboard.example.com
Pour plusieurs hôtes ou IPs, passez une liste séparée par des virgules :
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
Vous pouvez également définir la variable d’environnement FAILPROOFAI_ALLOWED_DEV_ORIGINS à la place :
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
Cela s’applique uniquement au mode développement. Lors de l’exécution de failproofai (mode production), il n’y a pas de websocket HMR ni de problème de ressource de développement cross-origin.