Перейти до вмісту

Машинний переклад. Авторитетним джерелом є англійська версія; перевірка носієм мови ще не виконана.

Посібники

Підключення Claude Code

Поглинання сесій Claude Code з телеметрії OpenTelemetry gen_ai та управління його tool-call на точці застосування deny-closed.

Оновлено:

Claude Code — це канонічне кооперативне джерело для Olivares AI. Платформа робить дві різні речі з ним, на двох поверхнях з протилежними позиціями: тримайте їх прямо, тому що одна — спочатку читання, а інша навмисно знаходиться на шляху.

Для загальної моделі джерел див. Підключення джерела; для робочого процесу застосування див. Керування та затвердження.

Що спостерігається проти того, що застосовується

  • Спостереження (спочатку читання). Claude Code експортує OpenTelemetry; конектор запускає приймач OTLP, який перетворює цю телеметрію на ребра карти доступу, зразки витрат та ідентичність. Цей шлях ніколи не знаходиться на шляху запиту агента — він поглинає поза основним потоком. Див. карту доступу.
  • Застосування (закрите за замовчуванням). Нативні хуки Claude Code PreToolUse / PostToolUse можуть викликати точку застосування політики (PEP), яка повертає allow / deny / ask до того, як інструмент запуститься. Це навмисно вставлений шлях, який ви вмикаєте, коли площина управління повинна керувати агентом, а не просто спостерігати за ним.

Ви можете запускати лише спостереження. Застосування є опціональним та додатковим.

Спостереження: поглинання телеметрії OTel

Конектор надає стандартний приймач OTLP (gRPC та HTTP, на стандартних портах OpenTelemetry). Він відображає два словники в один конвеєр:

  • Власна телеметрія Claude Code claude_code.* — виклики інструментів, сесії, використання моделі за запит та (у бета-версії трейсингу) ієрархія підагентів.
  • Постачальниконейтральні семантичні конвенції OpenTelemetry GenAI (gen_ai.*), тому будь-який OTel-інструментований агент живить ту ж карту доступу та FinOps, а не лише Claude Code.

З цієї телеметрії конектор виводить ребра доступу, атрибутовані до сесій (яка сесія торкнулася якого ресурсу, читання або запис), ребро топології для кожного MCP-сервера, до якого сесія підключається, та зразок витрат за запит. MCP-сервери надають інтроспекцію readOnlyHint / destructiveHint; це сигнал R/RW, який специфікація MCP позначає як ненадійний, тому конектор трактує їх як підтверджуючі докази і ніколи не підвищує ребро лише на основі підказки.

OLIVARES_SOURCES_CONFIG — це JSON-документ (читається перед запуском рушія); kind: "claude" обирає цей конектор. http_addr прив’язується до loopback за замовчуванням — див. попередження нижче.

{
  "sources": [
    {
      "name": "claude",
      "kind": "claude",
      "tenant": "<tenant-ref>",
      "config": {
        "enable_http": "true",
        "http_addr": "127.0.0.1:4318"
      }
    }
  ]
}

Профіль GenAI є опціональним

Семантичні конвенції gen_ai.* все ще мають статус Development, тому їх відображення на витрати та ребра є явним увімкненням. Встановіть semconv_opt_in конектора на власний токен специфікації (відображаючи OTEL_SEMCONV_STABILITY_OPT_IN); з вимкненим, запис gen_ai.* все ще живить watchdog живучості, але не оцінюється. Профіль читає як поточні, так і застарілі назви атрибутів, які реальні фреймворки все ще генерують, приймає дані на трейсах або журналах та дедуплікує операцію, яка приходить на обох, щоб FinOps не подвійно тарифікувався. Вміст повідомлень ніколи не читається — ключі вмісту використовуються лише для визначення, яким діалектом говорить емітер.

Мінімальні дані за замовчуванням

Конектор зберігає лише структурну телеметрію — сесії, ідентичності, назви інструментів, режим R/RW, тайминг — навіть якщо клієнт налаштований генерувати текст промптів або тіла інструментів. Сирий вхід інструмента зменшується до редагованого посилання на ресурс перед тим, як стає спостереженням. Збереження будь-якої категорії вмісту є окремим, аудитованим увімкненням. Див. дозволений проти фактичного та точність для того, як покриття та атрибуція є багаторівневими.

