Перейти до основного вмісту
Середовище виконання агента — це компонент, який керує одним підготовленим циклом моделі: він отримує промпт, керує виведенням моделі, обробляє нативні виклики інструментів і повертає завершений хід до OpenClaw. Середовища виконання легко сплутати з постачальниками, оскільки обидва з’являються поруч із конфігурацією моделі. Це різні рівні:
РівеньПрикладиЩо це означає
Постачальникopenai, anthropic, openai-codexЯк OpenClaw автентифікується, виявляє моделі та називає посилання на моделі.
Модельgpt-5.5, claude-opus-4-6Модель, вибрана для ходу агента.
Середовище виконання агентаpi, codex, середовища виконання на основі ACPНизькорівневий цикл, який виконує підготовлений хід.
КаналTelegram, Discord, Slack, WhatsAppДе повідомлення входять в OpenClaw і виходять з нього.
Ви також побачите слово harness у коді та конфігурації. Harness — це реалізація, яка надає середовище виконання агента. Наприклад, вбудований Codex harness реалізує середовище виконання codex. Ключ конфігурації, як і раніше, має назву embeddedHarness для сумісності, але в документації для користувачів і виводі статусу зазвичай слід казати runtime. Поширене налаштування Codex використовує постачальника openai із середовищем виконання codex:
{
  agents: {
    defaults: {
      model: "openai/gpt-5.5",
      embeddedHarness: {
        runtime: "codex",
      },
    },
  },
}
Це означає, що OpenClaw вибирає посилання на модель OpenAI, а потім просить середовище виконання серверного застосунку Codex запустити вбудований хід агента. Це не означає, що канал, каталог постачальника моделей або сховище сесій OpenClaw стає Codex. Щодо розділення префіксів сімейства OpenAI див. OpenAI і Постачальники моделей. Щодо контракту підтримки середовища виконання Codex див. Codex harness.

Відповідальність середовища виконання

Різні середовища виконання відповідають за різні частини циклу.
ПоверхняOpenClaw PI embeddedСерверний застосунок Codex
Власник циклу моделіOpenClaw через вбудований виконавець PIСерверний застосунок Codex
Канонічний стан потокуТранскрипт OpenClawПотік Codex плюс дзеркало транскрипту OpenClaw
Динамічні інструменти OpenClawНативний цикл інструментів OpenClawПідключено через адаптер Codex
Нативні інструменти shell і файлівШлях PI/OpenClawНативні інструменти Codex, підключені через нативні хуки там, де це підтримується
Рушій контекстуНативне збирання контексту OpenClawКонтекст, зібраний проєктами OpenClaw, у хід Codex
CompactionOpenClaw або вибраний рушій контекстуНативний Compaction у Codex зі сповіщеннями OpenClaw і підтримкою дзеркала
Доставка каналомOpenClawOpenClaw
Цей розподіл відповідальності — головне правило проєктування:
  • Якщо за поверхню відповідає OpenClaw, OpenClaw може надавати звичайну поведінку хуків Plugin.
  • Якщо за поверхню відповідає нативне середовище виконання, OpenClaw потребує подій runtime або нативних хуків.
  • Якщо нативне середовище виконання володіє канонічним станом потоку, OpenClaw має дзеркалити його й проєктувати контекст, а не переписувати непідтримувані внутрішні механізми.

Вибір середовища виконання

OpenClaw вибирає вбудоване середовище виконання після визначення постачальника та моделі:
  1. Записане середовище виконання сесії має пріоритет. Зміни конфігурації не перемикають наявний транскрипт «на гарячу» на іншу нативну систему потоків.
  2. OPENCLAW_AGENT_RUNTIME=<id> примусово задає це середовище виконання для нових або скинутих сесій.
  3. agents.defaults.embeddedHarness.runtime або agents.list[].embeddedHarness.runtime можуть задавати auto, pi або зареєстрований ідентифікатор середовища виконання, наприклад codex.
  4. У режимі auto зареєстровані середовища виконання Plugin можуть заявляти про підтримувані пари постачальник/модель.
  5. Якщо жодне середовище виконання не бере хід у режимі auto, а задано fallback: "pi" (типове значення), OpenClaw використовує PI як сумісний резервний варіант. Установіть fallback: "none", щоб натомість вибір у режимі auto завершувався помилкою для невідповідних випадків.
Явно вказані середовища виконання Plugin за замовчуванням завершуються без резервного переходу. Наприклад, runtime: "codex" означає Codex або чітку помилку вибору, якщо тільки ви не задасте fallback: "pi" у тій самій області перевизначення. Перевизначення runtime не успадковує ширше налаштування fallback, тому runtime: "codex" на рівні агента не буде непомітно спрямовано назад до PI лише тому, що в налаштуваннях за замовчуванням використовувався fallback: "pi".

Контракт сумісності

Коли середовище виконання не є PI, воно має документувати, які поверхні OpenClaw воно підтримує. Для документації середовищ виконання використовуйте таку структуру:
ПитанняЧому це важливо
Хто володіє циклом моделі?Визначає, де відбуваються повторні спроби, продовження інструментів і рішення щодо фінальної відповіді.
Хто володіє канонічною історією потоку?Визначає, чи може OpenClaw редагувати історію, чи лише дзеркалити її.
Чи працюють динамічні інструменти OpenClaw?Від цього залежать повідомлення, сесії, Cron та інструменти, якими володіє OpenClaw.
Чи працюють хуки динамічних інструментів?Plugins очікують before_tool_call, after_tool_call і middleware навколо інструментів, якими володіє OpenClaw.
Чи працюють хуки нативних інструментів?Shell, patch та інструменти, якими володіє runtime, потребують підтримки нативних хуків для політик і спостереження.
Чи виконується життєвий цикл рушія контексту?Plugins пам’яті й контексту залежать від життєвого циклу assemble, ingest, after-turn і compaction.
Які дані Compaction доступні?Деяким Plugin потрібні лише сповіщення, тоді як іншим потрібні метадані про збережене/відкинуте.
Що навмисно не підтримується?Користувачі не повинні припускати еквівалентність PI там, де нативне середовище виконання володіє більшою кількістю стану.
Контракт підтримки середовища виконання Codex задокументовано в Codex harness.

Мітки статусу

У виводі статусу можуть показуватися мітки Execution і Runtime. Сприймайте їх як діагностичні дані, а не як назви постачальників.
  • Посилання на модель, як-от openai/gpt-5.5, показує вибраного постачальника/модель.
  • Ідентифікатор середовища виконання, як-от codex, показує, який цикл виконує хід.
  • Мітка каналу, як-от Telegram або Discord, показує, де відбувається розмова.
Якщо сесія все ще показує PI після зміни конфігурації runtime, почніть нову сесію за допомогою /new або очистьте поточну через /reset. Наявні сесії зберігають своє записане середовище виконання, щоб транскрипт не відтворювався через дві несумісні нативні системи сесій.

Пов’язане