> ## Documentation Index
> Fetch the complete documentation index at: https://docs.befailproof.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Адаптеры для агентов

> Захватывайте сессии и применяйте политики в поддерживаемых CLI агентов.

Failproof AI поддерживает Claude Code, Codex, GitHub Copilot CLI, Cursor, OpenCode, Pi, Hermes, OpenClaw, Factory Droid, Devin CLI, Antigravity CLI и Goose.

| Адаптер                                          | Поддерживаемые области hook |
| ------------------------------------------------ | --------------------------- |
| Claude Code                                      | User, project, local        |
| Codex, GitHub Copilot CLI, Cursor, OpenCode, Pi  | User, project               |
| Factory Droid, Devin CLI, Antigravity CLI, Goose | User, project               |
| Hermes, OpenClaw                                 | User                        |

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

## Возможности блокировки

«Блокировка» означает, что вердикт, возвращаемый текущим адаптером, обрабатывается названным адаптером. Блокировка после использования инструмента может заменить результат, показываемый модели, но не может отменить уже произошедший побочный эффект инструмента.

| Адаптер            | Проверенные события блокировки                                                                                                     | Замечания только для наблюдения или без блокировки                                                                                                                                                      |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Claude Code        | `PreToolUse`, `UserPromptSubmit`, `PermissionRequest`, `Stop`, `SubagentStop`, `PreCompact` и несколько событий задач/конфигурации | `PostToolUse`, жизненный цикл сессии, уведомления и события после сбоя являются наблюдательными.                                                                                                        |
| Codex              | `PreToolUse`, `PermissionRequest`, `UserPromptSubmit`, `Stop`, `SubagentStop`, `PostToolUse`                                       | Блокировка после использования инструмента заменяет результат после выполнения; события начала сессии и компактизации являются наблюдательными в текущем адаптере.                                      |
| GitHub Copilot CLI | `PreToolUse`, `UserPromptSubmit`, `PermissionRequest`, `Stop`, `SubagentStop`, `PostToolUse`                                       | Блокировка после использования инструмента заменяет результат после выполнения; события сессии и уведомления являются наблюдательными.                                                                  |
| Cursor             | `PreToolUse`, `UserPromptSubmit`, `Stop`                                                                                           | `PostToolUse` и события сессии являются наблюдательными.                                                                                                                                                |
| OpenCode           | `PreToolUse`                                                                                                                       | События после использования инструмента и жизненный цикл являются наблюдательными; текущая обработка остановки является рекомендацией для следующего хода, а не проверенным механизмом управления.      |
| Pi                 | `PreToolUse`, `UserPromptSubmit`                                                                                                   | События после использования инструмента и жизненный цикл являются наблюдательными; рекомендация по остановке применяется к следующему ходу.                                                             |
| Hermes             | `PreToolUse`                                                                                                                       | Вердикты после использования инструмента, сессии и остановки подагента не являются механизмами управления.                                                                                              |
| OpenClaw           | `PreToolUse`, `UserPromptSubmit`, `Stop`                                                                                           | События после использования инструмента, сессии, остановки подагента и компактизации являются наблюдательными.                                                                                          |
| Factory Droid      | `PreToolUse`, `UserPromptSubmit`, `Stop`, `PreCompact`                                                                             | Вердикты после использования инструмента и остановки подагента являются наблюдательными.                                                                                                                |
| Devin CLI          | `PreToolUse`, `UserPromptSubmit`, `Stop`, условный `PermissionRequest`                                                             | Hooks разрешения не запускаются в каждом режиме разрешения; события после использования инструмента и сессии являются наблюдательными.                                                                  |
| Antigravity CLI    | `PreToolUse`, `Stop`                                                                                                               | Вердикты по подсказке пользователя и после использования инструмента являются наблюдательными; инструкции по подсказкам все еще можно внедрять.                                                         |
| Goose              | `PreToolUse`                                                                                                                       | События подсказки пользователя, после использования инструмента и сессии являются наблюдательными. Собственный hook остановки блокировки существует выше по потоку, но не установлен текущим адаптером. |