:::caution Кооперативний приймач неаутентифікований та прив’язаний до loopback за замовчуванням. Будь-хто, хто може дістатися до сокета, може підробити телеметрію, тому не відкривайте його на спільній мережі. Позахостові агенти належать на некооперативний ядерний спостерігач, а не на публічний порт OTLP. :::

Застосування: хук PEP

Для управління — а не лише спостереження — підключіть хуки Claude Code до PEP. Хук PreToolUse агента передає кожен виклик інструмента керованій хук-команді, яка пересилає його до PEP та передає вердикт назад. Конектор володіє лише протоколом хука та закритими за замовчуванням замовчуваннями; фактичне рішення делегується через точку, яку площина управління реалізує проти живого PDP (Cedar/ABAC), площини твердої ідентичності, затверджень за участю людини та захищеного від підробки журналу.

Claude Code ──PreToolUse hook──▶ managed hook command ──HTTP──▶ governed PEP
   (agent)        (stdin JSON)                                  (loopback)

              allow │ deny │ ask  ◀──── governed decision ──────────┘
            (+ updatedInput rewrite)   deny-closed on any failure

Що PEP може повернути, перевірено проти контракту хуків Claude Code:

  • PreToolUseallow, deny або ask, з опціональним керованим updatedInput перезаписом (звузити шлях, додати --dry-run, перенаправити fetch). Пріоритет: deny над ask над allow.
  • PostToolUse — Claude Code не має поля перезапису виводу, тому хук PostToolUse може лише заблокувати подальшу обробку на результаті, позначеному політикою. Конектор не прикидається, що перезаписує результат, який модель вже побачила; те, що він редагує — це те, що він зберігає та аудитує.

Закриття за замовчуванням є тотальним

Вставка на шляху даних — це асиметричний ризик, тому кожен режим відмови закривається закрито, ніколи відкрито: відсутній суб’єкт рішення, помилка рішення (PDP недоступний, ідентичність не визначена, затвердження, яке не могло відкритися), або помилковий корисний вантаж хука — все повертає чисту відмову. Нульове значення вердикту саме є відмовою. ask маршрутизується до керованого затвердження; затвердження прив’язане до хешу плану точного виклику інструмента, тому не може бути повторно використане для авторизації іншого виклику (анти-TOCTOU).

У продакшні хук поставляється в корпоративному рівні managed-settings Claude Code з увімкненим managed-hooks-only, тому розробник не може вимкнути або замінити його з файлу налаштувань нижчого пріоритету. Підказки ідентичності, позначені на запиті, уточнюють атрибуцію; авторитетним principal є bearer, який визначає суб’єкт рішення, і політика, яка вимагає твердої ідентичності, відхиляє все, що може атрибутувати лише приблизно.

Легший, локальний режим

Конектор також підтримує локальну, внутрішньопроцесну політику застосування, що оцінюється на гарячому шляху хука без зворотного звернення до рушія — тому повільна або недоступна площина управління ніколи не блокує виклик інструмента розробника. Це увімкнення: без налаштованих правил хуки спостерігаються і ніколи не блокуються. Це кооперативна за замовчуванням позиція; керований PEP вище — це протилежна позиція, на яку ви переключаєтеся, коли площина управління повинна бути суб’єктом рішення.

Антиобхід

Оскільки шлях спостереження є кооперативним, конектор відстежує сесію, яка припиняє генерувати OTel поки її хуки все ще спрацьовують — сигнатура агента, який вимкнув свій експортер посередині сесії, продовжуючи діяти. Зверніть увагу, що він не робить: завершений агент затихає, і тиша сама по собі ніколи не позначається. Базова правда для справді некооперативної діяльності — це ядерний/eBPF спостерігач, а не ця евристика.

Ізоляція: що залишається вдома, а що ні

Площина управління працює всередині вашої власної інфраструктури і може працювати ізольовано — дані управління та спостереження (ребра доступу, рішення, аудит, зразки витрат) ніколи не покидають ваш периметр. Приймач OTLP та хук PEP — це локальні сокети; рушій не телефонує додому.

Одне чесне застереження: вивід Claude ніколи не ізольований. Claude Code все ще відправляє свої промпти до API Anthropic (напряму або через Bedrock, Vertex чи Foundry) для отримання відповіді. Ізоляція площини управління тримає дані управління вашого середовища вдома; вона не переносить модель на власну інфраструктуру. Тільки справді самостійно розгортувані моделі (наприклад через vLLM/Ollama) працюють повністю офлайн. Див. що таке Olivares AI та чесність і обмеження.

Наступні кроки

Пошук у документації