Запуск панели управления
http://localhost:8020.
Панель управления читает данные прямо из файловой системы — из папок вашего проекта Claude Code и файлов конфигурации failproofai. Ничего не записывается в удалённый сервис.
Страницы
Проекты
Показывает все проекты Claude Code, OpenAI Codex, GitHub Copilot CLI (beta), Cursor Agent (beta), OpenCode (beta), Pi (beta) и Gemini CLI (beta), найденные на вашем компьютере. Проекты Claude обнаруживаются из~/.claude/projects/ (или из пути, установленного в CLAUDE_PROJECTS_PATH); проекты Codex обнаруживаются путём сканирования всех транскриптов в ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl и группировки по cwd, записанному в первом записи каждого сеанса; проекты Copilot CLI обнаруживаются путём сканирования каждого ~/.copilot/session-state/<sessionId>/workspace.yaml (настраивается через COPILOT_HOME) и группировки по его полю cwd; проекты Cursor Agent обнаруживаются путём сканирования метаданных для каждого сеанса в ~/.cursor/agent-sessions/<sessionId>/ (настраивается через CURSOR_HOME, с возможностью применения conversations/ и sessions/ как резервные варианты) для поиска скаляра cwd в meta.json / session.json / workspace.yaml; проекты OpenCode обнаруживаются путём запроса его БД SQLite в ~/.local/share/opencode/opencode.db через opencode db --format json (мы читаем таблицы session и project и группируем по project_id); проекты Pi обнаруживаются путём сканирования JSONL-транскриптов для каждого сеанса в ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (настраивается через PI_SESSIONS_DIR) и извлечения cwd из первой записи каждого сеанса; проекты Gemini CLI обнаруживаются путём сканирования ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl (настраивается через GEMINI_SESSIONS_DIR) и восстановления канонического пути cwd из соседнего текстового маркера .project_root. Проект, используемый несколькими CLI, отображается как одна строка со всеми соответствующими значками. Используйте выпадающий список CLI над таблицей для фильтрации по конкретному агенту CLI; URL сохраняет ваш выбор как ?cli=claude|codex|copilot|cursor|opencode|pi|gemini.
Каждый проект показывает:
- Имя проекта (получено из пути к папке)
- Значок CLI —
Claude Code(оранжевый),OpenAI Codex(фиолетовый),GitHub Copilot(синий),Cursor Agent(изумрудный),OpenCode(янтарный),Pi(розовый) и/илиGemini CLI(небесный) - Дату последней активности сеанса
Сеансы
Показывает все сеансы в проекте. Каждый сеанс показывает:- ID сеанса
- Временные метки начала и конца
- Количество вызовов инструментов
- Счётчик активности хуков (количество срабатываний политик)
Средство просмотра сеанса
Средство просмотра сеанса отвечает на ключевой вопрос для автономных агентов: что сделал агент и остался ли он сосредоточен на задаче? Значок CLI рядом с заголовком указывает, является ли сеанс транскриптом Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi или Gemini CLI. Он показывает временную шкалу всего, что произошло в сеансе:- Сообщения — текстовые ответы Claude и подсказки пользователя
- Вызовы инструментов — каждый инструмент, вызванный Claude, с его входными и выходными данными
- Активность политик — для каждого вызова инструмента показывает, какие политики сработали и какое решение они вернули
session / messages / parts.
Аудит
Характерный отчёт о том, как ваш агент на самом деле вёл себя в прошлых сеансах. Запускает то же сканирование, что и CLIfailproofai audit, но отображает его как панель управления с шестью разделами:
- Identity — классифицирует вашего агента в один из 8 архетипов (
the optimist,the cowboy,the explorer,the goldfish,the paranoid architect,the precision builder,the hammer,the ghost) на основе того, какие детекторы и политики сработали и как интенсивно. Отображает 8×8 пиксельный сигил, подзаголовок архетипа, фрейминг «common in» / «primary risk» и завершающую однострочку. - Show off your agent — захватывает карточку идентификации как 1200×630 PNG, подходящую для публикации в X / LinkedIn (нажмите
make poster). - Strengths — зелёные галочки на правильно работающих поведениях вашего агента, полученные из данных живого аудита (чистая частота вызовов инструментов, средняя длина сеанса, ноль утечек учётных данных, ноль бурь повторов и т. д.).
- Score + leaderboard — оценка 0–100 с буквенной отметкой (S/A/B/C/D/F), гистограмма распределения, показывающая ваше положение в когорте, описание («a B starts at 71. you’re 13 points away.») и таблица лидеров с выделенной вашей строкой.
- Findings — карточки по каждому выводу, ранжированные по влиянию. Каждая карточка показывает, что произошло, какова стоимость, образец свидетельств с реально захваченными командами и политику failproofai, которая бы поймала тот же паттерн (
$ failproofai policy add <slug>, копировать одним кликом). - Prescribed policies + return loop — сетка каждой невключённой встроенной политики, которая закроет пробел, с выноской прогнозируемой оценки, плюс CTA «re-audit in 7 days».
failproofai audit — см. Audit CLI для основного движка сканирования, поддерживаемых флагов и инвариантов кэша для каждого транскрипта. Панель управления кэширует последний результат в ~/.failproofai/audit-dashboard.json (режим 0600, одно место, новые запуски перезаписывают) так что повторные посещения происходят мгновенно; оба кэша — для каждого транскрипта и общий результат — отклоняются при чтении, как только им исполнится 7 дней, поэтому панель управления никогда не молча отдаёт результат, полученный неделю назад — после истечения TTL /audit переходит в пустое состояние и предлагает свежий запуск. Нажатие [ re-audit now ] внизу отчёта отправляет POST на /api/audit/run с noCache: true — повторный аудит обходит кэш для каждого транскрипта и пересканирует каждый транскрипт с нуля вместо молчаливого возврата кэшированного результата — и панель управления опрашивает /api/audit/status на 1 Гц до завершения запуска; липкая розовая полоса прогресса прикрепляется к верхней части области просмотра во время запуска с прошедшим таймером, и свежий результат заменяет на месте при успехе (полная перезагрузка страницы не требуется; неудачный повторный аудит оставляет предыдущий отчёт нетронутым). При ошибке полоса становится красной с текстом, основанным на RerunError.kind (timeout / network / post_failed). Пустое состояние (нет кэша или истёкший) и состояние нулевых сеансов (кэш существует, но сканирование не нашло транскриптов) отображаются отдельно.
Политики
Двухвкладочная страница для управления политиками и просмотра активности.- Вкладка Policies
- Вкладка Activity
- Выберите несколько агентов CLI, которых failproofai защищает, из одной панели — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi и Gemini CLI все имеют строку со статусом установки (
Active/Detected/Inactive), путём к пользовательским параметрам и фирменным цветным акцентом. Установите или снимите флажки для CLI, которые вы хотите, и нажмитеApply changesдля установки/удаления изменений в один шаг. CLI, чьё двоичное исполняемое выбрано в PATH, предварительно отмечены. - Включайте или выключайте отдельные политики одним щелчком (пишет в
~/.failproofai/policies-config.json— общий для каждого установленного CLI) - Разверните политику для настройки её параметров (для политик, поддерживающих
policyParams) - Установите пользовательский путь к файлу политик
Автоматическое обновление
Панель управления имеет переключатель автоматического обновления в верхней навигации. При включении текущая страница периодически обновляется для отображения новых сеансов и активности политик по мере их появления. Необходимо для мониторинга долгих сеансов автономных агентов.Отключение страниц
Если вам нужны только некоторые части панели управления, установитеFAILPROOFAI_DISABLE_PAGES на список названий страниц, разделённый запятыми:
policies, projects, audit.
Настройка пути к проектам
По умолчанию панель управления читает из стандартного каталога проектов Claude Code. Переопределите его для пользовательских конфигураций:Доступ с нелокального хоста
При запуске панели управления в режиме разработки (npm run dev) и доступе к ней с имени хоста, отличного от localhost — например, с пользовательского домена, удалённого IP или туннелированного URL — вы можете увидеть предупреждение:
--allowed-origins:
FAILPROOFAI_ALLOWED_DEV_ORIGINS:
Это применяется только к режиму разработки. При запуске
failproofai (режим производства) нет вебсокета HMR и нет проблемы кросс-источникового доступа к ресурсам разработки.
