Saltar al contenido principal
El dashboard de failproofai es una aplicación web local para supervisar las sesiones de tus agentes de IA y gestionar políticas. Descubre qué hicieron tus agentes mientras no estabas.

Iniciar el dashboard

failproofai
Se abre en http://localhost:8020. El dashboard lee directamente del sistema de archivos: las carpetas de proyectos de Claude Code y los archivos de configuración de failproofai. No se escribe nada en ningún servicio remoto.

Páginas

Proyectos

Lista todos los proyectos de Claude Code, OpenAI Codex, GitHub Copilot CLI (beta), Cursor Agent (beta), OpenCode (beta), Pi (beta) y Gemini CLI (beta) encontrados en tu máquina. Los proyectos de Claude se descubren desde ~/.claude/projects/ (o la ruta definida por CLAUDE_PROJECTS_PATH); los proyectos de Codex se descubren escaneando todas las transcripciones bajo ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl y agrupando por el cwd registrado en el primer registro de cada sesión; los proyectos de Copilot CLI se descubren escaneando cada ~/.copilot/session-state/<sessionId>/workspace.yaml (configurable mediante COPILOT_HOME) y agrupando por su campo cwd; los proyectos de Cursor Agent se descubren escaneando los metadatos por sesión bajo ~/.cursor/agent-sessions/<sessionId>/ (configurable mediante CURSOR_HOME, con conversations/ y sessions/ como alternativas) buscando un escalar cwd en meta.json / session.json / workspace.yaml; los proyectos de OpenCode se descubren consultando su base de datos SQLite en ~/.local/share/opencode/opencode.db mediante opencode db --format json (se leen las tablas session y project agrupando por project_id); los proyectos de Pi se descubren escaneando transcripciones JSONL por sesión bajo ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (configurable mediante PI_SESSIONS_DIR) y extrayendo el cwd del primer registro de cada sesión; los proyectos de Gemini CLI se descubren escaneando ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl (configurable mediante GEMINI_SESSIONS_DIR) y recuperando el cwd canónico desde el marcador de texto .project_root adyacente. Un proyecto que haya sido utilizado por varios CLIs se muestra como una sola fila con todas las insignias correspondientes. Usa el desplegable CLI sobre la tabla para filtrar por un agente CLI específico; la URL conserva tu selección como ?cli=claude|codex|copilot|cursor|opencode|pi|gemini. Cada proyecto muestra:
  • Nombre del proyecto (derivado de la ruta de la carpeta)
  • Una insignia de CLI — Claude Code (naranja), OpenAI Codex (morado), GitHub Copilot (azul), Cursor Agent (esmeralda), OpenCode (ámbar), Pi (rosa) y/o Gemini CLI (celeste)
  • Fecha de la actividad de sesión más reciente
Haz clic en un proyecto para ver sus sesiones.

Sesiones

Lista todas las sesiones dentro de un proyecto. Cada sesión muestra:
  • ID de sesión
  • Marcas de tiempo de inicio y fin
  • Número de llamadas a herramientas
  • Recuento de actividad de hooks (políticas que se activaron)
Usa el filtro de rango de fechas y la búsqueda por ID de sesión para acotar la lista. Las sesiones están paginadas. Haz clic en una sesión para abrir el visor de sesión.

Visor de sesión

El visor de sesión responde la pregunta clave para los agentes autónomos: ¿qué hizo el agente y se mantuvo en curso? Una insignia de CLI junto al encabezado indica si la sesión es una transcripción de Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi o Gemini CLI. Muestra una línea de tiempo de todo lo que ocurrió en una sesión:
  • Mensajes - Las respuestas de texto de Claude y los mensajes del usuario
  • Llamadas a herramientas - Cada herramienta que Claude invocó, con su entrada y salida
  • Actividad de políticas - Para cada llamada a herramienta, qué políticas se activaron y qué decisión devolvieron
La barra de estadísticas en la parte superior muestra la duración de la sesión, el total de llamadas a herramientas y un resumen de las decisiones de hooks (recuentos de allow / deny / instruct). Haz clic en el botón Download Logs para exportar la sesión. Para sesiones de Claude Code, Codex, Copilot, Cursor, Pi y Gemini obtienes la transcripción JSONL original en disco byte a byte; para OpenCode (cuyas sesiones residen en SQLite y no en disco) obtienes un documento JSON que refleja las tablas subyacentes session / messages / parts.

Políticas

Una página con dos pestañas para gestionar políticas y revisar la actividad.
  • Selecciona múltiples CLIs de agentes que failproofai protege desde un único panel — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi y Gemini CLI tienen cada uno una fila con el estado de instalación (Active / Detected / Inactive), la ruta de configuración de ámbito de usuario y un acento de color de marca. Marca o desmarca los CLIs que desees y haz clic en Apply changes para instalar/desinstalar los cambios en un solo paso. Los CLIs cuyo binario se detecta en PATH vienen marcados por defecto.
  • Activa o desactiva políticas individuales con un solo clic (escribe en ~/.failproofai/policies-config.json — compartido entre todos los CLIs instalados)
  • Expande una política para configurar sus parámetros (para políticas que admiten policyParams)
  • Establece una ruta personalizada para el archivo de políticas

Actualización automática

El dashboard tiene un interruptor de actualización automática en la navegación superior. Cuando está habilitado, la página actual se actualiza periódicamente para mostrar las nuevas sesiones y la actividad de políticas a medida que aparecen. Es esencial para supervisar sesiones de agentes autónomos de larga duración.

Deshabilitar páginas

Si solo necesitas algunas partes del dashboard, establece FAILPROOFAI_DISABLE_PAGES con una lista separada por comas de nombres de páginas:
FAILPROOFAI_DISABLE_PAGES=policies failproofai
Valores válidos: policies, projects.

Configurar la ruta de proyectos

Por defecto, el dashboard lee desde el directorio estándar de proyectos de Claude Code. Puedes sobreescribirlo para configuraciones personalizadas:
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai

Acceder desde un host que no sea localhost

Al ejecutar el dashboard en modo dev (npm run dev) y acceder a él desde un hostname distinto a localhost — por ejemplo, un dominio personalizado, una IP remota o una URL tuneada — puede aparecer una advertencia como:
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
Esto es Next.js bloqueando el acceso cross-origin a su websocket HMR (recarga en caliente de módulos), que es una función exclusiva del modo dev. Para permitir tu host, usa la opción --allowed-origins:
npm run dev -- --allowed-origins dashboard.example.com
Para múltiples hosts o IPs, pasa una lista separada por comas:
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
También puedes establecer la variable de entorno FAILPROOFAI_ALLOWED_DEV_ORIGINS en su lugar:
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
Esto solo aplica al modo dev. Al ejecutar failproofai (modo producción), no hay websocket HMR ni problemas de recursos dev cross-origin.