diff --git a/docs/uk/plugins/codex-harness.md b/docs/uk/plugins/codex-harness.md index 0e8a1887b..1542029fa 100644 --- a/docs/uk/plugins/codex-harness.md +++ b/docs/uk/plugins/codex-harness.md @@ -1,29 +1,29 @@ --- read_when: - - Ви хочете використовувати комплектний harness app-server Codex - - Вам потрібні приклади конфігурації harness Codex - - Ви хочете, щоб розгортання лише з Codex завершувалися помилкою замість переходу до PI -summary: Запустіть вбудовані ходи агента OpenClaw через комплектний harness app-server Codex -title: harness Codex + - Ви хочете використовувати комплектний каркас app-server Codex + - Вам потрібні приклади конфігурації каркаса Codex + - Ви хочете, щоб розгортання лише з Codex завершувалися помилкою замість переходу до Pi +summary: Запустіть вбудовані ходи агента OpenClaw через комплектний каркас app-server Codex +title: каркас Codex x-i18n: - generated_at: "2026-04-25T20:40:02Z" + generated_at: "2026-04-25T23:54:39Z" model: gpt-5.4 provider: openai - source_hash: a5d14d2482b0c5eed5481c42db70e881f88e590dd109244fbb131a2e0d8ec239 + source_hash: 388e4c015e6af99a9c9184539f4a5fa2bcc828f26a7470a338e8398e0cec1a5f source_path: plugins/codex-harness.md workflow: 15 --- Комплектний Plugin `codex` дає OpenClaw змогу запускати вбудовані ходи агента через -Codex app-server замість вбудованого harness Pi. +Codex app-server замість вбудованого каркаса Pi. Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: виявленням -моделей, нативним відновленням потоків, нативною Compaction і виконанням через app-server. +моделей, нативним відновленням потоку, нативною Compaction і виконанням через app-server. OpenClaw, як і раніше, керує каналами чату, файлами сесій, вибором моделей, інструментами, погодженнями, доставкою медіа та видимим дзеркалом транскрипту. Якщо ви намагаєтеся зорієнтуватися, почніть із -[середовищ виконання агентів](/uk/concepts/agent-runtimes). Коротка версія така: +[Середовища виконання агентів](/uk/concepts/agent-runtimes). Коротко: `openai/gpt-5.5` — це посилання на модель, `codex` — це середовище виконання, а Telegram, Discord, Slack або інший канал залишається поверхнею комунікації. @@ -37,93 +37,95 @@ Discord, Slack або інший канал залишається поверх - `before_message_write` для дзеркальних записів транскрипту - `agent_end` -Plugins також можуть реєструвати нейтральне до середовища виконання middleware результатів інструментів, щоб переписувати -результати динамічних інструментів OpenClaw після того, як OpenClaw виконає інструмент, і до того, -як результат буде повернуто до Codex. Це окремо від публічного -хука Plugin `tool_result_persist`, який трансформує записи результатів інструментів -у транскрипті, що належать OpenClaw. +Plugins також можуть реєструвати незалежне від середовища виконання проміжне ПЗ результатів інструментів, щоб переписувати +динамічні результати інструментів OpenClaw після того, як OpenClaw виконає інструмент, і до того, +як результат буде повернуто в Codex. Це окремо від публічного +хука Plugin `tool_result_persist`, який перетворює записи результатів інструментів +у транскрипті, що належить OpenClaw. -Щодо семантики самих хуків Plugin дивіться [хуки Plugin](/uk/plugins/hooks) -і [поведінку guard Plugin](/uk/tools/plugin). +Щодо семантики самих хуків Plugin дивіться [Хуки Plugin](/uk/plugins/hooks) +і [Поведінка захисту Plugin](/uk/tools/plugin). -harness вимкнений за замовчуванням. Нові конфігурації мають зберігати посилання на моделі OpenAI -у канонічному вигляді `openai/gpt-*` і явно примусово задавати -`embeddedHarness.runtime: "codex"` або `OPENCLAW_AGENT_RUNTIME=codex`, коли -потрібне нативне виконання через app-server. Застарілі посилання на моделі `codex/*` і далі автоматично вибирають -harness для сумісності, але застарілі префікси провайдерів, підкріплені середовищем виконання, не -показуються як звичайні варіанти моделі/провайдера. +Каркас вимкнений за замовчуванням. Нові конфігурації мають зберігати посилання на моделі OpenAI +у канонічному вигляді `openai/gpt-*` і явно примусово встановлювати +`embeddedHarness.runtime: "codex"` або `OPENCLAW_AGENT_RUNTIME=codex`, коли їм +потрібне нативне виконання через app-server. Застарілі посилання на моделі `codex/*` усе ще автоматично вибирають +каркас для сумісності, але застарілі префікси провайдерів, підкріплені середовищем виконання, +не показуються як звичайні варіанти моделі/провайдера. ## Виберіть правильний префікс моделі -Маршрути сімейства OpenAI залежать від префікса. Використовуйте `openai-codex/*`, коли вам потрібен -OAuth Codex через Pi; використовуйте `openai/*`, коли вам потрібен прямий доступ до OpenAI API або -коли ви примусово використовуєте нативний harness Codex app-server: +Маршрути сімейства OpenAI залежать від префікса. Використовуйте `openai-codex/*`, коли вам потрібна +авторизація Codex OAuth через Pi; використовуйте `openai/*`, коли вам потрібен прямий доступ до OpenAI API або +коли ви примусово використовуєте нативний каркас app-server Codex: -| Посилання на модель | Шлях середовища виконання | Використовуйте, коли | -| ----------------------------------------------------- | -------------------------------------------- | -------------------------------------------------------------------------- | -| `openai/gpt-5.4` | Провайдер OpenAI через механізми OpenClaw/Pi | Вам потрібен актуальний прямий доступ до OpenAI Platform API через `OPENAI_API_KEY`. | -| `openai-codex/gpt-5.5` | OAuth OpenAI Codex через OpenClaw/Pi | Вам потрібна автентифікація через підписку ChatGPT/Codex з типовим runner Pi. | -| `openai/gpt-5.5` + `embeddedHarness.runtime: "codex"` | harness Codex app-server | Вам потрібне нативне виконання через Codex app-server для вбудованого ходу агента. | +| Model ref | Runtime path | Use when | +| ----------------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------- | +| `openai/gpt-5.4` | Провайдер OpenAI через конвеєр OpenClaw/PI | Вам потрібен поточний прямий доступ до OpenAI Platform API з `OPENAI_API_KEY`. | +| `openai-codex/gpt-5.5` | OpenAI Codex OAuth через OpenClaw/PI | Вам потрібна автентифікація підписки ChatGPT/Codex зі стандартним виконавцем PI. | +| `openai/gpt-5.5` + `embeddedHarness.runtime: "codex"` | Каркас app-server Codex | Вам потрібне нативне виконання через app-server Codex для вбудованого ходу агента. | -GPT-5.5 зараз в OpenClaw доступна лише через підписку/OAuth. Використовуйте -`openai-codex/gpt-5.5` для OAuth Pi або `openai/gpt-5.5` разом із harness Codex -app-server. Прямий доступ за API-ключем для `openai/gpt-5.5` підтримуватиметься, -щойно OpenAI увімкне GPT-5.5 у публічному API. +GPT-5.5 зараз у OpenClaw доступна лише через підписку/OAuth. Використовуйте +`openai-codex/gpt-5.5` для PI OAuth або `openai/gpt-5.5` з каркасом +app-server Codex. Прямий доступ через API-ключ для `openai/gpt-5.5` підтримуватиметься, +коли OpenAI увімкне GPT-5.5 у публічному API. -Застарілі посилання `codex/gpt-*` і далі приймаються як псевдоніми сумісності. Міграція сумісності -doctor переписує застарілі первинні посилання середовища виконання в канонічні посилання на моделі -й окремо записує політику середовища виконання, тоді як застарілі посилання лише для fallback -залишаються без змін, оскільки середовище виконання налаштовується для всього контейнера агента. -Нові конфігурації OAuth Codex для Pi мають використовувати `openai-codex/gpt-*`; нові конфігурації -нативного harness app-server мають використовувати `openai/gpt-*` плюс +Застарілі посилання `codex/gpt-*` залишаються прийнятними як псевдоніми сумісності. Міграція сумісності +doctor переписує застарілі основні посилання на середовище виконання у канонічні посилання на модель +і записує політику середовища виконання окремо, тоді як застарілі посилання лише для резервного режиму +залишаються без змін, бо середовище виконання налаштовується для всього контейнера агента. +Нові конфігурації PI Codex OAuth мають використовувати `openai-codex/gpt-*`; нові конфігурації нативного +каркаса app-server мають використовувати `openai/gpt-*` плюс `embeddedHarness.runtime: "codex"`. -`agents.defaults.imageModel` дотримується того самого розділення префіксів. Використовуйте -`openai-codex/gpt-*`, коли розуміння зображень має працювати через шлях провайдера OAuth OpenAI -Codex. Використовуйте `codex/gpt-*`, коли розуміння зображень має працювати -через обмежений хід Codex app-server. Модель Codex app-server має -заявляти підтримку введення зображень; текстові моделі Codex завершуються помилкою ще до -початку медіа-ходу. +`agents.defaults.imageModel` дотримується такого самого розділення префіксів. Використовуйте +`openai-codex/gpt-*`, коли розуміння зображень має проходити через шлях провайдера OpenAI +Codex OAuth. Використовуйте `codex/gpt-*`, коли розуміння зображень має виконуватися +через обмежений хід app-server Codex. Модель app-server Codex має +заявляти підтримку вхідних зображень; текстові моделі Codex завершуються помилкою до того, як +почнеться медіахід. -Використовуйте `/status`, щоб підтвердити фактичний harness для поточної сесії. Якщо вибір -несподіваний, увімкніть debug-логування для підсистеми `agents/harness` -і перегляньте структурований запис gateway `agent harness selected`. Він -містить ідентифікатор вибраного harness, причину вибору, політику runtime/fallback та, +Використовуйте `/status`, щоб підтвердити фактичний каркас для поточної сесії. Якщо вибір +виявився несподіваним, увімкніть журналювання налагодження для підсистеми `agents/harness` +і перегляньте структурований запис шлюзу `agent harness selected`. Він +містить ідентифікатор вибраного каркаса, причину вибору, політику runtime/fallback і, у режимі `auto`, результат підтримки для кожного кандидата Plugin. -Вибір harness не є засобом керування живою сесією. Коли виконується вбудований хід, -OpenClaw записує ідентифікатор вибраного harness у цю сесію та продовжує використовувати його +Вибір каркаса не є засобом керування живою сесією. Коли виконується вбудований хід, +OpenClaw записує ідентифікатор вибраного каркаса в цю сесію і продовжує використовувати його для наступних ходів у межах того самого ідентифікатора сесії. Змінюйте конфігурацію `embeddedHarness` або -`OPENCLAW_AGENT_RUNTIME`, якщо хочете, щоб майбутні сесії використовували інший harness; -використовуйте `/new` або `/reset`, щоб почати нову сесію, перш ніж перемикати наявну -розмову між Pi і Codex. Це запобігає повторному програванню одного транскрипту через +`OPENCLAW_AGENT_RUNTIME`, коли хочете, щоб майбутні сесії використовували інший каркас; +використовуйте `/new` або `/reset`, щоб почати нову сесію перед перемиканням наявної +розмови між PI і Codex. Це дає змогу уникнути повторного програвання одного транскрипту через дві несумісні нативні системи сесій. -Застарілі сесії, створені до закріплення harness, розглядаються як закріплені за Pi, щойно вони -мають історію транскрипту. Використовуйте `/new` або `/reset`, щоб перевести цю розмову на +Застарілі сесії, створені до закріплення каркасів, вважаються закріпленими за PI, щойно вони +мають історію транскрипту. Використовуйте `/new` або `/reset`, щоб перевести таку розмову на Codex після зміни конфігурації. -`/status` показує фактичне середовище виконання моделі. Типовий harness Pi відображається як -`Runtime: OpenClaw Pi Default`, а harness Codex app-server — як +`/status` показує фактичне runtime моделі. Стандартний каркас PI відображається як +`Runtime: OpenClaw Pi Default`, а каркас app-server Codex відображається як `Runtime: OpenAI Codex`. ## Вимоги - OpenClaw із доступним комплектним Plugin `codex`. -- Codex app-server `0.125.0` або новіший. Нативні payload хуків MCP з’явилися в Codex - `0.124.0`; OpenClaw використовує `0.125.0` як перевірену нижню межу підтримки. -- Автентифікація Codex, доступна для процесу app-server. +- Codex app-server `0.125.0` або новіший. Комплектний Plugin за замовчуванням керує сумісним + двійковим файлом Codex app-server, тому локальні команди `codex` у `PATH` + не впливають на звичайний запуск каркаса. +- Автентифікація Codex, доступна процесу app-server. -Plugin блокує старіші або неверсіоновані handshakes app-server. Це гарантує, що -OpenClaw працює лише з поверхнею протоколу, з якою його було протестовано. +Plugin блокує старіші або неверсіоновані рукостискання app-server. Це утримує +OpenClaw на поверхні протоколу, з якою його було протестовано. -Для live- і Docker smoke-тестів автентифікація зазвичай надходить із `OPENAI_API_KEY`, а також -із необов’язкових файлів CLI Codex, таких як `~/.codex/auth.json` і -`~/.codex/config.toml`. Використовуйте ті самі дані автентифікації, які використовує ваш локальний Codex app-server. +Для live- і Docker smoke-тестів автентифікація зазвичай надходить із `OPENAI_API_KEY`, а також, +за потреби, з файлів Codex CLI, таких як `~/.codex/auth.json` і +`~/.codex/config.toml`. Використовуйте ті самі автентифікаційні матеріали, що й ваш локальний +Codex app-server. ## Мінімальна конфігурація -Використовуйте `openai/gpt-5.5`, увімкніть комплектний Plugin і примусово задайте harness `codex`: +Використовуйте `openai/gpt-5.5`, увімкніть комплектний Plugin і примусово виберіть каркас `codex`: ```json5 { @@ -145,7 +147,7 @@ OpenClaw працює лише з поверхнею протоколу, з як } ``` -Якщо ваша конфігурація використовує `plugins.allow`, додайте туди й `codex`: +Якщо ваша конфігурація використовує `plugins.allow`, включіть туди також `codex`: ```json5 { @@ -160,27 +162,27 @@ OpenClaw працює лише з поверхнею протоколу, з як } ``` -Застарілі конфігурації, які задають `agents.defaults.model` або модель агента як -`codex/`, і далі автоматично вмикають комплектний Plugin `codex`. Нові конфігурації мають -надавати перевагу `openai/` плюс явному запису `embeddedHarness` вище. +Застарілі конфігурації, які встановлюють `agents.defaults.model` або модель агента в +`codex/`, усе ще автоматично вмикають комплектний Plugin `codex`. Нові конфігурації мають +надавати перевагу `openai/` плюс явний запис `embeddedHarness`, наведений вище. ## Додайте Codex поруч з іншими моделями -Не задавайте `runtime: "codex"` глобально, якщо той самий агент має вільно перемикатися -між Codex і моделями інших провайдерів. Примусове середовище виконання застосовується до кожного -вбудованого ходу для цього агента або сесії. Якщо ви виберете модель Anthropic, поки -це середовище виконання примусово задане, OpenClaw усе одно спробує harness Codex і завершиться помилкою -безшумно не перенаправляючи цей хід через Pi. +Не встановлюйте `runtime: "codex"` глобально, якщо той самий агент має вільно перемикатися +між Codex і моделями інших провайдерів. Примусове runtime застосовується до кожного +вбудованого ходу для цього агента або сесії. Якщо ви виберете модель Anthropic, коли +це runtime примусово встановлено, OpenClaw однаково спробує каркас Codex і завершиться помилкою, +а не тихо маршрутизує цей хід через PI. Натомість використовуйте одну з таких форм: - Розмістіть Codex на окремому агенті з `embeddedHarness.runtime: "codex"`. -- Залиште типовий агент із `runtime: "auto"` і fallback на Pi для звичайного змішаного +- Залиште для стандартного агента `runtime: "auto"` і резервний перехід на PI для звичайного змішаного використання провайдерів. -- Використовуйте застарілі посилання `codex/*` лише для сумісності. Нові конфігурації мають віддавати перевагу - `openai/*` плюс явній політиці середовища виконання Codex. +- Використовуйте застарілі посилання `codex/*` лише для сумісності. Нові конфігурації мають надавати перевагу + `openai/*` плюс явна політика runtime Codex. -Наприклад, така конфігурація залишає типовий агент зі звичайним автоматичним вибором і +Наприклад, ця конфігурація залишає стандартного агента на звичайному автоматичному виборі та додає окремого агента Codex: ```json5 @@ -218,17 +220,17 @@ OpenClaw працює лише з поверхнею протоколу, з як } ``` -З такою формою: +За такої форми: -- Типовий агент `main` використовує звичайний шлях провайдера та fallback сумісності Pi. -- Агент `codex` використовує harness Codex app-server. -- Якщо для агента `codex` Codex відсутній або не підтримується, хід - завершується помилкою замість тихого використання Pi. +- Стандартний агент `main` використовує звичайний шлях провайдера та резервну сумісність PI. +- Агент `codex` використовує каркас app-server Codex. +- Якщо Codex відсутній або не підтримується для агента `codex`, хід завершується помилкою + замість тихого використання PI. ## Розгортання лише з Codex -Примусово задайте harness Codex, коли потрібно гарантувати, що кожен вбудований хід агента -використовує Codex. Явні runtimes Plugin за замовчуванням не мають fallback на Pi, тому +Примусово виберіть каркас Codex, коли потрібно довести, що кожен вбудований хід агента +використовує Codex. Явні runtime Plugin за замовчуванням не використовують резервний перехід на PI, тому `fallback: "none"` необов’язковий, але часто корисний як документація: ```json5 @@ -245,21 +247,21 @@ OpenClaw працює лише з поверхнею протоколу, з як } ``` -Перевизначення через середовище: +Перевизначення через змінну середовища: ```bash OPENCLAW_AGENT_RUNTIME=codex openclaw gateway run ``` -Коли Codex примусово задано, OpenClaw завершується помилкою на ранньому етапі, якщо Plugin Codex вимкнено, -app-server надто старий або app-server не вдається запустити. Установлюйте -`OPENCLAW_AGENT_HARNESS_FALLBACK=pi` лише якщо ви свідомо хочете, щоб Pi обробляв -відсутній вибір harness. +За примусового використання Codex OpenClaw рано завершується помилкою, якщо Plugin Codex вимкнено, +app-server надто старий або app-server не може запуститися. Установлюйте +`OPENCLAW_AGENT_HARNESS_FALLBACK=pi` лише якщо ви свідомо хочете, щоб PI обробляв +випадки відсутності вибору каркаса. ## Codex для окремого агента -Ви можете зробити одного агента лише для Codex, тоді як типовий агент зберігатиме звичайний -автоматичний вибір: +Ви можете зробити один агент лише для Codex, тоді як стандартний агент зберігатиме звичайний +автовибір: ```json5 { @@ -291,9 +293,9 @@ app-server надто старий або app-server не вдається за ``` Використовуйте звичайні команди сесії, щоб перемикати агентів і моделі. `/new` створює нову -сесію OpenClaw, а harness Codex за потреби створює або відновлює свій sidecar app-server -thread. `/reset` очищує прив’язку сесії OpenClaw для цього thread -і дає змогу наступному ходу знову визначити harness із поточної конфігурації. +сесію OpenClaw, а каркас Codex створює або відновлює свій бічний потік app-server +за потреби. `/reset` очищає прив’язку сесії OpenClaw для цього потоку +і дає змогу наступному ходу знову визначити каркас із поточної конфігурації. ## Виявлення моделей @@ -324,8 +326,8 @@ thread. `/reset` очищує прив’язку сесії OpenClaw для ц } ``` -Вимкніть виявлення, якщо хочете, щоб під час запуску не виконувалася перевірка Codex і використовувався -резервний каталог: +Вимкніть виявлення, якщо хочете, щоб під час запуску не виконувалося зондування Codex і використовувався +лише резервний каталог: ```json5 { @@ -344,21 +346,27 @@ thread. `/reset` очищує прив’язку сесії OpenClaw для ц } ``` -## З’єднання app-server і політика +## Підключення до app-server і політика -За замовчуванням Plugin запускає Codex локально так: +За замовчуванням Plugin локально запускає керований OpenClaw двійковий файл Codex командою: ```bash codex app-server --listen stdio:// ``` -За замовчуванням OpenClaw запускає локальні сесії harness Codex у режимі YOLO: +Керований двійковий файл оголошено як залежність середовища виконання комплектного Plugin і підготовлено +разом з рештою залежностей Plugin `codex`. Це прив’язує версію app-server +до комплектного Plugin, а не до якогось окремого Codex CLI, +який випадково встановлено локально. Установлюйте `appServer.command` лише коли +свідомо хочете запускати інший виконуваний файл. + +За замовчуванням OpenClaw запускає локальні сесії каркаса Codex у режимі YOLO: `approvalPolicy: "never"`, `approvalsReviewer: "user"` і `sandbox: "danger-full-access"`. Це позиція довіреного локального оператора, яка використовується -для автономних Heartbeat: Codex може використовувати shell і мережеві інструменти без -зупинок на нативних запитах підтвердження, на які нікому відповісти. +для автономних Heartbeat: Codex може використовувати shell та мережеві інструменти без +зупинки на нативних запитах на погодження, на які нікому відповісти. -Щоб увімкнути підтвердження Codex, переглянуті guardian, задайте `appServer.mode: +Щоб увімкнути погодження Codex, перевірені guardian, установіть `appServer.mode: "guardian"`: ```json5 @@ -379,21 +387,21 @@ codex app-server --listen stdio:// } ``` -Режим Guardian використовує нативний шлях автоперевірки погоджень Codex. Коли Codex просить -вийти із sandbox, писати за межами workspace або додати дозволи на кшталт мережевого -доступу, Codex спрямовує цей запит на погодження до нативного рецензента замість +Режим Guardian використовує нативний шлях автоматичної перевірки погоджень Codex. Коли Codex просить +вийти з пісочниці, записувати поза робочим простором або додати дозволи, як-от мережевий +доступ, Codex спрямовує цей запит на погодження до нативного рецензента, а не до людського запиту. Рецензент застосовує модель ризиків Codex і схвалює або відхиляє -конкретний запит. Використовуйте Guardian, коли вам потрібні жорсткіші запобіжники, ніж у режимі YOLO, +конкретний запит. Використовуйте Guardian, коли вам потрібно більше захисних механізмів, ніж у режимі YOLO, але при цьому потрібно, щоб агенти без нагляду могли просуватися далі. -preset `guardian` розгортається в `approvalPolicy: "on-request"`, +Попередньо налаштований варіант `guardian` розгортається в `approvalPolicy: "on-request"`, `approvalsReviewer: "auto_review"` і `sandbox: "workspace-write"`. -Окремі поля політики, як і раніше, перевизначають `mode`, тому розширені розгортання можуть поєднувати -цей preset із явними виборами. Старе значення рецензента `guardian_subagent` -досі приймається як псевдонім сумісності, але нові конфігурації мають використовувати +Окремі поля політики, як і раніше, мають пріоритет над `mode`, тому розширені розгортання можуть поєднувати +цей preset з явними значеннями. Старіше значення рецензента `guardian_subagent` +усе ще приймається як псевдонім сумісності, але нові конфігурації мають використовувати `auto_review`. -Для вже запущеного app-server використовуйте транспорт WebSocket: +Для app-server, який уже запущено, використовуйте транспорт WebSocket: ```json5 { @@ -417,23 +425,22 @@ preset `guardian` розгортається в `approvalPolicy: "on-request"`, Підтримувані поля `appServer`: -| Поле | Типове значення | Значення | +| Field | Default | Meaning | | ------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------ | -| `transport` | `"stdio"` | `"stdio"` запускає Codex; `"websocket"` підключається до `url`. | -| `command` | `"codex"` | Виконуваний файл для транспорту stdio. | -| `args` | `["app-server", "--listen", "stdio://"]` | Аргументи для транспорту stdio. | -| `url` | не задано | URL WebSocket app-server. | -| `authToken` | не задано | Bearer-токен для транспорту WebSocket. | -| `headers` | `{}` | Додаткові заголовки WebSocket. | -| `requestTimeoutMs` | `60000` | Час очікування для викликів control-plane app-server. | -| `mode` | `"yolo"` | preset для виконання в режимі YOLO або з погодженнями, перевіреними Guardian. | -| `approvalPolicy` | `"never"` | Нативна політика погоджень Codex, що надсилається під час start/resume/turn thread. | -| `sandbox` | `"danger-full-access"` | Нативний режим sandbox Codex, що надсилається під час start/resume thread. | -| `approvalsReviewer` | `"user"` | Використовуйте `"auto_review"`, щоб Codex перевіряв нативні запити на погодження. `guardian_subagent` лишається застарілим псевдонімом. | -| `serviceTier` | не задано | Необов’язковий рівень сервісу Codex app-server: `"fast"`, `"flex"` або `null`. Недійсні застарілі значення ігноруються. | +| `transport` | `"stdio"` | `"stdio"` запускає Codex; `"websocket"` підключається до `url`. | +| `command` | керований двійковий файл Codex | Виконуваний файл для транспорту stdio. Залиште без значення, щоб використовувати керований двійковий файл; установлюйте лише для явного перевизначення. | +| `args` | `["app-server", "--listen", "stdio://"]` | Аргументи для транспорту stdio. | +| `url` | не встановлено | URL WebSocket app-server. | +| `authToken` | не встановлено | Bearer-токен для транспорту WebSocket. | +| `headers` | `{}` | Додаткові заголовки WebSocket. | +| `requestTimeoutMs` | `60000` | Тайм-аут для викликів control-plane app-server. | +| `mode` | `"yolo"` | Preset для виконання YOLO або guardian-reviewed. | +| `approvalPolicy` | `"never"` | Нативна політика погоджень Codex, що надсилається під час старту/відновлення/ходу потоку. | +| `sandbox` | `"danger-full-access"` | Нативний режим пісочниці Codex, що надсилається під час старту/відновлення потоку. | +| `approvalsReviewer` | `"user"` | Використовуйте `"auto_review"`, щоб дозволити Codex перевіряти нативні запити на погодження. `guardian_subagent` лишається застарілим псевдонімом. | +| `serviceTier` | не встановлено | Необов’язковий рівень сервісу app-server Codex: `"fast"`, `"flex"` або `null`. Некоректні застарілі значення ігноруються. | -Старі змінні середовища й далі працюють як резервні варіанти для локального тестування, коли -відповідне поле конфігурації не задано: +Перевизначення через змінні середовища, як і раніше, доступні для локального тестування: - `OPENCLAW_CODEX_APP_SERVER_BIN` - `OPENCLAW_CODEX_APP_SERVER_ARGS` @@ -441,15 +448,18 @@ preset `guardian` розгортається в `approvalPolicy: "on-request"`, - `OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY` - `OPENCLAW_CODEX_APP_SERVER_SANDBOX` -`OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1` було вилучено. Натомість використовуйте +`OPENCLAW_CODEX_APP_SERVER_BIN` обходить керований двійковий файл, коли +`appServer.command` не встановлено. + +`OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1` було видалено. Натомість використовуйте `plugins.entries.codex.config.appServer.mode: "guardian"` або -`OPENCLAW_CODEX_APP_SERVER_MODE=guardian` для разового локального тестування. Для -відтворюваних розгортань перевага надається конфігурації, оскільки вона зберігає поведінку Plugin -у тому самому перевіреному файлі, що й решта налаштувань harness Codex. +`OPENCLAW_CODEX_APP_SERVER_MODE=guardian` для разового локального тестування. Конфігурація +бажаніша для відтворюваних розгортань, оскільки зберігає поведінку Plugin у тому +самому перевіреному файлі, що й решту налаштувань каркаса Codex. ## Поширені рецепти -Локальний Codex із типовим транспортом stdio: +Локальний Codex зі стандартним транспортом stdio: ```json5 { @@ -463,7 +473,7 @@ preset `guardian` розгортається в `approvalPolicy: "on-request"`, } ``` -Перевірка harness лише з Codex: +Перевірка каркаса лише з Codex: ```json5 { @@ -531,144 +541,143 @@ preset `guardian` розгортається в `approvalPolicy: "on-request"`, ``` Перемикання моделей залишається під контролем OpenClaw. Коли сесію OpenClaw приєднано -до наявного thread Codex, наступний хід знову надсилає до -app-server поточну вибрану модель OpenAI, провайдера, політику погоджень, sandbox і -рівень сервісу. Перемикання з `openai/gpt-5.5` на `openai/gpt-5.2` зберігає -прив’язку до thread, але просить Codex продовжити з новою вибраною моделлю. +до наявного потоку Codex, наступний хід знову надсилає в +app-server поточні вибрані модель OpenAI, провайдера, політику погоджень, пісочницю та рівень сервісу. +Перемикання з `openai/gpt-5.5` на `openai/gpt-5.2` зберігає +прив’язку до потоку, але просить Codex продовжити з новою вибраною моделлю. ## Команда Codex Комплектний Plugin реєструє `/codex` як авторизовану slash-команду. Вона є -загальною і працює в будь-якому каналі, що підтримує текстові команди OpenClaw. +загальною і працює в будь-якому каналі, який підтримує текстові команди OpenClaw. Поширені форми: -- `/codex status` показує живе підключення до app-server, моделі, обліковий запис, ліміти швидкості, сервери MCP і Skills. -- `/codex models` перелічує живі моделі Codex app-server. -- `/codex threads [filter]` перелічує нещодавні threads Codex. -- `/codex resume ` приєднує поточну сесію OpenClaw до наявного thread Codex. -- `/codex compact` просить Codex app-server виконати Compaction приєднаного thread. -- `/codex review` запускає нативну перевірку Codex для приєднаного thread. +- `/codex status` показує живе підключення до app-server, моделі, обліковий запис, ліміти швидкості, MCP-сервери та skills. +- `/codex models` перелічує моделі живого Codex app-server. +- `/codex threads [filter]` перелічує нещодавні потоки Codex. +- `/codex resume ` приєднує поточну сесію OpenClaw до наявного потоку Codex. +- `/codex compact` просить Codex app-server виконати Compaction приєднаного потоку. +- `/codex review` запускає нативну перевірку Codex для приєднаного потоку. - `/codex account` показує стан облікового запису та лімітів швидкості. -- `/codex mcp` перелічує стан серверів MCP у Codex app-server. -- `/codex skills` перелічує Skills у Codex app-server. +- `/codex mcp` перелічує стан MCP-серверів Codex app-server. +- `/codex skills` перелічує skills Codex app-server. -`/codex resume` записує той самий sidecar-файл прив’язки, який harness використовує для -звичайних ходів. Під час наступного повідомлення OpenClaw відновлює цей thread Codex, передає -поточну вибрану модель OpenClaw до app-server і зберігає увімкнену -розширену історію. +`/codex resume` записує той самий файл бічної прив’язки, який каркас використовує для +звичайних ходів. У наступному повідомленні OpenClaw відновлює цей потік Codex, передає +поточну вибрану модель OpenClaw в app-server і зберігає +увімкнену розширену історію. -Поверхня команд вимагає Codex app-server `0.125.0` або новішого. Окремі +Поверхня команд вимагає Codex app-server `0.125.0` або новішої версії. Окремі методи керування позначаються як `unsupported by this Codex app-server`, якщо -майбутній або кастомний app-server не надає цей JSON-RPC-метод. +майбутній або нестандартний app-server не надає цей метод JSON-RPC. ## Межі хуків -harness Codex має три шари хуків: +Каркас Codex має три шари хуків: -| Шар | Власник | Призначення | +| Layer | Owner | Purpose | | ------------------------------------- | ------------------------ | ------------------------------------------------------------------- | -| Хуки Plugin OpenClaw | OpenClaw | Сумісність продукту/Plugin між harness Pi і Codex. | -| Middleware розширення Codex app-server | Комплектні plugins OpenClaw | Поведінка адаптера для кожного ходу навколо динамічних інструментів OpenClaw. | -| Нативні хуки Codex | Codex | Низькорівневий життєвий цикл Codex і політика нативних інструментів із конфігурації Codex. | +| Хуки Plugin OpenClaw | OpenClaw | Сумісність продукту/Plugin між каркасами PI і Codex. | +| Проміжне ПЗ розширення Codex app-server | Комплектні Plugins OpenClaw | Поведінка адаптера навколо динамічних інструментів OpenClaw для кожного ходу. | +| Нативні хуки Codex | Codex | Низькорівневий життєвий цикл Codex і нативна політика інструментів із конфігурації Codex. | -OpenClaw не використовує файлові `hooks.json` Codex на рівні проєкту або глобальному рівні для маршрутизації -поведінки Plugin OpenClaw. Для підтримуваного мосту нативних інструментів і дозволів -OpenClaw впроваджує для кожного thread конфігурацію Codex для `PreToolUse`, `PostToolUse` і +OpenClaw не використовує файли `hooks.json` Codex на рівні проєкту або глобальному рівні для маршрутизації +поведінки Plugin OpenClaw. Для підтримуваного нативного мосту інструментів і дозволів +OpenClaw впроваджує конфігурацію Codex для кожного потоку для `PreToolUse`, `PostToolUse` і `PermissionRequest`. Інші хуки Codex, такі як `SessionStart`, -`UserPromptSubmit` і `Stop`, залишаються елементами керування на рівні Codex; вони не -експонуються як хуки Plugin OpenClaw у контракті v1. +`UserPromptSubmit` і `Stop`, залишаються елементами керування рівня Codex; вони не відкриті +як хуки Plugin OpenClaw у контракті v1. -Для динамічних інструментів OpenClaw сам OpenClaw виконує інструмент після того, як Codex запитує -виклик, тому OpenClaw запускає поведінку Plugin і middleware, якою він володіє, в -адаптері harness. Для нативних інструментів Codex канонічний запис інструмента належить Codex. -OpenClaw може віддзеркалювати вибрані події, але не може переписувати нативний thread Codex, -якщо Codex не надає цю операцію через app-server або callbacks нативних хуків. +Для динамічних інструментів OpenClaw OpenClaw виконує інструмент після того, як Codex запитує +виклик, тому OpenClaw запускає поведінку Plugin і middleware, якою він володіє, у +адаптері каркаса. Для нативних інструментів Codex Codex володіє канонічним записом інструмента. +OpenClaw може дзеркалити вибрані події, але не може переписувати нативний потік Codex, +якщо Codex не надає цю операцію через app-server або зворотні виклики нативних хуків. -Проєкції Compaction і життєвого циклу LLM надходять зі сповіщень Codex app-server -та стану адаптера OpenClaw, а не з команд нативних хуків Codex. +Проєкції Compaction і життєвого циклу LLM надходять із сповіщень Codex app-server +і стану адаптера OpenClaw, а не з команд нативних хуків Codex. Події OpenClaw `before_compaction`, `after_compaction`, `llm_input` і -`llm_output` — це спостереження на рівні адаптера, а не побайтові захоплення -внутрішнього запиту Codex або payload Compaction. +`llm_output` є спостереженнями на рівні адаптера, а не побайтними знімками +внутрішнього запиту Codex або корисних даних Compaction. -Нативні сповіщення Codex app-server `hook/started` і `hook/completed` +Нативні сповіщення app-server Codex `hook/started` і `hook/completed` проєктуються як події агента `codex_app_server.hook` для траєкторії та налагодження. Вони не викликають хуки Plugin OpenClaw. ## Контракт підтримки V1 -Режим Codex — це не Pi з іншим викликом моделі в основі. Codex керує більшою частиною +Режим Codex — це не PI з іншим викликом моделі під капотом. Codex контролює більшу частину нативного циклу моделі, а OpenClaw адаптує свої поверхні Plugin і сесій -навколо цього кордону. +навколо цієї межі. Підтримується в runtime Codex v1: -| Поверхня | Підтримка | Чому | -| --------------------------------------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Цикл моделі OpenAI через Codex | Підтримується | Codex app-server керує ходом OpenAI, нативним відновленням thread і нативним продовженням інструментів. | -| Маршрутизація і доставка каналів OpenClaw | Підтримується | Telegram, Discord, Slack, WhatsApp, iMessage та інші канали залишаються поза runtime моделі. | -| Динамічні інструменти OpenClaw | Підтримується | Codex просить OpenClaw виконати ці інструменти, тому OpenClaw залишається в шляху виконання. | -| Plugins підказок і контексту | Підтримується | OpenClaw будує накладки підказок і проєктує контекст у хід Codex перед запуском або відновленням thread. | -| Життєвий цикл рушія контексту | Підтримується | Збирання, поглинання або обслуговування після ходу, а також координація Compaction рушія контексту виконуються для ходів Codex. | -| Хуки динамічних інструментів | Підтримується | `before_tool_call`, `after_tool_call` і middleware результатів інструментів виконуються навколо динамічних інструментів, якими володіє OpenClaw. | -| Хуки життєвого циклу | Підтримуються як спостереження адаптера | `llm_input`, `llm_output`, `agent_end`, `before_compaction` і `after_compaction` спрацьовують із коректними payload для режиму Codex. | -| Нативне блокування або спостереження shell, patch і MCP | Підтримується через relay нативних хуків | `PreToolUse` і `PostToolUse` Codex передаються далі для зафіксованих поверхонь нативних інструментів, включно з payload MCP у Codex app-server `0.125.0` або новішому. Блокування підтримується; переписування аргументів — ні. | -| Нативна політика дозволів | Підтримується через relay нативних хуків | `PermissionRequest` Codex може маршрутизуватися через політику OpenClaw там, де runtime це надає. Якщо OpenClaw не повертає рішення, Codex продовжує своїм звичайним шляхом погодження guardian або користувача. | -| Захоплення траєкторії app-server | Підтримується | OpenClaw записує запит, який він надіслав до app-server, і сповіщення, які він отримує від app-server. | +| Surface | Support | Why | +| --------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Цикл моделі OpenAI через Codex | Підтримується | Codex app-server керує ходом OpenAI, нативним відновленням потоку та нативним продовженням інструментів. | +| Маршрутизація та доставка каналів OpenClaw | Підтримується | Telegram, Discord, Slack, WhatsApp, iMessage та інші канали залишаються поза runtime моделі. | +| Динамічні інструменти OpenClaw | Підтримується | Codex просить OpenClaw виконати ці інструменти, тому OpenClaw залишається в шляху виконання. | +| Plugins prompt і контексту | Підтримується | OpenClaw будує накладки prompt і проєктує контекст у хід Codex перед запуском або відновленням потоку. | +| Життєвий цикл механізму контексту | Підтримується | Збирання, ingest або обслуговування після ходу, а також координація Compaction механізму контексту виконуються для ходів Codex. | +| Хуки динамічних інструментів | Підтримується | `before_tool_call`, `after_tool_call` і middleware результатів інструментів виконуються навколо динамічних інструментів, що належать OpenClaw. | +| Хуки життєвого циклу | Підтримуються як спостереження адаптера | `llm_input`, `llm_output`, `agent_end`, `before_compaction` і `after_compaction` спрацьовують із коректними payload у режимі Codex. | +| Нативні shell, patch і MCP блокують або спостерігають | Підтримується через ретрансляцію нативних хуків | Codex `PreToolUse` і `PostToolUse` ретранслюються для зафіксованих поверхонь нативних інструментів, зокрема payload MCP у Codex app-server `0.125.0` або новішому. Блокування підтримується; переписування аргументів — ні. | +| Нативна політика дозволів | Підтримується через ретрансляцію нативних хуків | Codex `PermissionRequest` може бути маршрутизований через політику OpenClaw там, де runtime це підтримує. Якщо OpenClaw не повертає рішення, Codex продовжує через свій звичайний шлях погодження guardian або користувача. | +| Захоплення траєкторії app-server | Підтримується | OpenClaw записує запит, який він надіслав до app-server, і сповіщення, які отримує від app-server. | Не підтримується в runtime Codex v1: -| Поверхня | Межа v1 | Майбутній шлях | -| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------- | -| Мутація аргументів нативних інструментів | Нативні pre-tool хуки Codex можуть блокувати, але OpenClaw не переписує аргументи нативних інструментів Codex. | Потребує підтримки хуків/схеми Codex для заміни вхідних даних інструмента. | -| Редагована історія нативного транскрипту Codex | Codex володіє канонічною історією нативного thread. OpenClaw володіє дзеркалом і може проєктувати майбутній контекст, але не повинен мутувати непідтримувані внутрішні елементи. | Додати явні API Codex app-server, якщо потрібна хірургія нативного thread. | -| `tool_result_persist` для записів нативних інструментів Codex | Цей hook трансформує записи транскрипту, якими володіє OpenClaw, а не записи нативних інструментів Codex. | Можна віддзеркалювати трансформовані записи, але канонічне переписування потребує підтримки Codex. | -| Розширені метадані нативної Compaction | OpenClaw спостерігає початок і завершення Compaction, але не отримує стабільний список збереженого/відкинутого, дельту токенів або payload зведення. | Потрібні багатші події Compaction у Codex. | -| Втручання в Compaction | Поточні хуки Compaction OpenClaw у режимі Codex мають рівень сповіщень. | Додати pre/post хуки Compaction у Codex, якщо plugins потрібно забороняти або переписувати нативну Compaction. | -| Керування зупинкою або фінальною відповіддю | Codex має нативні stop-хуки, але OpenClaw не експонує керування фінальною відповіддю як контракт Plugin v1. | Майбутній opt-in primitive із захистом циклів і тайм-аутів. | -| Побайтове захоплення запиту до API моделі | OpenClaw може захоплювати запити і сповіщення app-server, але ядро Codex будує фінальний запит до OpenAI API внутрішньо. | Потрібна подія трасування запиту моделі Codex або debug API. | +| Surface | Межа v1 | Майбутній шлях | +| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| Мутація аргументів нативного інструмента | Нативні pre-tool хуки Codex можуть блокувати, але OpenClaw не переписує аргументи нативних інструментів Codex. | Потрібна підтримка хуків/схем Codex для заміни вхідних даних інструмента. | +| Редагована нативна історія транскрипту Codex | Codex володіє канонічною нативною історією потоку. OpenClaw володіє дзеркалом і може проєктувати майбутній контекст, але не повинен змінювати непідтримувані внутрішні структури. | Додати явні API Codex app-server, якщо потрібна нативна хірургія потоку. | +| `tool_result_persist` для записів нативних результатів інструментів Codex | Цей хук перетворює записи транскрипту, що належать OpenClaw, а не записи нативних інструментів Codex. | Можна було б дзеркалити перетворені записи, але канонічне переписування потребує підтримки Codex. | +| Розширені метадані нативної Compaction | OpenClaw спостерігає початок і завершення Compaction, але не отримує стабільного списку збережених/відкинутих записів, різниці токенів або payload підсумку. | Потрібні багатші події Compaction від Codex. | +| Втручання в Compaction | Поточні хуки Compaction OpenClaw у режимі Codex працюють на рівні сповіщень. | Додати pre/post хуки Compaction Codex, якщо Plugins мають блокувати або переписувати нативну Compaction. | +| Керування зупинкою або фінальною відповіддю | Codex має нативні stop hooks, але OpenClaw не відкриває керування фінальною відповіддю як контракт Plugin v1. | Майбутній opt-in примітив із захистом циклу й тайм-аутів. | +| Побайтне захоплення запиту до API моделі | OpenClaw може захоплювати запити й сповіщення app-server, але ядро Codex внутрішньо будує фінальний запит до OpenAI API. | Потрібна подія трасування запиту моделі Codex або API налагодження. | ## Інструменти, медіа та Compaction -harness Codex змінює лише низькорівневий виконавець вбудованого агента. +Каркас Codex змінює лише низькорівневий виконавець вбудованого агента. -OpenClaw, як і раніше, формує список інструментів і отримує результати динамічних інструментів від -harness. Текст, зображення, відео, музика, TTS, погодження і вихідні дані інструментів обміну повідомленнями -продовжують проходити звичайним шляхом доставки OpenClaw. +OpenClaw, як і раніше, будує список інструментів і отримує результати динамічних інструментів від +каркаса. Текст, зображення, відео, музика, TTS, погодження та вивід інструментів повідомлень +продовжують проходити через звичайний шлях доставки OpenClaw. -relay нативних хуків навмисно зроблений узагальненим, але контракт підтримки v1 -обмежений нативними шляхами інструментів і дозволів Codex, які тестує OpenClaw. У +Ретрансляція нативних хуків навмисно є загальною, але контракт підтримки v1 +обмежений шляхами нативних інструментів і дозволів Codex, які тестує OpenClaw. У runtime Codex це включає payload `PreToolUse`, `PostToolUse` і `PermissionRequest` для shell, patch і MCP. Не припускайте, що кожна майбутня -подія хуків Codex є поверхнею Plugin OpenClaw, доки контракт runtime -не назве її. +подія хуків Codex є поверхнею Plugin OpenClaw, доки контракт runtime прямо +її не назве. -Для `PermissionRequest` OpenClaw повертає явні рішення allow або deny -лише коли це визначає політика. Результат без рішення — це не allow. Codex -трактує це як відсутність рішення hook і переходить до власного шляху погодження guardian або користувача. +Для `PermissionRequest` OpenClaw повертає явні рішення дозволити або заборонити +лише тоді, коли це вирішує політика. Результат без рішення — це не дозвіл. Codex трактує це як +відсутність рішення хука і переходить до власного шляху погодження guardian або користувача. -Запити на погодження інструментів MCP Codex маршрутизуються через потік погодження -Plugin OpenClaw, коли Codex позначає `_meta.codex_approval_kind` як -`"mcp_tool_call"`. Запити `request_user_input` Codex надсилаються назад до -початкового чату, а наступне поставлене в чергу повідомлення-відповідь відповідає на цей нативний -запит сервера замість того, щоб спрямовуватися як додатковий контекст. Інші запити MCP -на elicitation як і раніше завершуються помилкою. +Запити на погодження інструментів MCP Codex маршрутизуються через потік погодження Plugin +OpenClaw, коли Codex позначає `_meta.codex_approval_kind` як +`"mcp_tool_call"`. Запити Codex `request_user_input` надсилаються назад до +початкового чату, а наступне повідомлення в черзі відповідає на цей нативний +запит сервера замість того, щоб використовуватися як додатковий контекст. Інші запити MCP усе ще завершуються помилкою без резервного варіанта. -Коли вибрана модель використовує harness Codex, нативна Compaction thread делегується +Коли вибрана модель використовує каркас Codex, нативна Compaction потоку делегується Codex app-server. OpenClaw зберігає дзеркало транскрипту для історії каналу, -пошуку, `/new`, `/reset` і майбутнього перемикання моделі або harness. Дзеркало -включає підказку користувача, фінальний текст асистента та полегшені записи міркувань або плану Codex, -коли їх випромінює app-server. Наразі OpenClaw записує лише сигнали -початку й завершення нативної Compaction. Він поки не надає -людинозрозуміле зведення Compaction або придатний до аудиту список того, які записи Codex +пошуку, `/new`, `/reset` і майбутнього перемикання моделі або каркаса. Дзеркало +містить prompt користувача, фінальний текст помічника та полегшені записи міркувань +або плану Codex, коли app-server їх надсилає. Наразі OpenClaw лише +записує сигнали початку та завершення нативної Compaction. Він ще не показує +людинозрозумілий підсумок Compaction або аудитований список того, які записи Codex зберіг після Compaction. -Оскільки Codex володіє канонічним нативним thread, `tool_result_persist` наразі -не переписує записи результатів нативних інструментів Codex. Він застосовується лише тоді, -коли OpenClaw записує результат інструмента в транскрипт сесії, яким володіє OpenClaw. +Оскільки Codex володіє канонічним нативним потоком, `tool_result_persist` наразі не +переписує записи нативних результатів інструментів Codex. Він застосовується лише тоді, коли +OpenClaw записує результат інструмента в транскрипт сесії, що належить OpenClaw. -Генерація медіа не потребує Pi. Генерація зображень, відео, музики, PDF, TTS і -розуміння медіа й далі використовують відповідні налаштування провайдера/моделі, такі як +Генерація медіа не потребує PI. Генерація зображень, відео, музики, PDF, TTS і +розуміння медіа, як і раніше, використовує відповідні налаштування провайдера/моделі, такі як `agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` і `messages.tts`. @@ -677,18 +686,18 @@ Codex app-server. OpenClaw зберігає дзеркало транскрип **Codex не з’являється як звичайний провайдер `/model`:** це очікувана поведінка для нових конфігурацій. Виберіть модель `openai/gpt-*` з `embeddedHarness.runtime: "codex"` (або застарілим посиланням `codex/*`), увімкніть -`plugins.entries.codex.enabled` і перевірте, чи `plugins.allow` не виключає +`plugins.entries.codex.enabled` і перевірте, чи не виключає `plugins.allow` `codex`. -**OpenClaw використовує Pi замість Codex:** `runtime: "auto"` усе ще може використовувати Pi як -backend сумісності, коли жоден harness Codex не бере виконання на себе. Установіть +**OpenClaw використовує PI замість Codex:** `runtime: "auto"` усе ще може використовувати PI як +бекенд сумісності, коли жоден каркас Codex не заявляє про цей запуск. Установіть `embeddedHarness.runtime: "codex"`, щоб примусово вибрати Codex під час тестування. Тепер -примусовий runtime Codex завершується помилкою замість fallback на Pi, якщо ви -явно не задасте `embeddedHarness.fallback: "pi"`. Щойно вибрано Codex app-server, -його збої проявляються безпосередньо без додаткової конфігурації fallback. +примусове runtime Codex завершується помилкою замість переходу до PI, якщо ви +явно не встановите `embeddedHarness.fallback: "pi"`. Щойно буде вибрано Codex app-server, +його помилки відображатимуться безпосередньо без додаткової конфігурації fallback. -**app-server відхиляється:** оновіть Codex, щоб handshake app-server -повідомляв версію `0.125.0` або новішу. Пререлізи тієї самої версії або версії +**app-server відхиляється:** оновіть Codex, щоб рукостискання app-server +повідомляло версію `0.125.0` або новішу. Пререлізи тієї самої версії або версії із суфіксами збірки, такі як `0.125.0-alpha.2` або `0.125.0+custom`, відхиляються, оскільки стабільний поріг протоколу `0.125.0` — це те, що тестує OpenClaw. @@ -696,21 +705,21 @@ backend сумісності, коли жоден harness Codex не бере в або вимкніть виявлення. **Транспорт WebSocket одразу завершується помилкою:** перевірте `appServer.url`, `authToken` -і що віддалений app-server використовує ту саму версію протоколу Codex app-server. +і те, що віддалений app-server використовує ту саму версію протоколу Codex app-server. -**Модель не Codex використовує Pi:** це очікувана поведінка, якщо ви не примусово задали +**Модель не Codex використовує PI:** це очікувано, якщо ви не примусово встановили `embeddedHarness.runtime: "codex"` для цього агента або не вибрали застаріле -посилання `codex/*`. Звичайні `openai/gpt-*` та інші посилання провайдерів залишаються на своєму нормальному -шляху провайдера в режимі `auto`. Якщо ви примусово задасте `runtime: "codex"`, кожен вбудований +посилання `codex/*`. Звичайні `openai/gpt-*` та інші посилання провайдерів залишаються на своєму звичайному +шляху провайдера в режимі `auto`. Якщо ви примусово встановите `runtime: "codex"`, кожен вбудований хід для цього агента має бути моделлю OpenAI, яку підтримує Codex. ## Пов’язане -- [Plugins harness агента](/uk/plugins/sdk-agent-harness) +- [Plugins каркаса агента](/uk/plugins/sdk-agent-harness) - [Середовища виконання агентів](/uk/concepts/agent-runtimes) - [Провайдери моделей](/uk/concepts/model-providers) - [Провайдер OpenAI](/uk/providers/openai) -- [Стан](/uk/cli/status) +- [Status](/uk/cli/status) - [Хуки Plugin](/uk/plugins/hooks) -- [Довідник із конфігурації](/uk/gateway/configuration-reference) +- [Довідник конфігурації](/uk/gateway/configuration-reference) - [Тестування](/uk/help/testing-live#live-codex-app-server-harness-smoke)