Возможности зависят от версии. Повторно протестируйте после обновления CLI агента, особенно когда политика полагается на поведение подсказки, остановки, разрешения или после использования инструмента, а не на общий механизм управления перед использованием.

## Установка hooks захвата и политик

<Tabs>
  <Tab title="Dashboard">
    1. Откройте **Administration → Keys** и создайте ключ с разрешениями `events:add` и `policies:pull`, назвав его для машины или среды.
    2. На целевой машине подключите локальный CLI с отображаемым ключом и установите hooks адаптера.
    3. Запустите новую сессию агента, затем подтвердите её hook и события сессии в разделе **Observe → Events**.
    4. Откройте **Observe → policy** за тот же временной интервал и подтвердите, что решение политики приписано машине.

    Соединение начинается с ключа машины. Подтвердите, что он включает разрешения как на приём данных, так и на доставку политик, перед копированием его секрета.

    <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/key-create.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=a428bdae79f837471acb66414ff6455b" alt="Новое окно создания ключа API для предоставления разрешений на приём событий и доставку политик." width="2940" height="1604" data-path="images/dashboard/key-create.png" />

    После установки hooks, поток событий должен показывать новые события от подключённой машины и среды.

    <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/events-stream.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=2cbda31a05ade12cbf015f6800ba34e1" alt="Живой поток событий для подтверждения того, что недавно установленный адаптер передаёт данные." width="3200" height="2000" data-path="images/dashboard/events-stream.png" />

    Наконец, убедитесь, что решения политик приписаны той же машине. Это подтверждает, что адаптер передаёт как деятельность политик, так и события трассировки.

    <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/policy-observe.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=13535ad27c8bddac6589f9d1560916cb" alt="Страница политик для проверки решений политик от недавно подключённого адаптера." width="2372" height="1548" data-path="images/dashboard/policy-observe.png" />
  </Tab>

  <Tab title="CLI">
    Установите hooks для всех обнаруженных адаптеров:

    ```bash theme={null}
    failproofai config \
      --connect https://app.befailproof.ai \
      --token <machine-key>
    failproofai policies --install
    ```

    Или выберите конкретные адаптеры и область конфигурации:

    ```bash theme={null}
    failproofai policies --install \
      --cli claude codex cursor \
      --scope user
    ```

    Область project сохраняет конфигурацию hook в репозитории. Область user охватывает работу во всех репозиториях. Claude Code также поддерживает область local; поддержка варьируется в зависимости от адаптера, и CLI отвергает неподдерживаемые комбинации.

    Проверьте машину и её события:

    ```bash theme={null}
    failproofai config --status
    failproofai flush --wait
    fp events --since 1h --event-type hook_triggered,hook_completed
    ```
  </Tab>
</Tabs>

## Добавление нестандартного пути сессии

<Tabs>
  <Tab title="Dashboard">
    Дополнительные пути регистрируются на машине, а не в Cloud. После добавления одного откройте **Observe → Sessions**, отфильтруйте по среде машины и подтвердите, что сессии из нового пути появляются. Откройте сессию и проверьте агента, адаптер и временные метки событий перед использованием в аудите.

    <img src="https://mintcdn.com/exosphere/WgPwQzedeDNwJBTy/images/dashboard/sessions-list.png?fit=max&auto=format&n=WgPwQzedeDNwJBTy&q=85&s=f1fb545746143e87b8b5daedabfc5559" alt="Список сессий, отфильтрованный по среде, которая получает данные от дополнительного пути захвата." width="3200" height="2000" data-path="images/dashboard/sessions-list.png" />
  </Tab>

  <Tab title="CLI">
    Добавьте путь с необязательной меткой, затем проверьте настроенные пути:

    ```bash theme={null}
    failproofai harness add-path claude checkout=/srv/checkout/.claude
    failproofai harness list claude
    failproofai backfill --since 7d --dry-run
    failproofai backfill --since 7d
    ```

    Удалите путь командой `failproofai harness remove-path claude checkout`.
  </Tab>
</Tabs>

<Tip>
  Запустите одну новую сессию после установки. Проверьте как живой поток событий, так и фактическое решение политики перед расширением развёртывания.
</Tip>
