Iniciar el dashboard
http://localhost:8020.
El dashboard lee los datos de configuración del proyecto local, la sesión y failproofai directamente del sistema de archivos. Las funciones autenticadas opcionales, como recordatorios de auditoría e invitaciones, envían la información necesaria para esas solicitudes (incluidas las direcciones de correo electrónico) a APIs remotas.
Páginas
Proyectos
Lista todos los proyectos de Claude Code, OpenAI Codex, GitHub Copilot CLI (beta), Cursor Agent (beta), OpenCode (beta), Pi (beta), Hermes, OpenClaw, Factory Droid, Devin, Antigravity y Goose 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 cada transcripción en ~/.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 en ~/.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 (leemos las tablas session y project y agrupamos por project_id); los proyectos de Pi se descubren escaneando transcripciones JSONL por sesión en ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (configurable mediante PI_SESSIONS_DIR) y extrayendo el cwd del primer registro de cada sesión; las sesiones del gateway de Hermes se leen directamente de su almacén SQLite en ~/.hermes/state.db (configurable mediante HERMES_DB_PATH) y se agrupan en proyectos hermes-<source> por source (Slack/Telegram/cli/cron — las sesiones del gateway no tienen cwd); las sesiones del gateway de OpenClaw se leen desde ~/.openclaw/agents/<agentId>/sessions/*.jsonl y se agrupan en proyectos openclaw-<agentId> (también sin cwd); los proyectos de Factory Droid se descubren desde las transcripciones JSONL en ~/.factory/sessions/<encoded-cwd>/*.jsonl y se agrupan por cwd; los proyectos de Devin desde su base de datos SQLite en ~/.local/share/devin/cli/sessions.db (agrupados por el working_directory de cada sesión); los proyectos de Antigravity desde las transcripciones JSONL en ~/.gemini/antigravity-cli/brain/<conversationId>/…/transcript_full.jsonl y agrupados por cwd; y los proyectos de Goose desde su base de datos SQLite en ~/.local/share/goose/sessions/sessions.db (agrupados por el working_dir de cada sesión). Un proyecto que ha sido utilizado por múltiples CLIs se muestra como una sola fila con todas las insignias correspondientes. Usa el menú desplegable CLI sobre la tabla para filtrar por un agente CLI específico; la URL preserva tu selección como ?cli=claude|codex|copilot|cursor|opencode|pi|hermes|openclaw|factory|devin|antigravity|goose.
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/oHermes(índigo) - Fecha de la actividad de sesión más reciente
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)
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, Hermes, OpenClaw, Factory Droid, Devin, Antigravity o Goose. Muestra una línea de tiempo de todo lo que ocurrió en una sesión:- Mensajes - Las respuestas de texto de Claude y los prompts 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
session / messages / parts.
Auditoría
Un informe con personalidad propia sobre cómo se ha comportado realmente tu agente a lo largo de sesiones pasadas. Ejecuta el mismo escaneo que el CLIfailproofai audit pero lo renderiza como un póster de pantalla completa compartible + cuatro secciones debajo del pliegue:
- Póster — ocupa el primer viewport. Región de captura PNG autónoma con el logotipo de failproof_ai + etiqueta de auditoría · índice de arquetipo (
№ NN de 08) + fecha de auditoría · puntuación numérica (0–100) + píldora de rango percentil (top 15%) · el nombre del arquetipo (uno dethe optimist,the cowboy,the explorer,the goldfish,the paranoid architect,the precision builder,the hammer,the ghost) + tira de 3 palabras clave · línea de rareza// solo el N% de los agentes son este arquetipo· tesela de símbolo de 8×8 píxeles · pie de páginaaudit yours → failproof.ai. Tres botones de compartir se ubican justo fuera del área de captura:post your archetype(X intent),share on linkedin,download poster. La captura se realiza conhtml-to-imagepara que el PNG coincida píxel a píxel con el renderizado en pantalla (bordes discontinuos, máscara SVG del logotipo, degradados, métricas de fuente — todo preservado). - Fortalezas — lista de filas con ✓ tranquilas sobre comportamientos que tu agente ya hace bien, derivadas de los datos de auditoría en vivo (tasa limpia de llamadas a herramientas, sin pushes directos a main, cero filtraciones de credenciales, cero tormentas de reintentos) — cada una aparece solo cuando la política relevante tiene un historial limpio durante la ventana de auditoría.
- Peculiaridades — tabla de lo que se escapó, ordenada por severidad:
cuándo · qué se escapó + la política que lo habría detectado · píldora de severidad · visto, donde la recurrencia se lee comonew(una vez),N× seen(2–9 veces) orecurring(10+). - Cómo mejorar — lista de filas tranquilas, una por política prescrita: nombre de la política en blanco, descripción de una línea, comando de instalación + botón de copiar a la derecha. El encabezado de la sección dice
enable all N → projected <score> · <tier>(la puntuación que alcanzarías con todas las correcciones aplicadas), y su botón[install all]copia el comando combinadofailproofai policy add a b c …para cada política prescrita. - Vuelve mejor — dos tarjetas una al lado de la otra. Izquierda: establecer un recordatorio (selector de cadencia
3d/7d/14d/30d; persiste a través de/api/auth/reminderuna vez autenticado). Derecha: desbloquear ventajas failproof —invite a friendabre un modal que acepta una lista separada por comas/espacios/saltos de línea de correos de amigos (máx. 10 por envío), hace POST a/api/audit/invite, que reenvía al servidor APIPOST /v0/invite. El servidor API envía un correo por destinatario desdeinvite@failproof.aicon el remitente en Cc yReply-Toconfigurado, para que el destinatario vea quién lo invitó y el remitente reciba una copia en su bandeja de entrada. Los usuarios anónimos son dirigidos primero alAuthDialogpara que el correo del remitente sea conocido antes de enviar las invitaciones. El cumplimiento de derechos/ventajas es una tarea de seguimiento.
failproofai audit — consulta Audit CLI para el motor de escaneo subyacente, los flags admitidos y los invariantes de caché por transcripción. El dashboard almacena en caché el último resultado en ~/.failproofai/audit-dashboard.json (modo 0600, ranura única, las nuevas ejecuciones sobreescriben) para que las revisitas sean instantáneas; tanto la caché por transcripción como la caché del resultado completo se rechazan al leer una vez que tienen más de 7 días para que el dashboard nunca sirva silenciosamente un resultado de una semana atrás — pasado el TTL, /audit cae a su estado vacío y solicita una nueva ejecución. Hacer clic en [ re-audit now ] cerca de la parte inferior del informe hace POST a /api/audit/run con noCache: true — la re-auditoría omite la caché por transcripción y re-escanea cada transcripción desde cero en lugar de devolver silenciosamente el resultado en caché — y el dashboard consulta /api/audit/status a 1Hz hasta que finaliza la ejecución; una franja de progreso rosa fija se ancla en la parte superior del viewport durante la ejecución con un temporizador de tiempo transcurrido, y el nuevo resultado se intercambia en su lugar al terminar exitosamente (sin recarga completa de página; una re-auditoría fallida deja el informe anterior intacto). En caso de fallo, la franja se vuelve roja con texto basado en el RerunError.kind (timeout / network / post_failed). El estado vacío (sin caché o caducado) y el estado sin sesiones (caché existe pero el escaneo no encontró transcripciones) se muestran por separado.
Políticas
Una página de dos pestañas para gestionar políticas y revisar la actividad.- Pestaña de políticas
- Pestaña de actividad
- Selección múltiple de qué CLIs de agentes protege failproofai desde un único panel — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi y Hermes tienen cada uno una fila con el estado de instalación (
Active/Detected/Inactive), la ruta de configuración de alcance de usuario y un acento de color de marca. Marca o desmarca los CLIs que deseas y haz clic enApply changespara instalar/desinstalar la diferencia en un solo paso. Los CLIs cuyo binario se detecta en el PATH están marcados previamente. - 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 de archivo de políticas personalizada
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 nuevas sesiones y actividad de políticas a medida que aparecen. Esencial para monitorear sesiones de agentes autónomos de larga duración.Deshabilitar páginas
Si solo necesitas algunas partes del dashboard, estableceFAILPROOFAI_DISABLE_PAGES con una lista separada por comas de nombres de páginas:
policies, projects, audit.
Configurar la ruta de proyectos
Por defecto, el dashboard lee desde el directorio estándar de proyectos de Claude Code. Sobreescríbelo para configuraciones personalizadas:Acceso desde un host que no es localhost
Al ejecutar el dashboard en modo desarrollo (npm run dev) y acceder a él desde un nombre de host distinto de localhost — por ejemplo, un dominio personalizado, una IP remota o una URL tunelizada — puede aparecer una advertencia como:
--allowed-origins:
FAILPROOFAI_ALLOWED_DEV_ORIGINS en su lugar:
Esto solo aplica al modo desarrollo. Al ejecutar
failproofai (modo producción), no hay websocket de HMR ni problemas de recursos de desarrollo de origen cruzado.
