Passer au contenu principal
Le tableau de bord failproofai est une application web locale permettant de surveiller vos sessions d’agent IA et de gérer vos politiques. Consultez ce que vos agents ont fait pendant votre absence.

Démarrer le tableau de bord

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

Pages

Projets

Liste tous les projets Claude Code, OpenAI Codex, GitHub Copilot CLI (beta), Cursor Agent (beta), OpenCode (beta), Pi (beta) et Gemini CLI (beta) 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 regroupés selon 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 regroupés selon son 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/ sondés 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 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 répertoire de travail canonique depuis le marqueur textuel .project_root adjacent. Un projet utilisé par plusieurs CLI s’affiche sur 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 afficher ses sessions.

Sessions

Liste 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 de 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é dans les rails ? 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 se sont déclenchées et quelle décision elles ont rendu
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 (comptages 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 pour octet ; pour OpenCode (dont les sessions résident dans SQLite plutôt que sur disque), vous obtenez un document JSON reflétant les tables sous-jacentes session / messages / parts.

Politiques

Une page à deux onglets pour gérer les politiques et consulter l’activité.
  • Sélectionnez les CLI d’agent que failproofai protège depuis un seul panneau — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi et Gemini CLI disposent chacun d’une ligne indiquant le statut d’installation (Active / Detected / Inactive), le chemin des paramètres à portée utilisateur, et un accent coloré à leur image. Cochez ou décochez les CLI souhaités et cliquez sur Apply changes pour installer/désinstaller les différences en une seule étape. Les CLI 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 CLI installés)
  • Développez une politique pour configurer ses paramètres (pour les politiques qui prennent en charge policyParams)
  • Définissez un chemin personnalisé pour le fichier de politiques

Actualisation automatique

Le tableau de bord dispose d’un bouton d’actualisation automatique dans la navigation supérieure. Lorsqu’il est activé, la page courante s’actualise périodiquement pour afficher les nouvelles sessions et l’activité des politiques au fur et à mesure qu’elles apparaissent. Indispensable pour surveiller les sessions d’agent autonome de longue durée.

Désactiver des pages

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

Configurer le chemin des projets

Par défaut, le tableau de bord 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

Lorsque vous exécutez le tableau de bord en mode développement (npm run dev) et que vous y accédez depuis un nom d’hôte autre que localhost — par exemple, un domaine personnalisé, une IP distante ou une URL tunnelisée — vous pourriez voir un avertissement tel que :
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
Il s’agit de Next.js qui bloque l’accès inter-origines à son websocket HMR (rechargement à chaud des modules), une fonctionnalité réservée au mode développement. Pour autoriser votre hôte, utilisez le drapeau --allowed-origins :
npm run dev -- --allowed-origins dashboard.example.com
Pour plusieurs hôtes ou adresses IP, 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 ni websocket HMR ni problème de ressource de développement inter-origines.