Iniciar el panel de control
http://localhost:8020.
El panel de control 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 un 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 en~/.claude/projects/ (o la ruta definida por CLAUDE_PROJECTS_PATH); los proyectos de Codex se descubren escaneando cada transcripción bajo ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl y agrupándolos 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 agrupándolos 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 rutas 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 las 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; 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 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 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/oGemini CLI(celeste) - Fecha de la actividad más reciente de la sesión
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 sesiones
El visor de sesiones responde a la pregunta clave sobre los agentes autónomos: ¿qué hizo el agente y se mantuvo en el camino correcto? 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 — Respuestas de texto de Claude y 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 sobre cómo se ha comportado realmente tu agente a lo largo de sesiones pasadas. Ejecuta el mismo análisis que el CLIfailproofai audit pero lo presenta como un panel de seis secciones:
- Identidad — clasifica a tu agente en uno de 8 arquetipos (
the optimist,the cowboy,the explorer,the goldfish,the paranoid architect,the precision builder,the hammer,the ghost) según qué detectores y políticas se activaron y con qué intensidad. Muestra un sigilo de 8×8 píxeles, el eslogan del arquetipo, el encuadre de contexto típico y riesgo principal, y la frase de cierre. - Presume de tu agente — captura la tarjeta de identidad como un PNG de 1200×630 apto para publicar en X / LinkedIn (haz clic en
make poster). - Fortalezas — comportamientos marcados en verde que tu agente ya hace bien, derivados de los datos de auditoría en tiempo real (tasa de llamadas a herramientas limpias, duración media de sesión, cero filtraciones de credenciales, cero tormentas de reintentos, etc.).
- Puntuación + tabla de clasificación — puntuación de 0 a 100 con calificación en letra (S/A/B/C/D/F), un histograma de distribución que muestra tu posición en la cohorte, texto explicativo (“una B comienza en 71. estás a 13 puntos”) y una tabla de clasificación con tu fila resaltada.
- Hallazgos — tarjetas por hallazgo ordenadas por impacto. Cada tarjeta muestra qué ocurrió, qué coste tiene, una muestra de evidencia con comandos reales capturados, y la política de failproofai que detectaría el mismo patrón (
$ failproofai policy add <slug>, clic para copiar). - Políticas prescritas + ciclo de retorno — una cuadrícula de cada política integrada no habilitada que cerraría una brecha, con un indicador de puntuación proyectada, más una llamada a la acción para reauditar en 7 días.
failproofai audit — consulta CLI de Auditoría para conocer el motor de análisis subyacente, los indicadores admitidos y los invariantes de caché por transcripción. El panel almacena en caché el último resultado en ~/.failproofai/audit-dashboard.json (modo 0600, ranura única, las nuevas ejecuciones sobrescriben) para que las revisitas sean inmediatas; tanto las cachés por transcripción como las de resultado completo se rechazan al leer una vez que tienen más de 7 días de antigüedad, por lo que el panel nunca sirve silenciosamente un resultado de hace una semana — 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 envía un POST a /api/audit/run con noCache: true — la reauditoría omite la caché por transcripción y vuelve a analizar cada transcripción desde cero en lugar de devolver silenciosamente el resultado almacenado — y el panel sondea /api/audit/status a 1 Hz hasta que la ejecución finaliza; una banda de progreso rosa fija se ancla en la parte superior del viewport durante la ejecución con un temporizador transcurrido, y el resultado actualizado se muestra en el mismo lugar al terminar correctamente (sin recarga de página completa; una reauditoría fallida deja intacto el informe anterior). Si falla, la banda se vuelve roja con texto según el RerunError.kind (timeout / network / post_failed). El estado vacío (sin caché o expirado) y el estado de cero sesiones (la caché existe pero el análisis no encontró transcripciones) se muestran por separado.
Políticas
Una página con 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 Gemini CLI tienen 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 enApply changespara instalar/desinstalar la diferencia en un solo paso. Los CLIs cuyo binario se detecta en el PATH están premarcados. - 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 admitan
policyParams) - Establece una ruta de archivo de políticas personalizadas
Actualización automática
El panel de control 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. Imprescindible para monitorear sesiones de agentes autónomos de larga duración.Deshabilitar páginas
Si solo necesitas algunas partes del panel de control, 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 panel de control lee desde el directorio estándar de proyectos de Claude Code. Puedes sobreescribirlo para configuraciones personalizadas:Acceder desde un host que no es localhost
Al ejecutar el panel de control en modo de desarrollo (npm run dev) y acceder a él desde un nombre de host distinto a localhost — por ejemplo, un dominio personalizado, una IP remota o una URL tunelizada — es posible que veas una advertencia como:
--allowed-origins:
FAILPROOFAI_ALLOWED_DEV_ORIGINS en su lugar:
Esto solo aplica al modo de desarrollo. Al ejecutar
failproofai (modo de producción), no hay websocket HMR ni problemas de recursos de desarrollo de origen cruzado.
