diff --git a/docs/uk/plugins/codex-harness.md b/docs/uk/plugins/codex-harness.md index ed11b9d2a..329a73e2b 100644 --- a/docs/uk/plugins/codex-harness.md +++ b/docs/uk/plugins/codex-harness.md @@ -1,203 +1,202 @@ --- read_when: - - Ви хочете використовувати вбудований каркас сервера застосунку Codex - - Вам потрібні приклади конфігурації середовища Codex - - Ви хочете, щоб розгортання лише з Codex завершувалися помилкою, а не переходили на PI як резервний варіант -summary: Запускайте ходи вбудованого агента OpenClaw через комплектний каркас app-server Codex -title: Середовище Codex + - Ви хочете використовувати вбудовану обгортку app-server Codex + - Вам потрібні приклади конфігурації обв’язки Codex + - Ви хочете, щоб розгортання лише з Codex завершувалися помилкою замість резервного переходу до Pi +summary: Запускайте ходи вбудованого агента OpenClaw через комплектний стенд Codex app-server +title: Обв’язка Codex x-i18n: - generated_at: "2026-04-28T22:44:36Z" + generated_at: "2026-04-29T17:18:18Z" model: gpt-5.5 provider: openai - source_hash: ab5e03f02121aee4fd328382dfdfd9bfce6a87158758a25b980e7208b22855bd + source_hash: 4799d5d5c81d431e47e1f0af7fb408320c577b0a2900833e0b244e5987734f1c source_path: plugins/codex-harness.md workflow: 16 --- Пакетний Plugin `codex` дає OpenClaw змогу запускати вбудовані ходи агента через -app-server Codex замість вбудованого harness PI. +Codex app-server замість вбудованої обв’язки PI. -Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: -виявленням моделей, нативним відновленням гілки, нативним Compaction і виконанням -app-server. OpenClaw і надалі керує каналами чату, файлами сесій, вибором моделі, -інструментами, схваленнями, доставленням медіа та видимим дзеркалом стенограми. +Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: виявленням +моделей, нативним відновленням потоків, нативною Compaction і виконанням через app-server. +OpenClaw і далі відповідає за канали чату, файли сесій, вибір моделі, інструменти, +схвалення, доставлення медіа та видиме дзеркало транскрипту. Якщо ви намагаєтеся зорієнтуватися, почніть з -[Середовища виконання агентів](/uk/concepts/agent-runtimes). Коротка версія: -`openai/gpt-5.5` — це ref моделі, `codex` — runtime, а Telegram, -Discord, Slack або інший канал лишається поверхнею комунікації. +[Середовищ виконання агентів](/uk/concepts/agent-runtimes). Коротко: +`openai/gpt-5.5` — це посилання на модель, `codex` — середовище виконання, а Telegram, +Discord, Slack або інший канал залишається поверхнею комунікації. ## Що змінює цей Plugin Пакетний Plugin `codex` додає кілька окремих можливостей: -| Можливість | Як її використовувати | Що вона робить | -| -------------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------- | -| Нативний вбудований runtime | `agentRuntime.id: "codex"` | Запускає вбудовані ходи агента OpenClaw через app-server Codex. | -| Нативні команди керування чатом | `/codex bind`, `/codex resume`, `/codex steer`, ... | Прив’язує гілки app-server Codex до розмови в месенджері та керує ними. | -| Провайдер/каталог app-server Codex | внутрішні механізми `codex`, доступні через harness | Дає runtime змогу виявляти й перевіряти моделі app-server. | -| Шлях розуміння медіа Codex | шляхи сумісності моделей зображень `codex/*` | Запускає обмежені ходи app-server Codex для підтримуваних моделей розуміння зображень. | -| Нативний ретранслятор хуків | хуки Plugin навколо нативних подій Codex | Дає OpenClaw змогу спостерігати за підтримуваними нативними подіями інструментів/фіналізації Codex або блокувати їх. | +| Можливість | Як ви її використовуєте | Що вона робить | +| -------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------- | +| Нативне вбудоване середовище виконання | `agentRuntime.id: "codex"` | Запускає вбудовані ходи агента OpenClaw через Codex app-server. | +| Нативні команди керування чатом | `/codex bind`, `/codex resume`, `/codex steer`, ... | Прив’язує потоки Codex app-server до розмови в месенджері й керує ними. | +| Провайдер/каталог Codex app-server | внутрішні механізми `codex`, доступні через обв’язку | Дає середовищу виконання змогу виявляти й перевіряти моделі app-server. | +| Шлях розуміння медіа Codex | шляхи сумісності моделей зображень `codex/*` | Запускає обмежені ходи Codex app-server для підтримуваних моделей розуміння зображень. | +| Нативна передача хуків | Хуки Plugin навколо нативних подій Codex | Дає OpenClaw змогу спостерігати/блокувати підтримувані нативні події інструментів/фіналізації Codex. | Увімкнення Plugin робить ці можливості доступними. Воно **не**: - починає використовувати Codex для кожної моделі OpenAI -- перетворює refs моделей `openai-codex/*` на нативний runtime +- перетворює посилання на моделі `openai-codex/*` у нативне середовище виконання - робить ACP/acpx типовим шляхом Codex -- гаряче перемикає наявні сесії, які вже записали runtime PI -- замінює доставлення каналів OpenClaw, файли сесій, зберігання auth-profile або +- гаряче перемикає наявні сесії, у яких уже записано середовище виконання PI +- замінює доставлення каналів OpenClaw, файли сесій, сховище auth-профілів або маршрутизацію повідомлень -Той самий Plugin також відповідає за нативну поверхню команд керування чатом `/codex`. Якщо -Plugin увімкнено й користувач просить прив’язати, відновити, спрямувати, зупинити або перевірити -гілки Codex із чату, агенти мають віддавати перевагу `/codex ...` над ACP. ACP лишається -явним fallback, коли користувач просить ACP/acpx або тестує адаптер ACP +Цей самий Plugin також відповідає за нативну поверхню команд керування чатом `/codex`. Якщо +Plugin увімкнено і користувач просить прив’язати, відновити, спрямувати, зупинити або переглянути +потоки Codex із чату, агенти мають надавати перевагу `/codex ...` замість ACP. ACP залишається +явним запасним варіантом, коли користувач просить ACP/acpx або тестує адаптер ACP Codex. Нативні ходи Codex зберігають хуки Plugin OpenClaw як публічний шар сумісності. -Це in-process хуки OpenClaw, а не командні хуки Codex `hooks.json`: +Це внутрішньопроцесні хуки OpenClaw, а не командні хуки Codex `hooks.json`: - `before_prompt_build` - `before_compaction`, `after_compaction` - `llm_input`, `llm_output` - `before_tool_call`, `after_tool_call` -- `before_message_write` для дзеркальних записів стенограми -- `before_agent_finalize` через ретранслятор `Stop` Codex +- `before_message_write` для дзеркальних записів транскрипту +- `before_agent_finalize` через передачу Codex `Stop` - `agent_end` -Plugins також можуть реєструвати runtime-нейтральне middleware результатів інструментів, щоб переписувати -динамічні результати інструментів OpenClaw після виконання інструмента OpenClaw і перед тим, як -результат повертається до Codex. Це окремо від публічного -хука Plugin `tool_result_persist`, який трансформує записи результатів інструментів у стенограмі, +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 типово вимкнено. Нові конфіги мають зберігати refs моделей OpenAI +Обв’язку типово вимкнено. Нові конфігурації мають зберігати посилання на моделі OpenAI канонічними як `openai/gpt-*` і явно примусово задавати -`agentRuntime.id: "codex"` або `OPENCLAW_AGENT_RUNTIME=codex`, коли їм -потрібне нативне виконання app-server. Застарілі refs моделей `codex/*` усе ще автоматично вибирають -harness для сумісності, але runtime-backed застарілі префікси провайдерів +`agentRuntime.id: "codex"` або `OPENCLAW_AGENT_RUNTIME=codex`, коли вони +потребують нативного виконання через app-server. Застарілі посилання на моделі `codex/*` і далі автоматично вибирають +обв’язку для сумісності, але застарілі префікси провайдера, підтримані середовищем виконання, не показуються як звичайні варіанти моделі/провайдера. Якщо Plugin `codex` увімкнено, але основна модель усе ще -`openai-codex/*`, `openclaw doctor` попереджає замість того, щоб змінювати маршрут. Це -навмисно: `openai-codex/*` лишається шляхом OAuth/підписки Codex через PI, а -нативне виконання app-server лишається явним вибором runtime. +`openai-codex/*`, `openclaw doctor` попереджає замість зміни маршруту. Це +навмисно: `openai-codex/*` залишається шляхом OAuth/підписки PI Codex, а +нативне виконання через app-server залишається явним вибором середовища виконання. -## Мапа маршрутів +## Карта маршрутів -Скористайтеся цією таблицею перед зміною конфігу: +Використовуйте цю таблицю перед зміною конфігурації: -| Бажана поведінка | Ref моделі | Конфіг runtime | Вимога до Plugin | Очікувана мітка статусу | -| ------------------------------------------- | -------------------------- | -------------------------------------- | --------------------------- | ------------------------------ | -| OpenAI API через звичайний runner OpenClaw | `openai/gpt-*` | опущено або `runtime: "pi"` | Провайдер OpenAI | `Runtime: OpenClaw Pi Default` | -| OAuth/підписка Codex через PI | `openai-codex/gpt-*` | опущено або `runtime: "pi"` | Провайдер OpenAI Codex OAuth | `Runtime: OpenClaw Pi Default` | -| Нативні вбудовані ходи app-server Codex | `openai/gpt-*` | `agentRuntime.id: "codex"` | Plugin `codex` | `Runtime: OpenAI Codex` | -| Змішані провайдери з консервативним auto-режимом | provider-specific refs | `agentRuntime.id: "auto"` | Необов’язкові runtimes Plugin | Залежить від вибраного runtime | -| Явна сесія адаптера ACP Codex | Залежить від prompt/model ACP | `sessions_spawn` з `runtime: "acp"` | справний backend `acpx` | Статус задачі/сесії ACP | +| Бажана поведінка | Посилання на модель | Конфігурація середовища виконання | Вимога до Plugin | Очікувана мітка статусу | +| ------------------------------------------- | -------------------------- | ---------------------------------------- | ---------------------------- | ------------------------------- | +| OpenAI API через звичайний runner OpenClaw | `openai/gpt-*` | пропущено або `runtime: "pi"` | Провайдер OpenAI | `Runtime: OpenClaw Pi Default` | +| OAuth/підписка Codex через PI | `openai-codex/gpt-*` | пропущено або `runtime: "pi"` | Провайдер OpenAI Codex OAuth | `Runtime: OpenClaw Pi Default` | +| Нативні вбудовані ходи Codex app-server | `openai/gpt-*` | `agentRuntime.id: "codex"` | Plugin `codex` | `Runtime: OpenAI Codex` | +| Змішані провайдери з консервативним автоматичним режимом | посилання, специфічні для провайдера | `agentRuntime.id: "auto"` | Необов’язкові середовища виконання Plugin | Залежить від вибраного середовища виконання | +| Явна сесія адаптера Codex ACP | залежить від prompt/model ACP | `sessions_spawn` з `runtime: "acp"` | справний backend `acpx` | Статус завдання/сесії ACP | -Важливий поділ — провайдер проти runtime: +Важливий поділ — провайдер проти середовища виконання: -- `openai-codex/*` відповідає на питання "який маршрут провайдера/auth має використовувати PI?" -- `agentRuntime.id: "codex"` відповідає на питання "який loop має виконати цей - вбудований хід?" -- `/codex ...` відповідає на питання "до якої нативної розмови Codex цей чат має - прив’язатися або якою має керувати?" -- ACP відповідає на питання "який зовнішній процес harness має запустити acpx?" +- `openai-codex/*` відповідає на запитання «який маршрут провайдера/auth має використовувати PI?» +- `agentRuntime.id: "codex"` відповідає на запитання «який цикл має виконати цей + вбудований хід?» +- `/codex ...` відповідає на запитання «яку нативну розмову Codex має прив’язати + або контролювати цей чат?» +- ACP відповідає на запитання «який зовнішній процес обв’язки має запустити acpx?» ## Виберіть правильний префікс моделі Маршрути сімейства OpenAI залежать від префікса. Використовуйте `openai-codex/*`, коли хочете OAuth Codex через PI; використовуйте `openai/*`, коли хочете прямий доступ до OpenAI API або -коли примусово використовуєте нативний harness app-server Codex: +коли примусово використовуєте нативну обв’язку Codex app-server: -| Ref моделі | Шлях runtime | Коли використовувати | -| --------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------- | +| Посилання на модель | Шлях середовища виконання | Коли використовувати | +| --------------------------------------------- | -------------------------------------------- | -------------------------------------------------------------------------- | | `openai/gpt-5.4` | Провайдер OpenAI через plumbing OpenClaw/PI | Вам потрібен поточний прямий доступ до OpenAI Platform API з `OPENAI_API_KEY`. | -| `openai-codex/gpt-5.5` | OpenAI Codex OAuth через OpenClaw/PI | Вам потрібна auth підписки ChatGPT/Codex зі стандартним runner PI. | -| `openai/gpt-5.5` + `agentRuntime.id: "codex"` | Harness app-server Codex | Вам потрібне нативне виконання app-server Codex для вбудованого ходу агента. | +| `openai-codex/gpt-5.5` | OpenAI Codex OAuth через OpenClaw/PI | Вам потрібна auth підписки ChatGPT/Codex з типовим runner PI. | +| `openai/gpt-5.5` + `agentRuntime.id: "codex"` | Обв’язка Codex app-server | Вам потрібне нативне виконання Codex app-server для вбудованого ходу агента. | -GPT-5.5 зараз доступна в OpenClaw лише через підписку/OAuth. Використовуйте -`openai-codex/gpt-5.5` для OAuth через PI або `openai/gpt-5.5` з harness -app-server Codex. Прямий доступ через API key для `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` з обв’язкою Codex +app-server. Прямий доступ через API key для `openai/gpt-5.5` підтримується +після того, як OpenAI увімкне GPT-5.5 у публічному API. -Застарілі refs `codex/gpt-*` лишаються прийнятними як aliases сумісності. Doctor -compatibility migration переписує застарілі refs основного runtime на канонічні refs моделей -і записує політику runtime окремо, тоді як застарілі refs лише для fallback -лишаються без змін, бо runtime налаштовується для всього контейнера агента. -Нові конфіги OAuth PI Codex мають використовувати `openai-codex/gpt-*`; нові конфіги нативного -harness app-server мають використовувати `openai/gpt-*` плюс +Застарілі посилання `codex/gpt-*` і далі приймаються як псевдоніми сумісності. Міграція +сумісності doctor переписує застарілі посилання основного середовища виконання на канонічні посилання +моделей і записує політику середовища виконання окремо, тоді як застарілі посилання лише для запасного варіанта +залишаються без змін, бо середовище виконання налаштовується для всього контейнера агента. +Нові конфігурації PI Codex OAuth мають використовувати `openai-codex/gpt-*`; нові конфігурації нативної +обв’язки app-server мають використовувати `openai/gpt-*` плюс `agentRuntime.id: "codex"`. `agents.defaults.imageModel` дотримується того самого поділу префіксів. Використовуйте `openai-codex/gpt-*`, коли розуміння зображень має виконуватися через шлях провайдера OpenAI Codex OAuth. Використовуйте `codex/gpt-*`, коли розуміння зображень має виконуватися -через обмежений хід app-server Codex. Модель app-server Codex має -advertise підтримку вводу зображень; текстові моделі Codex завершуються помилкою до початку -ходу з медіа. +через обмежений хід Codex app-server. Модель Codex app-server має +оголошувати підтримку введення зображень; текстові моделі Codex завершуються помилкою до початку медіаходу. -Використовуйте `/status`, щоб підтвердити ефективний harness для поточної сесії. Якщо +Використовуйте `/status`, щоб підтвердити фактичну обв’язку для поточної сесії. Якщо вибір несподіваний, увімкніть debug-логування для підсистеми `agents/harness` і перегляньте структурований запис Gateway `agent harness selected`. Він -містить id вибраного harness, причину вибору, політику runtime/fallback і, -в режимі `auto`, результат підтримки кожного кандидата Plugin. +містить вибраний ідентифікатор обв’язки, причину вибору, політику середовища виконання/запасного варіанта, а +в режимі `auto` — результат підтримки кожного кандидата Plugin. ### Що означають попередження doctor -`openclaw doctor` попереджає, коли все це істинно: +`openclaw doctor` попереджає, коли виконуються всі ці умови: - пакетний Plugin `codex` увімкнено або дозволено - основна модель агента — `openai-codex/*` -- ефективний runtime цього агента не `codex` +- фактичне середовище виконання цього агента — не `codex` -Це попередження існує, бо користувачі часто очікують, що "Plugin Codex увімкнено" означає -"нативний runtime app-server Codex." OpenClaw не робить такого переходу. Попередження +Це попередження існує, бо користувачі часто очікують, що «Plugin Codex увімкнено» означає +«нативне середовище виконання Codex app-server». OpenClaw не робить такого стрибка. Попередження означає: -- **Зміни не потрібні**, якщо ви мали на увазі OAuth ChatGPT/Codex через PI. -- Змініть модель на `openai/` і задайте - `agentRuntime.id: "codex"`, якщо ви мали на увазі нативне виконання +- **Зміна не потрібна**, якщо ви мали на меті ChatGPT/Codex OAuth через PI. +- Змініть модель на `openai/` і встановіть + `agentRuntime.id: "codex"`, якщо ви мали на меті нативне виконання app-server. -- Наявним сесіям усе ще потрібні `/new` або `/reset` після зміни runtime, - бо pins runtime сесії липкі. +- Наявні сесії все ще потребують `/new` або `/reset` після зміни середовища виконання, + бо закріплення середовища виконання сесії є липкими. -Вибір harness не є live-керуванням сесією. Коли виконується вбудований хід, -OpenClaw записує id вибраного harness у цій сесії й продовжує використовувати його для -наступних ходів у тому самому id сесії. Змінюйте конфіг `agentRuntime` або -`OPENCLAW_AGENT_RUNTIME`, коли хочете, щоб майбутні сесії використовували інший harness; -використовуйте `/new` або `/reset`, щоб почати нову сесію перед перемиканням наявної -розмови між PI і Codex. Це запобігає повторному програванню однієї стенограми через +Вибір обв’язки не є live-керуванням сесією. Коли виконується вбудований хід, +OpenClaw записує вибраний ідентифікатор обв’язки в цю сесію й продовжує використовувати його для +наступних ходів у тому самому ідентифікаторі сесії. Змініть конфігурацію `agentRuntime` або +`OPENCLAW_AGENT_RUNTIME`, коли хочете, щоб майбутні сесії використовували іншу обв’язку; +використовуйте `/new` або `/reset`, щоб почати свіжу сесію перед перемиканням наявної +розмови між PI і Codex. Це запобігає повторному відтворенню одного транскрипту через дві несумісні нативні системи сесій. -Застарілі сесії, створені до pins harness, вважаються PI-pinned після того, як -мають історію стенограми. Використовуйте `/new` або `/reset`, щоб перевести цю розмову на -Codex після зміни конфігу. +Застарілі сесії, створені до закріплення обв’язок, вважаються закріпленими за PI, щойно вони +мають історію транскрипту. Використовуйте `/new` або `/reset`, щоб перевести цю розмову в +Codex після зміни конфігурації. -`/status` показує ефективний runtime моделі. Типовий harness PI відображається як -`Runtime: OpenClaw Pi Default`, а harness app-server Codex відображається як +`/status` показує фактичне середовище виконання моделі. Типова обв’язка PI відображається як +`Runtime: OpenClaw Pi Default`, а обв’язка Codex app-server відображається як `Runtime: OpenAI Codex`. ## Вимоги -- OpenClaw із доступним пакетним Plugin `codex`. -- App-server Codex `0.125.0` або новіший. Пакетний Plugin типово керує сумісним - бінарним файлом app-server Codex, тому локальні команди `codex` у `PATH` - не впливають на звичайний запуск harness. -- Auth Codex доступна процесу app-server або мосту auth Codex в OpenClaw. +- OpenClaw з доступним пакетним Plugin `codex`. +- Codex app-server `0.125.0` або новіший. Пакетний Plugin типово керує сумісним + бінарним файлом Codex app-server, тому локальні команди `codex` у `PATH` не + впливають на звичайний запуск обв’язки. +- Auth Codex, доступна процесу app-server або auth-мосту Codex в OpenClaw. -Plugin блокує старіші або неверсійовані handshakes app-server. Це утримує -OpenClaw на поверхні протоколу, з якою його було протестовано. +Plugin блокує старіші або неверсіоновані handshakes app-server. Це утримує +OpenClaw на поверхні протоколу, проти якої його було протестовано. -Для live і Docker smoke tests auth зазвичай надходить з облікового запису Codex CLI -або auth profile OpenClaw `openai-codex`. Локальні запуски stdio app-server також можуть -fallback до `CODEX_API_KEY` / `OPENAI_API_KEY`, коли облікового запису немає. +Для live- і Docker smoke tests auth зазвичай надходить з облікового запису Codex CLI +або auth-профілю OpenClaw `openai-codex`. Локальні запуски stdio app-server також можуть +відступати до `CODEX_API_KEY` / `OPENAI_API_KEY`, коли облікового запису немає. -## Мінімальний конфіг +## Мінімальна конфігурація -Використовуйте `openai/gpt-5.5`, увімкніть пакетний Plugin і примусово задайте harness `codex`: +Використовуйте `openai/gpt-5.5`, увімкніть пакетний Plugin і примусово задайте обв’язку `codex`: ```json5 { @@ -219,7 +218,7 @@ fallback до `CODEX_API_KEY` / `OPENAI_API_KEY`, коли облікового } ``` -Якщо ваш конфіг використовує `plugins.allow`, додайте туди також `codex`: +Якщо ваша конфігурація використовує `plugins.allow`, також додайте туди `codex`: ```json5 { @@ -234,28 +233,28 @@ fallback до `CODEX_API_KEY` / `OPENAI_API_KEY`, коли облікового } ``` -Застарілі конфіги, які задають `agents.defaults.model` або модель агента як -`codex/`, усе ще автоматично вмикають пакетний Plugin `codex`. Нові конфіги мають -віддавати перевагу `openai/` плюс явний запис `agentRuntime` вище. +Застарілі конфігурації, які задають `agents.defaults.model` або модель агента як +`codex/`, усе ще автоматично вмикають пакетний Plugin `codex`. Нові конфігурації мають +надавати перевагу `openai/` плюс явному запису `agentRuntime` вище. ## Додайте Codex поряд з іншими моделями Не задавайте `agentRuntime.id: "codex"` глобально, якщо той самий агент має вільно перемикатися -між Codex і моделями провайдерів, що не є Codex. Примусовий runtime застосовується до кожного -вбудованого ходу для цього агента або сесії. Якщо ви виберете модель Anthropic, коли -цей runtime примусово задано, OpenClaw усе одно спробує harness Codex і fail closed -замість того, щоб мовчки маршрутизувати цей хід через PI. +між моделями провайдерів Codex і не-Codex. Примусове середовище виконання застосовується до кожного +вбудованого ходу для цього агента або сесії. Якщо вибрати модель Anthropic, коли +це середовище виконання примусове, OpenClaw усе одно спробує обв’язку Codex і завершиться закритою помилкою, +замість того щоб тихо маршрутизувати цей хід через PI. -Натомість використайте одну з цих форм: +Використовуйте натомість одну з цих форм: -- Розмістіть Codex на окремому агенті з `agentRuntime.id: "codex"`. -- Залиште стандартного агента на `agentRuntime.id: "auto"` і резервний PI для звичайного змішаного +- Розмістіть Codex на виділеному агенті з `agentRuntime.id: "codex"`. +- Залиште агент за замовчуванням на `agentRuntime.id: "auto"` і PI fallback для звичайного змішаного використання провайдерів. -- Використовуйте застарілі посилання `codex/*` лише для сумісності. Новим конфігураціям варто надавати перевагу - `openai/*` плюс явній політиці середовища виконання Codex. +- Використовуйте застарілі посилання `codex/*` лише для сумісності. Нові конфіги мають віддавати перевагу + `openai/*` плюс явній політиці runtime Codex. -Наприклад, це залишає стандартного агента зі звичайним автоматичним вибором і -додає окремого агента Codex: +Наприклад, це залишає агент за замовчуванням на звичайному автоматичному виборі та +додає окремий агент Codex: ```json5 { @@ -292,10 +291,10 @@ fallback до `CODEX_API_KEY` / `OPENAI_API_KEY`, коли облікового } ``` -З такою формою: +З цією формою: -- Стандартний агент `main` використовує звичайний шлях провайдера та резервну сумісність PI. -- Агент `codex` використовує обв'язку app-server Codex. +- Агент `main` за замовчуванням використовує звичайний шлях провайдера та fallback сумісності з PI. +- Агент `codex` використовує app-server harness Codex. - Якщо Codex відсутній або не підтримується для агента `codex`, хід завершується помилкою замість тихого використання PI. @@ -303,28 +302,27 @@ fallback до `CODEX_API_KEY` / `OPENAI_API_KEY`, коли облікового Агенти мають маршрутизувати запити користувача за наміром, а не лише за словом "Codex": -| Користувач просить... | Агент має використати... | -| -------------------------------------------------------- | ------------------------------------------------ | -| "Прив'язати цей чат до Codex" | `/codex bind` | -| "Відновити потік Codex `` тут" | `/codex resume ` | -| "Показати потоки Codex" | `/codex threads` | -| "Подати звіт у підтримку про невдалий запуск Codex" | `/diagnostics [note]` | -| "Надіслати відгук Codex лише для цього вкладеного потоку" | `/codex diagnostics [note]` | -| "Використати Codex як середовище виконання для цього агента" | зміна конфігурації `agentRuntime.id` | -| "Використати мою підписку ChatGPT/Codex зі звичайним OpenClaw" | посилання на моделі `openai-codex/*` | -| "Запустити Codex через ACP/acpx" | ACP `sessions_spawn({ runtime: "acp", ... })` | -| "Запустити Claude Code/Gemini/OpenCode/Cursor у потоці" | ACP/acpx, а не `/codex` і не нативні субагенти | +| Користувач просить... | Агент має використати... | +| ---------------------------------------------------------- | ------------------------------------------------ | +| "Прив’язати цей чат до Codex" | `/codex bind` | +| "Відновити thread Codex `` тут" | `/codex resume ` | +| "Показати threads Codex" | `/codex threads` | +| "Подати звіт у підтримку про невдалий запуск Codex" | `/diagnostics [note]` | +| "Надіслати відгук Codex лише для цього прикріпленого thread" | `/codex diagnostics [note]` | +| "Використовувати Codex як runtime для цього агента" | зміна конфігу на `agentRuntime.id` | +| "Використовувати мою підписку ChatGPT/Codex зі звичайним OpenClaw" | посилання на моделі `openai-codex/*` | +| "Запустити Codex через ACP/acpx" | ACP `sessions_spawn({ runtime: "acp", ... })` | +| "Запустити Claude Code/Gemini/OpenCode/Cursor у thread" | ACP/acpx, не `/codex` і не нативні sub-agents | -OpenClaw рекламує агентам інструкції зі створення ACP лише тоді, коли ACP увімкнено, -доступний для диспетчеризації і підкріплений завантаженим бекендом середовища виконання. Якщо ACP недоступний, -системний prompt і Skills плагіна не повинні навчати агента -маршрутизації ACP. +OpenClaw рекламує агентам підказки щодо spawn ACP лише тоді, коли ACP увімкнено, +доступний для dispatch і підкріплений завантаженим runtime backend. Якщо ACP недоступний, +system prompt і plugin skills не мають навчати агента маршрутизації ACP. ## Розгортання лише з Codex -Примусово використовуйте обв'язку Codex, коли потрібно довести, що кожен вбудований хід агента -використовує Codex. Явні середовища виконання плагінів за замовчуванням не мають резервного PI, тому -`fallback: "none"` є необов'язковим, але часто корисним як документація: +Примусово використовуйте harness Codex, коли потрібно довести, що кожен вбудований хід агента +використовує Codex. Явні runtimes plugin за замовчуванням не мають PI fallback, тому +`fallback: "none"` необов’язковий, але часто корисний як документація: ```json5 { @@ -346,14 +344,14 @@ OpenClaw рекламує агентам інструкції зі створе OPENCLAW_AGENT_RUNTIME=codex openclaw gateway run ``` -Коли Codex примусово увімкнено, OpenClaw рано завершується помилкою, якщо плагін Codex вимкнено, -app-server занадто старий або app-server не може запуститися. Установлюйте -`OPENCLAW_AGENT_HARNESS_FALLBACK=pi` лише якщо ви навмисно хочете, щоб PI обробляв -відсутній вибір обв'язки. +Коли Codex примусово увімкнено, OpenClaw завершується рано, якщо plugin Codex вимкнено, якщо +app-server застарий або якщо app-server не може запуститися. Встановлюйте +`OPENCLAW_AGENT_HARNESS_FALLBACK=pi` лише тоді, коли ви навмисно хочете, щоб PI обробляв +відсутній вибір harness. ## Codex для окремого агента -Ви можете зробити одного агента Codex-only, поки стандартний агент зберігає звичайний +Можна зробити одного агента лише Codex, тоді як агент за замовчуванням зберігає звичайний автовибір: ```json5 @@ -385,21 +383,21 @@ app-server занадто старий або app-server не може запу } ``` -Використовуйте звичайні команди сесії, щоб перемикати агентів і моделі. `/new` створює нову -сесію OpenClaw, а обв'язка Codex створює або відновлює свій допоміжний потік app-server -за потреби. `/reset` очищає прив'язку сесії OpenClaw для цього потоку -і дає наступному ходу знову визначити обв'язку з поточної конфігурації. +Використовуйте звичайні команди сеансу, щоб перемикати агентів і моделі. `/new` створює новий +сеанс OpenClaw, а harness Codex створює або відновлює свій sidecar thread app-server +за потреби. `/reset` очищає прив’язку сеансу OpenClaw для цього thread +і дає наступному ходу знову визначити harness із поточного конфігу. ## Виявлення моделей -За замовчуванням плагін Codex запитує в app-server доступні моделі. Якщо -виявлення завершується помилкою або тайм-аутом, він використовує вбудований резервний каталог для: +За замовчуванням plugin Codex запитує app-server про доступні моделі. Якщо +виявлення завершується помилкою або перевищує час очікування, використовується вбудований fallback catalog для: - GPT-5.5 - GPT-5.4 mini - GPT-5.2 -Ви можете налаштувати виявлення в `plugins.entries.codex.config.discovery`: +Виявлення можна налаштувати в `plugins.entries.codex.config.discovery`: ```json5 { @@ -419,8 +417,8 @@ app-server занадто старий або app-server не може запу } ``` -Вимкніть виявлення, коли хочете, щоб запуск не перевіряв Codex і використовував -резервний каталог: +Вимкніть виявлення, коли хочете, щоб запуск уникав зондування Codex і дотримувався +fallback catalog: ```json5 { @@ -441,25 +439,25 @@ app-server занадто старий або app-server не може запу ## Підключення app-server і політика -За замовчуванням плагін запускає керований OpenClaw бінарний файл Codex локально з: +За замовчуванням plugin запускає керований OpenClaw бінарник Codex локально з: ```bash codex app-server --listen stdio:// ``` -Керований бінарний файл оголошено як вбудовану залежність середовища виконання плагіна та підготовлено -разом з рештою залежностей плагіна `codex`. Це прив'язує версію app-server -до вбудованого плагіна, а не до будь-якого окремого Codex CLI, -який випадково встановлено локально. Установлюйте `appServer.command` лише тоді, коли ви +Керований бінарник оголошено як вбудовану залежність runtime plugin і підготовлено +разом з рештою залежностей plugin `codex`. Це прив’язує версію app-server +до вбудованого plugin, а не до будь-якого окремого Codex CLI, який випадково +встановлено локально. Встановлюйте `appServer.command` лише тоді, коли ви навмисно хочете запустити інший виконуваний файл. -За замовчуванням OpenClaw запускає локальні сесії обв'язки Codex у режимі YOLO: +За замовчуванням OpenClaw запускає локальні сеанси harness Codex у режимі YOLO: `approvalPolicy: "never"`, `approvalsReviewer: "user"` і -`sandbox: "danger-full-access"`. Це довірена локальна позиція оператора, яку використовують -для автономних Heartbeat: Codex може використовувати shell і мережеві інструменти без -зупинки на нативних запитах схвалення, на які поруч ніхто не відповість. +`sandbox: "danger-full-access"`. Це довірена позиція локального оператора, яку використовують +для автономних heartbeats: Codex може використовувати shell і мережеві інструменти без +зупинки на нативних запитах схвалення, на які нікому відповісти. -Щоб увімкнути схвалення Codex із перевіркою guardian, установіть `appServer.mode: +Щоб увімкнути схвалення Codex із перевіркою guardian, встановіть `appServer.mode: "guardian"`: ```json5 @@ -480,18 +478,18 @@ codex app-server --listen stdio:// } ``` -Режим Guardian використовує нативний шлях автоогляду схвалень Codex. Коли Codex просить -вийти з sandbox, записати поза робочою областю або додати дозволи на кшталт мережевого -доступу, Codex спрямовує цей запит на схвалення до нативного reviewer замість -людського prompt. Reviewer застосовує систему оцінки ризиків Codex і схвалює або відхиляє -конкретний запит. Використовуйте Guardian, коли вам потрібні сильніші обмеження, ніж у режимі YOLO, -але автономним агентам усе ще потрібно просуватися без нагляду. +Режим Guardian використовує нативний шлях схвалення Codex з автоматичною перевіркою. Коли Codex просить +вийти із sandbox, записати поза workspace або додати дозволи, як-от мережевий +доступ, Codex маршрутизує цей запит схвалення до нативного reviewer замість +людського prompt. Reviewer застосовує risk framework Codex і схвалює або відхиляє +конкретний запит. Використовуйте Guardian, коли потрібні суворіші guardrails, ніж у режимі YOLO, +але все одно потрібно, щоб unattended agents просувалися вперед. Пресет `guardian` розгортається в `approvalPolicy: "on-request"`, `approvalsReviewer: "auto_review"` і `sandbox: "workspace-write"`. -Окремі поля політики все ще перевизначають `mode`, тож розширені розгортання можуть поєднувати -пресет з явними виборами. Старіше значення reviewer `guardian_subagent` -досі приймається як псевдонім сумісності, але новим конфігураціям варто використовувати +Окремі поля політики все ще перевизначають `mode`, тому розширені розгортання можуть поєднувати +пресет із явними виборами. Старіше значення reviewer `guardian_subagent` +досі приймається як alias сумісності, але нові конфіги мають використовувати `auto_review`. Для вже запущеного app-server використовуйте транспорт WebSocket: @@ -516,23 +514,23 @@ codex app-server --listen stdio:// } ``` -Запуски stdio app-server за замовчуванням успадковують середовище процесу OpenClaw, -але OpenClaw керує містком облікового запису app-server Codex. Auth вибирається в такому +Запуски stdio app-server за замовчуванням успадковують process environment OpenClaw, +але OpenClaw володіє account bridge app-server Codex. Auth вибирається в такому порядку: 1. Явний профіль auth OpenClaw Codex для агента. -2. Наявний обліковий запис app-server, наприклад локальний вхід ChatGPT у Codex CLI. +2. Наявний обліковий запис app-server, наприклад локальний вхід Codex CLI ChatGPT. 3. Лише для локальних запусків stdio app-server: `CODEX_API_KEY`, потім - `OPENAI_API_KEY`, коли облікового запису app-server немає, а OpenAI auth усе ще - потрібна. + `OPENAI_API_KEY`, коли немає облікового запису app-server і auth OpenAI + все ще потрібна. -Коли OpenClaw бачить профіль auth Codex у стилі підписки ChatGPT, він видаляє +Коли OpenClaw бачить профіль auth Codex у стилі підписки ChatGPT, він вилучає `CODEX_API_KEY` і `OPENAI_API_KEY` зі створеного дочірнього процесу Codex. Це -залишає API-ключі рівня Gateway доступними для embeddings або прямих моделей OpenAI -без випадкового білінгу нативних ходів Codex app-server через API. -Явні профілі API-ключів Codex і локальний резервний env-key для stdio використовують вхід app-server +залишає API keys рівня Gateway доступними для embeddings або прямих моделей OpenAI +без випадкового billing нативних ходів Codex app-server через API. +Явні профілі Codex API-key і fallback локального stdio env-key використовують login app-server замість успадкованого env дочірнього процесу. Підключення WebSocket app-server -не отримують резервний API-ключ env Gateway; використовуйте явний профіль auth або +не отримують fallback API-key env Gateway; використовуйте явний профіль auth або власний обліковий запис віддаленого app-server. Якщо розгортанню потрібна додаткова ізоляція середовища, додайте ці змінні до @@ -555,27 +553,33 @@ codex app-server --listen stdio:// } ``` -`appServer.clearEnv` впливає лише на створений дочірній процес app-server Codex. +`appServer.clearEnv` впливає лише на створений дочірній процес Codex app-server. Підтримувані поля `appServer`: -| Поле | Типове значення | Значення | +| Поле | Типово | Значення | | ------------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | -| `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. | -| `clearEnv` | `[]` | Додаткові назви змінних середовища, які видаляються із запущеного процесу stdio app-server після того, як OpenClaw сформує успадковане середовище. | -| `requestTimeoutMs` | `60000` | Тайм-аут для викликів площини керування app-server. | -| `mode` | `"yolo"` | Попереднє налаштування для виконання YOLO або виконання з перевіркою guardian. | -| `approvalPolicy` | `"never"` | Нативна політика схвалення Codex, що надсилається під час запуску/відновлення потоку/ходу. | -| `sandbox` | `"danger-full-access"` | Нативний режим пісочниці Codex, що надсилається під час запуску/відновлення потоку. | -| `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 app-server WebSocket. | +| `authToken` | не задано | Bearer-токен для WebSocket-транспорту. | +| `headers` | `{}` | Додаткові заголовки WebSocket. | +| `clearEnv` | `[]` | Додаткові назви змінних середовища, які видаляються зі створеного процесу stdio app-server після того, як OpenClaw сформує успадковане середовище. | +| `requestTimeoutMs` | `60000` | Тайм-аут для викликів площини керування app-server. | +| `mode` | `"yolo"` | Пресет для виконання YOLO або виконання з перевіркою guardian. | +| `approvalPolicy` | `"never"` | Власна політика схвалень Codex, що надсилається під час запуску/відновлення/ходу потоку. | +| `sandbox` | `"danger-full-access"` | Власний режим пісочниці Codex, що надсилається під час запуску/відновлення потоку. | +| `approvalsReviewer` | `"user"` | Використовуйте `"auto_review"`, щоб дозволити Codex перевіряти власні запити на схвалення. `guardian_subagent` залишається застарілим псевдонімом. | +| `serviceTier` | не задано | Необов’язковий рівень сервісу app-server Codex: `"fast"`, `"flex"` або `null`. Недійсні застарілі значення ігноруються. | -Перевизначення через середовище залишаються доступними для локального тестування: +Динамічні виклики інструментів, якими володіє OpenClaw, обмежуються незалежно від +`appServer.requestTimeoutMs`: кожен запит Codex `item/tool/call` має отримати +відповідь OpenClaw протягом 30 секунд. У разі тайм-ауту OpenClaw перериває сигнал +інструмента там, де це підтримується, і повертає Codex невдалу відповідь динамічного інструмента, щоб +хід міг продовжитися, а сесія не залишалася в стані `processing`. + +Перевизначення середовища залишаються доступними для локального тестування: - `OPENCLAW_CODEX_APP_SERVER_BIN` - `OPENCLAW_CODEX_APP_SERVER_ARGS` @@ -583,13 +587,13 @@ codex app-server --listen stdio:// - `OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY` - `OPENCLAW_CODEX_APP_SERVER_SANDBOX` -`OPENCLAW_CODEX_APP_SERVER_BIN` обходить керований двійковий файл, коли -`appServer.command` не встановлено. +`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 у тому +є бажаною для повторюваних розгортань, бо вона тримає поведінку plugin у тому самому перевіреному файлі, що й решту налаштування обв’язки Codex. ## Використання комп’ютера @@ -597,15 +601,15 @@ codex app-server --listen stdio:// Використання комп’ютера описано в окремому посібнику з налаштування: [Використання комп’ютера Codex](/uk/plugins/codex-computer-use). -Коротко: OpenClaw не вбудовує застосунок керування робочим столом і не виконує -дії на робочому столі самостійно. Він готує Codex app-server, перевіряє, що -MCP-сервер `computer-use` доступний, а потім дозволяє Codex обробляти нативні +Коротко: OpenClaw не постачає програму керування робочим столом і не виконує +дії на робочому столі самостійно. Він готує app-server Codex, перевіряє, що +MCP-сервер `computer-use` доступний, а потім дозволяє Codex обробляти власні виклики інструментів MCP під час ходів у режимі Codex. -Для прямого доступу до драйвера TryCua поза потоком маркетплейсу Codex зареєструйте -`cua-driver mcp` через `openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'`. -Див. [Використання комп’ютера Codex](/uk/plugins/codex-computer-use), щоб зрозуміти відмінність -між використанням комп’ютера, яким керує Codex, і прямою реєстрацією MCP. +Для прямого доступу до драйвера TryCua поза потоком marketplace Codex зареєструйте +`cua-driver mcp` за допомогою `openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'`. +Див. [Використання комп’ютера Codex](/uk/plugins/codex-computer-use), щоб зрозуміти різницю +між використанням комп’ютера, яким володіє Codex, і прямою реєстрацією MCP. Мінімальна конфігурація: @@ -642,17 +646,17 @@ MCP-сервер `computer-use` доступний, а потім дозволя - `/codex computer-use install --source ` - `/codex computer-use install --marketplace-path ` -Використання комп’ютера специфічне для macOS і може вимагати локальних дозволів ОС, перш ніж -MCP-сервер Codex зможе керувати застосунками. Якщо `computerUse.enabled` має значення true, а MCP -сервер недоступний, ходи в режимі Codex завершуються помилкою до запуску потоку, а не -тихо виконуються без нативних інструментів використання комп’ютера. Див. -[Використання комп’ютера Codex](/uk/plugins/codex-computer-use) щодо варіантів маркетплейсу, -обмежень віддаленого каталогу, причин стану та усунення несправностей. +Використання комп’ютера є специфічним для macOS і може вимагати локальних дозволів ОС, перш ніж +MCP-сервер Codex зможе керувати програмами. Якщо `computerUse.enabled` має значення true, а MCP +сервер недоступний, ходи в режимі Codex завершуються помилкою до запуску потоку, замість того щоб +тихо виконуватися без власних інструментів використання комп’ютера. Див. +[Використання комп’ютера Codex](/uk/plugins/codex-computer-use) щодо варіантів marketplace, +обмежень віддаленого каталогу, причин статусу та усунення несправностей. Коли `computerUse.autoInstall` має значення true, OpenClaw може зареєструвати стандартний -вбудований маркетплейс Codex Desktop із +вбудований marketplace Codex Desktop з `/Applications/Codex.app/Contents/Resources/plugins/openai-bundled`, якщо Codex -ще не виявив локальний маркетплейс. Використовуйте `/new` або `/reset` після +ще не виявив локальний marketplace. Використовуйте `/new` або `/reset` після зміни конфігурації runtime або використання комп’ютера, щоб наявні сесії не зберігали старе прив’язування PI або потоку Codex. @@ -672,7 +676,7 @@ MCP-сервер Codex зможе керувати застосунками. Я } ``` -Валідація лише обв’язки Codex: +Валідація обв’язки лише Codex: ```json5 { @@ -739,215 +743,269 @@ MCP-сервер Codex зможе керувати застосунками. Я } ``` -Перемикання моделі залишається під керуванням OpenClaw. Коли сесію OpenClaw приєднано -до наявного потоку Codex, наступний хід знову надсилає поточно вибрану -модель OpenAI, провайдера, політику схвалення, пісочницю та рівень сервісу до -app-server. Перемикання з `openai/gpt-5.5` на `openai/gpt-5.2` зберігає -прив’язування потоку, але просить Codex продовжити з новообраною моделлю. +Перемикання моделей залишається під керуванням OpenClaw. Коли сесія OpenClaw прикріплена +до наявного потоку Codex, наступний хід знову надсилає до app-server поточно вибрану +модель OpenAI, провайдера, політику схвалень, пісочницю та рівень сервісу. +Перемикання з `openai/gpt-5.5` на `openai/gpt-5.2` зберігає +прив’язування потоку, але просить Codex продовжити з новою вибраною моделлю. ## Команда Codex -Вбудований Plugin реєструє `/codex` як авторизовану slash-команду. Вона -універсальна й працює в будь-якому каналі, що підтримує текстові команди OpenClaw. +Вбудований plugin реєструє `/codex` як авторизовану slash-команду. Вона є +загальною та працює в будь-якому каналі, що підтримує текстові команди OpenClaw. Поширені форми: -- `/codex status` показує поточне підключення app-server, моделі, обліковий запис, ліміти швидкості, MCP-сервери та skills. -- `/codex models` виводить поточні моделі Codex app-server. -- `/codex threads [filter]` виводить нещодавні потоки Codex. -- `/codex resume ` приєднує поточну сесію OpenClaw до наявного потоку Codex. -- `/codex compact` просить Codex app-server стиснути приєднаний потік. -- `/codex review` запускає нативну перевірку Codex для приєднаного потоку. -- `/codex diagnostics [note]` запитує підтвердження перед надсиланням діагностичного зворотного зв’язку Codex для приєднаного потоку. -- `/codex computer-use status` перевіряє налаштований Plugin використання комп’ютера та MCP-сервер. -- `/codex computer-use install` встановлює налаштований Plugin використання комп’ютера та перезавантажує MCP-сервери. +- `/codex status` показує активне підключення app-server, моделі, обліковий запис, ліміти швидкості, MCP-сервери та Skills. +- `/codex models` перелічує активні моделі app-server Codex. +- `/codex threads [filter]` перелічує нещодавні потоки Codex. +- `/codex resume ` прикріплює поточну сесію OpenClaw до наявного потоку Codex. +- `/codex compact` просить app-server Codex ущільнити прикріплений потік. +- `/codex review` запускає власну перевірку Codex для прикріпленого потоку. +- `/codex diagnostics [note]` запитує підтвердження перед надсиланням діагностичного feedback Codex для прикріпленого потоку. +- `/codex computer-use status` перевіряє налаштований plugin використання комп’ютера та MCP-сервер. +- `/codex computer-use install` встановлює налаштований plugin використання комп’ютера та перезавантажує MCP-сервери. - `/codex account` показує стан облікового запису та лімітів швидкості. -- `/codex mcp` виводить стан MCP-серверів Codex app-server. -- `/codex skills` виводить skills Codex app-server. +- `/codex mcp` перелічує стан MCP-серверів app-server Codex. +- `/codex skills` перелічує Skills app-server Codex. ### Поширений робочий процес налагодження Коли агент на базі Codex робить щось неочікуване в Telegram, Discord, Slack або іншому каналі, почніть із розмови, де сталася проблема: -1. Запустіть `/diagnostics bad tool choice after image upload` або іншу коротку нотатку, - що описує побачене. -2. Підтвердьте діагностичний запит один раз. Схвалення створює локальний zip-файл діагностики Gateway +1. Виконайте `/diagnostics bad tool choice after image upload` або іншу коротку нотатку, + яка описує побачене. +2. Один раз схваліть діагностичний запит. Схвалення створює локальний діагностичний zip Gateway і, оскільки сесія використовує обв’язку Codex, також - надсилає відповідний пакет зворотного зв’язку Codex на сервери OpenAI. -3. Скопіюйте завершену діагностичну відповідь у звіт про помилку або потік підтримки. - Вона містить локальний шлях пакета, зведення щодо приватності, ідентифікатори сесій OpenClaw, + надсилає відповідний пакет feedback Codex на сервери OpenAI. +3. Скопіюйте завершену діагностичну відповідь у звіт про помилку або support thread. + Вона містить локальний шлях до пакета, зведення конфіденційності, ідентифікатори сесій OpenClaw, ідентифікатори потоків Codex і рядок `Inspect locally` для кожного потоку Codex. 4. Якщо ви хочете самостійно налагодити запуск, виконайте надруковану команду `Inspect locally` - у терміналі. Вона виглядає як `codex resume ` і відкриває - нативний потік Codex, щоб ви могли переглянути розмову, продовжити її локально + у терміналі. Вона має вигляд `codex resume ` і відкриває + власний потік Codex, щоб ви могли переглянути розмову, продовжити її локально або запитати Codex, чому він вибрав певний інструмент чи план. -Використовуйте `/codex diagnostics [note]` лише тоді, коли вам спеціально потрібне -завантаження зворотного зв’язку Codex для поточно приєднаного потоку без повного -пакета діагностики Gateway OpenClaw. Для більшості звітів підтримки `/diagnostics [note]` є -кращою початковою точкою, бо він пов’язує локальний стан Gateway та ідентифікатори потоків Codex +Використовуйте `/codex diagnostics [note]` лише тоді, коли вам спеціально потрібне завантаження +feedback Codex для поточного прикріпленого потоку без повного діагностичного пакета +Gateway OpenClaw. Для більшості звітів у підтримку `/diagnostics [note]` є +кращою відправною точкою, бо він пов’язує локальний стан Gateway та ідентифікатори потоків Codex в одній відповіді. Див. [Експорт діагностики](/uk/gateway/diagnostics) -щодо повної моделі приватності та поведінки в групових чатах. +щодо повної моделі конфіденційності та поведінки в груповому чаті. -Ядро OpenClaw також надає `/diagnostics [note]` лише для власника як загальну -команду діагностики Gateway. Її запит на схвалення показує преамбулу про чутливі дані, -посилається на [Експорт діагностики](/uk/gateway/diagnostics) і запитує -`openclaw gateway diagnostics export --json` через явне схвалення виконання -кожного разу. Не схвалюйте діагностику правилом allow-all. Після схвалення -OpenClaw надсилає придатний для вставлення звіт із локальним шляхом пакета та зведенням -маніфесту. Коли активна сесія OpenClaw використовує обв’язку Codex, те -саме схвалення також дозволяє надсилати відповідні пакети зворотного зв’язку Codex на -сервери OpenAI. Запит на схвалення повідомляє, що зворотний зв’язок Codex буде надіслано, але -не перелічує ідентифікатори сесій або потоків Codex до схвалення. +Ядро OpenClaw також надає доступну лише власнику команду `/diagnostics [note]` як загальну +діагностичну команду Gateway. Її запит на схвалення показує преамбулу про конфіденційні дані, +посилається на [Експорт діагностики](/uk/gateway/diagnostics) і щоразу запитує +`openclaw gateway diagnostics export --json` через явне exec-схвалення. +Не схвалюйте діагностику правилом allow-all. Після схвалення +OpenClaw надсилає придатний для вставлення звіт із локальним шляхом до пакета та +зведенням маніфесту. Коли активна сесія OpenClaw використовує обв’язку Codex, це +саме схвалення також дозволяє надсилати відповідні пакети feedback Codex на +сервери OpenAI. У запиті на схвалення зазначено, що feedback Codex буде надіслано, але +до схвалення він не перелічує ідентифікатори сесій або потоків Codex. Якщо `/diagnostics` викликає власник у груповому чаті, OpenClaw зберігає спільний канал чистим: група отримує лише коротке повідомлення, тоді як діагностична преамбула, запити на схвалення та ідентифікатори сесій/потоків Codex надсилаються -власнику через приватний маршрут схвалення. Якщо приватного маршруту до власника немає, -OpenClaw відхиляє груповий запит і просить власника запустити його з приватного повідомлення. +власнику через приватний маршрут схвалення. Якщо приватного маршруту власника немає, +OpenClaw відхиляє груповий запит і просить власника виконати його з DM. -Схвалене завантаження Codex викликає `feedback/upload` Codex app-server і просить -app-server включити журнали для кожного переліченого потоку та породжених підпотоків Codex, -коли вони доступні. Завантаження проходить через звичайний шлях зворотного зв’язку Codex на сервери OpenAI; -якщо зворотний зв’язок Codex вимкнено в цьому app-server, команда повертає -помилку app-server. Завершена діагностична відповідь перелічує канали, -ідентифікатори сесій OpenClaw, ідентифікатори потоків Codex і локальні команди `codex resume ` -для потоків, які було надіслано. Якщо ви відхилите або проігноруєте схвалення, +Схвалені виклики завантаження Codex викликають `feedback/upload` сервера застосунку Codex і просять +сервер застосунку включити журнали для кожного переліченого треду та породжених підтредів Codex, +коли вони доступні. Завантаження проходить через звичайний шлях зворотного зв’язку Codex до серверів OpenAI; якщо зворотний зв’язок Codex вимкнено на цьому сервері застосунку, команда повертає +помилку сервера застосунку. Завершена діагностична відповідь перелічує канали, +ідентифікатори сесій OpenClaw, ідентифікатори тредів Codex і локальні команди +`codex resume ` для тредів, які було надіслано. Якщо ви відхилите або проігноруєте схвалення, OpenClaw не виводить ці ідентифікатори Codex. Це завантаження не замінює локальний експорт діагностики Gateway. -`/codex resume` записує той самий sidecar-файл прив’язування, який обв’язка використовує для -звичайних ходів. У наступному повідомленні OpenClaw відновлює цей потік Codex, передає -поточну вибрану модель OpenClaw в app-server і залишає розширену історію -увімкнено. +`/codex resume` записує той самий супровідний файл прив’язки, який тестовий harness використовує для +звичайних ходів. У наступному повідомленні OpenClaw відновлює цей тред Codex, передає +поточну вибрану модель OpenClaw у сервер застосунку й залишає розширену історію +увімкненою. -### Перевірка потоку Codex із CLI +### Перегляньте тред Codex із CLI -Найшвидший спосіб розібратися з невдалим запуском Codex часто полягає в тому, щоб відкрити нативний потік Codex безпосередньо: +Найшвидший спосіб зрозуміти невдалий запуск Codex часто полягає в тому, щоб відкрити нативний тред Codex +безпосередньо: ```sh codex resume ``` -Використовуйте це, коли помічаєте помилку в розмові каналу й хочете перевірити проблемний сеанс Codex, продовжити його локально або запитати Codex, чому він вибрав певний інструмент чи хід міркування. Найпростіший шлях зазвичай такий: спершу запустіть `/diagnostics [note]`; після вашого підтвердження завершений звіт перелічить кожен потік Codex і виведе команду `Inspect locally`, наприклад `codex resume `. Цю команду можна скопіювати безпосередньо в термінал. +Використовуйте це, коли помічаєте помилку в розмові каналу й хочете переглянути +проблемну сесію Codex, продовжити її локально або запитати Codex, чому він зробив +певний вибір інструмента чи міркування. Найпростіший шлях зазвичай — спершу запустити +`/diagnostics [note]`: після схвалення завершений звіт перелічить +кожен тред Codex і виведе команду `Inspect locally`, наприклад +`codex resume `. Ви можете скопіювати цю команду безпосередньо в термінал. -Також можна отримати ідентифікатор потоку з `/codex binding` для поточного чату або з `/codex threads [filter]` для нещодавніх потоків app-server Codex, а потім виконати ту саму команду `codex resume` у своїй оболонці. +Ви також можете отримати ідентифікатор треду з `/codex binding` для поточного чату або +`/codex threads [filter]` для нещодавніх тредів сервера застосунку Codex, а потім виконати ту саму +команду `codex resume` у своїй оболонці. -Поверхня команд потребує Codex app-server `0.125.0` або новішого. Окремі методи керування повідомляються як `unsupported by this Codex app-server`, якщо майбутній або користувацький app-server не надає цей метод JSON-RPC. +Поверхня команд потребує сервера застосунку Codex `0.125.0` або новішого. Окремі +методи керування повідомляються як `unsupported by this Codex app-server`, якщо +майбутній або користувацький сервер застосунку не надає цей метод JSON-RPC. ## Межі хуків -Обв'язка Codex має три шари хуків: +Harness Codex має три рівні хуків: -| Шар | Власник | Призначення | -| ------------------------------------ | ------------------------ | ------------------------------------------------------------------ | -| Хуки Plugin OpenClaw | OpenClaw | Сумісність продукту/Plugin між обв'язками PI та Codex. | -| Middleware розширення Codex app-server | Bundled plugins OpenClaw | Поведінка адаптера на кожному кроці навколо динамічних інструментів OpenClaw. | -| Нативні хуки Codex | Codex | Низькорівневий життєвий цикл Codex і політика нативних інструментів із конфігурації Codex. | +| Рівень | Власник | Призначення | +| ------------------------------------- | ------------------------ | ------------------------------------------------------------------ | +| Хуки Plugin OpenClaw | OpenClaw | Сумісність продукту/Plugin між harness Pi та Codex. | +| Middleware розширень сервера застосунку Codex | Комплектні plugins OpenClaw | Поведінка адаптера для кожного ходу навколо динамічних інструментів OpenClaw. | +| Нативні хуки Codex | Codex | Низькорівневий життєвий цикл Codex і нативна політика інструментів із конфігурації Codex. | -OpenClaw не використовує проєктні або глобальні файли Codex `hooks.json` для маршрутизації поведінки Plugin OpenClaw. Для підтримуваного мосту нативних інструментів і дозволів OpenClaw впроваджує конфігурацію Codex на рівні потоку для `PreToolUse`, `PostToolUse`, `PermissionRequest` і `Stop`. Інші хуки Codex, як-от `SessionStart` і `UserPromptSubmit`, залишаються елементами керування рівня Codex; у контракті v1 вони не надаються як хуки Plugin OpenClaw. +OpenClaw не використовує проєктні або глобальні файли Codex `hooks.json` для маршрутизації +поведінки Plugin OpenClaw. Для підтримуваного мосту нативних інструментів і дозволів +OpenClaw ін’єктує конфігурацію Codex для кожного треду для `PreToolUse`, `PostToolUse`, +`PermissionRequest` і `Stop`. Інші хуки Codex, як-от `SessionStart` і +`UserPromptSubmit`, залишаються засобами керування рівня Codex; вони не надаються як +хуки Plugin OpenClaw у контракті v1. -Для динамічних інструментів OpenClaw OpenClaw виконує інструмент після того, як Codex запитує виклик, тому OpenClaw запускає поведінку Plugin і middleware, якою він володіє в адаптері обв'язки. Для нативних інструментів Codex канонічним записом інструмента володіє Codex. OpenClaw може дзеркалити вибрані події, але не може переписати нативний потік Codex, якщо Codex не надає цю операцію через app-server або callback-функції нативних хуків. +Для динамічних інструментів OpenClaw OpenClaw виконує інструмент після того, як Codex попросить +виклик, тож OpenClaw запускає поведінку Plugin і middleware, якими він володіє, в +адаптері harness. Для нативних інструментів Codex саме Codex володіє канонічним записом інструмента. +OpenClaw може дзеркалити вибрані події, але не може переписувати нативний тред Codex, +якщо Codex не надає цю операцію через сервер застосунку або callback-функції нативних хуків. -Проєкції життєвого циклу Compaction і LLM походять зі сповіщень Codex app-server і стану адаптера OpenClaw, а не з команд нативних хуків Codex. Події OpenClaw `before_compaction`, `after_compaction`, `llm_input` і `llm_output` є спостереженнями рівня адаптера, а не побайтовими знімками внутрішнього запиту Codex або payload Compaction. +Проєкції життєвого циклу Compaction і LLM надходять зі сповіщень сервера застосунку Codex +і стану адаптера OpenClaw, а не з команд нативних хуків Codex. +Події OpenClaw `before_compaction`, `after_compaction`, `llm_input` і +`llm_output` є спостереженнями рівня адаптера, а не побайтовими знімками +внутрішнього запиту Codex або payload Compaction. -Нативні сповіщення app-server Codex `hook/started` і `hook/completed` проєктуються як події агента `codex_app_server.hook` для траєкторії та налагодження. Вони не викликають хуки Plugin OpenClaw. +Нативні сповіщення сервера застосунку Codex `hook/started` і `hook/completed` +проєктуються як події агента `codex_app_server.hook` для траєкторії та налагодження. +Вони не викликають хуки Plugin OpenClaw. ## Контракт підтримки V1 -Режим Codex — це не PI з іншим викликом моделі під капотом. Codex володіє більшою частиною нативного циклу моделі, а OpenClaw адаптує свої поверхні Plugin і сеансу навколо цієї межі. +Режим Codex — це не Pi з іншим викликом моделі під ним. Codex володіє більшою частиною +нативного циклу моделі, а OpenClaw адаптує свої поверхні Plugin і сесій +навколо цієї межі. Підтримується в runtime Codex v1: -| Поверхня | Підтримка | Чому | -| -------------------------------------------- | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Цикл моделі OpenAI через Codex | Підтримується | Codex app-server володіє кроком OpenAI, відновленням нативного потоку та продовженням нативного інструмента. | -| Маршрутизація та доставка каналів OpenClaw | Підтримується | Telegram, Discord, Slack, WhatsApp, iMessage та інші канали залишаються поза runtime моделі. | -| Динамічні інструменти OpenClaw | Підтримується | Codex просить OpenClaw виконати ці інструменти, тому OpenClaw залишається в шляху виконання. | -| Plugin підказок і контексту | Підтримується | OpenClaw будує накладки підказок і проєктує контекст у крок Codex перед запуском або відновленням потоку. | -| Життєвий цикл рушія контексту | Підтримується | Збирання, ingest або обслуговування після кроку, а також координація Compaction рушія контексту виконуються для кроків Codex. | -| Хуки динамічних інструментів | Підтримується | `before_tool_call`, `after_tool_call` і middleware результатів інструментів виконуються навколо динамічних інструментів, якими володіє OpenClaw. | -| Хуки життєвого циклу | Підтримується як спостереження адаптера | `llm_input`, `llm_output`, `agent_end`, `before_compaction` і `after_compaction` спрацьовують із чесними payload режиму Codex. | -| Шлюз перегляду фінальної відповіді | Підтримується через ретранслятор нативних хуків | Codex `Stop` ретранслюється в `before_agent_finalize`; `revise` просить 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, які отримує. | +| Поверхня | Підтримка | Чому | +| --------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Цикл моделі OpenAI через Codex | Підтримується | Сервер застосунку Codex володіє ходом OpenAI, відновленням нативного треду й продовженням нативного інструмента. | +| Маршрутизація та доставка каналів OpenClaw | Підтримується | Telegram, Discord, Slack, WhatsApp, iMessage та інші канали залишаються поза runtime моделі. | +| Динамічні інструменти OpenClaw | Підтримується | Codex просить OpenClaw виконати ці інструменти, тож OpenClaw залишається в шляху виконання. | +| Plugins підказок і контексту | Підтримується | OpenClaw будує накладки підказок і проєктує контекст у хід Codex перед запуском або відновленням треду. | +| Життєвий цикл рушія контексту | Підтримується | Збирання, поглинання або обслуговування після ходу та координація Compaction рушія контексту виконуються для ходів Codex. | +| Хуки динамічних інструментів | Підтримується | `before_tool_call`, `after_tool_call` і middleware результатів інструментів виконуються навколо динамічних інструментів, якими володіє OpenClaw. | +| Хуки життєвого циклу | Підтримуються як спостереження адаптера | `llm_input`, `llm_output`, `agent_end`, `before_compaction` і `after_compaction` спрацьовують із чесними payload режиму Codex. | +| Шлюз ревізії фінальної відповіді | Підтримується через ретрансляцію нативного хука | Codex `Stop` ретранслюється до `before_agent_finalize`; `revise` просить Codex виконати ще один прохід моделі перед фіналізацією. | +| Блокування або спостереження нативних shell, patch і MCP | Підтримується через ретрансляцію нативного хука | Codex `PreToolUse` і `PostToolUse` ретранслюються для зафіксованих нативних поверхонь інструментів, включно з payload MCP на сервері застосунку Codex `0.125.0` або новішому. Блокування підтримується; переписування аргументів — ні. | +| Нативна політика дозволів | Підтримується через ретрансляцію нативного хука | Codex `PermissionRequest` може маршрутизуватися через політику OpenClaw там, де runtime це надає. Якщо OpenClaw не повертає рішення, Codex продовжує через свій звичайний шлях guardian або схвалення користувача. | +| Захоплення траєкторії сервера застосунку | Підтримується | OpenClaw записує запит, який він надіслав серверу застосунку, і сповіщення сервера застосунку, які отримує. | Не підтримується в runtime Codex v1: -| Поверхня | Межа V1 | Майбутній шлях | -| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- | -| Мутація аргументів нативних інструментів | Нативні pre-tool хуки Codex можуть блокувати, але OpenClaw не переписує аргументи нативних інструментів Codex. | Потребує підтримки хуків/схеми Codex для заміни вхідних даних інструмента. | -| Редагована історія нативного транскрипту Codex | Codex володіє канонічною історією нативного потоку. OpenClaw володіє дзеркалом і може проєктувати майбутній контекст, але не має мутувати непідтримувані internals. | Додати явні 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 потребують veto або переписування нативного Compaction. | -| Побайтове захоплення API-запиту моделі | OpenClaw може захоплювати запити app-server і сповіщення, але ядро Codex внутрішньо будує фінальний API-запит OpenAI. | Потребує події трасування запиту моделі Codex або debug API. | +| Поверхня | Межа V1 | Майбутній шлях | +| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| Мутація аргументів нативного інструмента | Нативні pre-tool хуки Codex можуть блокувати, але OpenClaw не переписує аргументи нативних інструментів Codex. | Потребує підтримки хуків/схеми Codex для заміни вхідних даних інструмента. | +| Редагована історія нативного transcript Codex | Codex володіє канонічною історією нативного треду. OpenClaw володіє дзеркалом і може проєктувати майбутній контекст, але не повинен мутувати непідтримувані внутрішні дані. | Додати явні API сервера застосунку Codex, якщо потрібна хірургія нативного треду. | +| `tool_result_persist` для записів нативних інструментів Codex | Цей хук трансформує записи transcript, якими володіє OpenClaw, а не записи нативних інструментів Codex. | Можна дзеркалити трансформовані записи, але канонічне переписування потребує підтримки Codex. | +| Розширені нативні метадані Compaction | OpenClaw спостерігає початок і завершення Compaction, але не отримує стабільний список збереженого/відкинутого, дельту токенів або payload підсумку. | Потрібні багатші події Compaction Codex. | +| Втручання в Compaction | Поточні хуки Compaction OpenClaw у режимі Codex мають рівень сповіщень. | Додати хуки Codex pre/post Compaction, якщо plugins мають накладати вето або переписувати нативну Compaction. | +| Побайтове захоплення API-запиту моделі | OpenClaw може захоплювати запити до сервера застосунку та сповіщення, але ядро Codex будує фінальний API-запит OpenAI внутрішньо. | Потрібна подія трасування запиту моделі Codex або API налагодження. | ## Інструменти, медіа та Compaction -Обв'язка Codex змінює лише низькорівневий вбудований виконавець агента. +Harness Codex змінює лише низькорівневий вбудований виконавець агента. -OpenClaw і надалі будує список інструментів і отримує результати динамічних інструментів від обв'язки. Текст, зображення, відео, музика, TTS, підтвердження та вихідні дані messaging-tool продовжують проходити через звичайний шлях доставки OpenClaw. +OpenClaw і далі будує список інструментів і отримує результати динамічних інструментів від +harness. Текст, зображення, відео, музика, TTS, схвалення та вивід інструментів обміну повідомленнями +і далі проходять через звичайний шлях доставки OpenClaw. -Ретранслятор нативних хуків навмисно є універсальним, але контракт підтримки v1 обмежений шляхами нативних інструментів і дозволів Codex, які тестує OpenClaw. У runtime Codex це включає payload shell, patch і MCP `PreToolUse`, `PostToolUse` та `PermissionRequest`. Не припускайте, що кожна майбутня подія хуків Codex є поверхнею Plugin OpenClaw, доки runtime-контракт її не назве. +Ретрансляція нативного хука навмисно є універсальною, але контракт підтримки v1 +обмежений шляхами нативних інструментів і дозволів Codex, які тестує OpenClaw. У +runtime Codex це включає payload shell, patch і MCP `PreToolUse`, +`PostToolUse` і `PermissionRequest`. Не припускайте, що кожна майбутня +подія хука Codex є поверхнею Plugin OpenClaw, доки контракт runtime не назве +її. -Для `PermissionRequest` OpenClaw повертає явні рішення allow або deny лише тоді, коли це вирішує політика. Результат без рішення не є дозволом. Codex трактує його як відсутність рішення хука й переходить до власного guardian або шляху підтвердження користувачем. +Для `PermissionRequest` OpenClaw повертає явні рішення дозволити або відхилити +лише тоді, коли це вирішує політика. Результат без рішення не є дозволом. Codex трактує його як відсутність +рішення хука й переходить до власного шляху guardian або схвалення користувача. -Запити схвалення інструментів Codex MCP маршрутизуються через потік схвалення Plugin OpenClaw, коли Codex позначає `_meta.codex_approval_kind` як `"mcp_tool_call"`. Підказки Codex `request_user_input` надсилаються назад до початкового чату, а наступне повідомлення follow-up у черзі відповідає на цей нативний запит сервера, замість того щоб спрямовуватися як додатковий контекст. Інші запити MCP elicitation і надалі fail closed. +Запити схвалення інструментів MCP Codex маршрутизуються через потік схвалення Plugin +OpenClaw, коли Codex позначає `_meta.codex_approval_kind` як +`"mcp_tool_call"`. Підказки Codex `request_user_input` надсилаються назад до +початкового чату, а наступне поставлене в чергу подальше повідомлення відповідає на цей нативний +запит сервера замість того, щоб спрямовуватися як додатковий контекст. Інші запити elicitation MCP +і далі завершуються закритою відмовою. -Коли вибрана модель використовує обв'язку Codex, нативний Compaction потоку делегується Codex app-server. OpenClaw зберігає дзеркало транскрипту для історії каналів, пошуку, `/new`, `/reset` і майбутнього перемикання моделі або обв'язки. Дзеркало включає підказку користувача, фінальний текст асистента та легкі записи міркувань або плану Codex, коли app-server їх emits. Наразі OpenClaw записує лише сигнали початку й завершення нативного Compaction. Він ще не надає читабельний для людини підсумок Compaction або аудитований список того, які записи Codex зберіг після Compaction. +Коли вибрана модель використовує Codex harness, нативна Compaction потоку +делегується Codex app-server. OpenClaw зберігає дзеркало транскрипту для історії +каналу, пошуку, `/new`, `/reset` і майбутнього перемикання моделі або harness. Дзеркало +містить запит користувача, фінальний текст асистента та легкі записи міркувань +або плану Codex, коли app-server їх видає. Нині OpenClaw лише записує сигнали +початку й завершення нативної Compaction. Він ще не надає людиночитного +підсумку Compaction або придатного для аудиту списку записів, які Codex +зберіг після Compaction. -Оскільки Codex володіє канонічним нативним потоком, `tool_result_persist` наразі не переписує записи результатів нативних інструментів Codex. Він застосовується лише тоді, коли OpenClaw записує результат інструмента в транскрипт сеансу, яким володіє OpenClaw. +Оскільки Codex володіє канонічним нативним потоком, `tool_result_persist` зараз +не перезаписує записи результатів інструментів, нативні для Codex. Він застосовується +лише тоді, коли OpenClaw записує результат інструмента в транскрипт сесії, +яким володіє OpenClaw. -Генерація медіа не потребує PI. Розуміння зображень, відео, музики, PDF, TTS і медіа й надалі використовує відповідні налаштування provider/model, як-от `agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` і `messages.tts`. +Генерація медіа не потребує PI. Зображення, відео, музика, PDF, TTS і +розуміння медіа й надалі використовують відповідні налаштування провайдера/моделі, +такі як `agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` і +`messages.tts`. ## Усунення несправностей **Codex не відображається як звичайний провайдер `/model`:** це очікувано для -нових конфігурацій. Виберіть модель `openai/gpt-*` із +нових конфігурацій. Виберіть модель `openai/gpt-*` з `agentRuntime.id: "codex"` (або застаріле посилання `codex/*`), увімкніть `plugins.entries.codex.enabled` і перевірте, чи `plugins.allow` не виключає `codex`. **OpenClaw використовує PI замість Codex:** `agentRuntime.id: "auto"` усе ще може використовувати PI як -сумісний бекенд, коли жоден harness Codex не бере запуск на себе. Установіть -`agentRuntime.id: "codex"`, щоб примусово вибрати Codex під час тестування. A -примусовий runtime Codex тепер завершується помилкою замість повернення до PI, якщо ви -явно не встановите `agentRuntime.fallback: "pi"`. Коли app-server Codex -вибрано, його помилки відображаються напряму без додаткової конфігурації fallback. +бекенд сумісності, коли жоден Codex harness не бере запуск на себе. Установіть +`agentRuntime.id: "codex"`, щоб примусово вибрати Codex під час тестування. +Примусове середовище виконання Codex тепер завершується помилкою замість +відкату до PI, якщо ви явно не встановите `agentRuntime.fallback: "pi"`. Після +вибору Codex app-server його помилки відображаються напряму без додаткової +конфігурації відкату. -**App-server відхилено:** оновіть Codex, щоб handshake app-server -повідомляв версію `0.125.0` або новішу. Пререлізи тієї самої версії або версії із суфіксом збірки, -такі як `0.125.0-alpha.2` або `0.125.0+custom`, відхиляються, оскільки +**app-server відхилено:** оновіть Codex, щоб handshake app-server +повідомляв версію `0.125.0` або новішу. Попередні випуски тієї самої версії або версії із суфіксом збірки, +як-от `0.125.0-alpha.2` чи `0.125.0+custom`, відхиляються, оскільки стабільний мінімум протоколу `0.125.0` — це те, що тестує OpenClaw. **Виявлення моделей повільне:** зменште `plugins.entries.codex.config.discovery.timeoutMs` або вимкніть виявлення. -**Транспорт WebSocket одразу завершується збоєм:** перевірте `appServer.url`, `authToken`, -і що віддалений app-server використовує ту саму версію протоколу app-server Codex. +**Транспорт WebSocket одразу завершується помилкою:** перевірте `appServer.url`, `authToken`, +а також те, що віддалений app-server використовує ту саму версію протоколу Codex app-server. -**Модель не Codex використовує PI:** це очікувано, якщо тільки ви не примусили +**Модель не Codex використовує PI:** це очікувано, якщо ви не примусили `agentRuntime.id: "codex"` для цього агента або не вибрали застаріле посилання `codex/*`. Звичайні `openai/gpt-*` та інші посилання провайдерів залишаються на своєму звичайному шляху провайдера в режимі `auto`. Якщо ви примусово встановите `agentRuntime.id: "codex"`, кожен вбудований -хід для цього агента має бути моделлю OpenAI, яку підтримує Codex. +хід для цього агента має бути підтримуваною Codex моделлю OpenAI. **Computer Use установлено, але інструменти не запускаються:** перевірте -`/codex computer-use status` із нового сеансу. Якщо інструмент повідомляє -`Native hook relay unavailable`, використайте `/new` або `/reset`; якщо це не зникає, перезапустіть -Gateway, щоб очистити застарілі реєстрації native hook. Якщо `computer-use.list_apps` -завершується за timeout, перезапустіть Codex Computer Use або Codex Desktop і повторіть спробу. +`/codex computer-use status` з нової сесії. Якщо інструмент повідомляє +`Native hook relay unavailable`, використайте `/new` або `/reset`; якщо це зберігається, перезапустіть +Gateway, щоб очистити застарілі реєстрації нативних hooks. Якщо `computer-use.list_apps` +завершується за тайм-аутом, перезапустіть Codex Computer Use або Codex Desktop і повторіть спробу. ## Пов’язане -- [Плагіни agent harness](/uk/plugins/sdk-agent-harness) -- [Runtime агентів](/uk/concepts/agent-runtimes) +- [Plugins harness агента](/uk/plugins/sdk-agent-harness) +- [Середовища виконання агентів](/uk/concepts/agent-runtimes) - [Провайдери моделей](/uk/concepts/model-providers) - [Провайдер OpenAI](/uk/providers/openai) - [Стан](/uk/cli/status) -- [Хуки Plugin](/uk/plugins/hooks) +- [Plugin hooks](/uk/plugins/hooks) - [Довідник конфігурації](/uk/gateway/configuration-reference) - [Тестування](/uk/help/testing-live#live-codex-app-server-harness-smoke)