Skip to main content

title: Панель управления description: “Мониторинг сеансов агентов, просмотр вызовов инструментов и управление политиками” icon: chart-line

Панель управления failproofai — это локальное веб-приложение для мониторинга сеансов вашего ИИ-агента и управления политиками. Узнайте, что делали ваши агенты, пока вас не было.

Запуск панели управления

Открывается на http://localhost:8020. Панель управления читает данные непосредственно из файловой системы — из папок вашего проекта Claude Code и файлов конфигурации failproofai. Ничего не записывается в удалённый сервис.

Страницы

Projects

Отображает все проекты Claude Code, OpenAI Codex, GitHub Copilot CLI (бета), Cursor Agent (бета), OpenCode (бета), Pi (бета) и Gemini CLI (бета), найденные на вашем компьютере. Проекты 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 (светло-голубой)
  • Дата последней активности сеанса
Нажмите на проект, чтобы посмотреть его сеансы.

Sessions

Список всех сеансов в проекте. Каждый сеанс показывает:
  • ID сеанса
  • Временные метки начала и завершения
  • Количество вызовов инструментов
  • Количество активностей хука (срабатывания политик)
Используйте фильтр диапазона дат и поиск по ID сеанса, чтобы сузить список. Сеансы отображаются постранично. Нажмите на сеанс, чтобы открыть средство просмотра сеанса.

Session viewer

Средство просмотра сеанса отвечает на ключевой вопрос для автономных агентов: что делал агент и остался ли он на правильном пути? Значок CLI рядом с заголовком указывает, является ли сеанс транскрипцией Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi или Gemini CLI. Он показывает временную шкалу всех событий в сеансе:
  • Messages — текстовые ответы Claude и подсказки пользователя
  • Tool calls — каждый инструмент, который вызвал Claude, с его входными и выходными данными
  • Policy activity — для каждого вызова инструмента, какие политики сработали и какое решение они вернули
Панель статистики в верхней части показывает продолжительность сеанса, общее количество вызовов инструментов и сводку решений хука (количество allow / deny / instruct). Нажмите кнопку Download Logs, чтобы экспортировать сеанс. Для сеансов Claude Code, Codex, Copilot, Cursor, Pi и Gemini вы получите исходную транскрипцию JSONL на диске побайтово; для OpenCode (чьи сеансы находятся в SQLite, а не на диске) вы получите JSON-документ, отражающий основные таблицы session / messages / parts.

Audit

Персонифицированный отчёт о том, как ваш агент фактически себя вёл во всех прошлых сеансах. Запускает то же сканирование, что и CLI failproofai audit, но отображает его как одноэкранный общий постер + четыре раздела ниже линии сгиба:
  1. Poster — заполняет первый видимый элемент. Самодостаточный регион захвата PNG с логотипом failproof_ai + метка аудита · индекс архетипа (№ NN из 08) + дата аудита · числовой балл (0–100) + таблетка рейтинга процентилей (top 15%) · название архетипа (один из the optimist, the cowboy, the explorer, the goldfish, the paranoid architect, the precision builder, the hammer, the ghost) + полоса из 3 ключевых слов · строка редкости // только N% агентов имеют этот архетип · плитка сигилы 8×8 пикселей · подвал audit yours → failproof.ai. Три кнопки общего доступа находятся сразу за границей поля захвата: post your archetype (интент X), share on linkedin, download poster. Захват выполняется через html-to-image, поэтому PNG совпадает с отображением на экране пиксель в пиксель (пунктирные границы, маска логотипа SVG, градиенты, метрики шрифтов — всё сохраняется).
  2. Strengths — спокойный список ✓ поведений, которые ваш агент уже выполняет правильно, полученные из данных живого аудита (чистая скорость вызовов инструментов, без прямых толчков в main, нулевые утечки учётных данных, нулевые штормы повторных попыток) — каждая поверхность отображается только при наличии чистого записи политики во всё время окна аудита.
  3. Quirks — таблица того, что проскользнуло, ранжированная по серьёзности: when · что проскользнуло + политика, которая бы это поймала · таблетка серьёзности · seen, где повторяемость читается new (один раз), N× seen (2–9 раз) или recurring (10+).
  4. How to improve — спокойный список строк, по одной за каждую рекомендуемую политику: имя политики белым, однострочное описание, команда установки + кнопка копирования справа. Заголовок раздела звучит как enable all N → projected <score> · <tier> (балл, который вы получите со всеми применёнными исправлениями), а его кнопка [install all] копирует объединённую команду failproofai policy add a b c … для каждой рекомендуемой политики.
  5. Come back better — две карточки рядом. Слева: установить напоминание (выбиратель кадма 3d / 7d / 14d / 30d; сохраняется через /api/auth/reminder после аутентификации). Справа: откройте льготы failproof — invite a friend открывает модальное окно, которое принимает список электронных адресов друзей, разделённых запятыми/пробелами/переводом строки (максимум 10 за отправку), отправляет их на /api/audit/invite, который перенаправляет на POST /v0/invite сервера API. API-сервер отправляет по одному письму для каждого получателя с адреса invite@failproof.ai с копией отправителю и установкой Reply-To, чтобы получатель видел, кто его пригласил, и отправитель получал копию в своем почтовом ящике. Анонимные пользователи перенаправляются через AuthDialog первыми, чтобы электронная почта отправителя была известна до отправки приглашений. Выполнение прав и привилегий — это последующее действие.
Управляется модулем выполнения 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

Двухвкладочная страница для управления политиками и просмотра активности.
  • Множественный выбор того, какие агенты 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)
  • Установите пользовательский путь файла политик

Auto-refresh

Панель управления имеет переключатель автоматического обновления в верхней навигации. При включении текущая страница периодически обновляется, чтобы показать новые сеансы и активность политик по мере их появления. Необходимо для мониторинга долгоживущих сеансов автономных агентов.

Отключение страниц

Если вам нужны только некоторые части панели управления, установите FAILPROOFAI_DISABLE_PAGES в список имён страниц, разделённый запятыми:
Допустимые значения: policies, projects, audit.

Настройка пути проектов

По умолчанию панель управления читает из стандартного каталога проектов Claude Code. Переопределите его для пользовательских конфигураций:

Доступ с не-localhost хоста

При запуске панели управления в режиме разработки (npm run dev) и её доступе с имени хоста, отличного от localhost — например, пользовательского домена, удалённого IP или туннелированного URL — вы можете увидеть предупреждение вроде:
Это Next.js, блокирующий кросс-ориджинальный доступ к своему вебсокету HMR (горячей перезагрузки модулей), который является функцией только для разработки. Чтобы разрешить ваш хост, используйте флаг --allowed-origins:
Для нескольких хостов или IP-адресов передайте список, разделённый запятыми:
Вы также можете установить переменную окружения FAILPROOFAI_ALLOWED_DEV_ORIGINS:
Это применяется только к режиму разработки. При запуске failproofai (режиме производства) нет вебсокета HMR и нет проблем с кросс-ориджинальными ресурсами разработки.