diff --git a/docs/uk/concepts/system-prompt.md b/docs/uk/concepts/system-prompt.md index a1dd128bc..3ba166678 100644 --- a/docs/uk/concepts/system-prompt.md +++ b/docs/uk/concepts/system-prompt.md @@ -1,36 +1,36 @@ --- read_when: - Редагування тексту системного промпта, списку інструментів або розділів часу/Heartbeat - - Зміна поведінки ініціалізації робочого простору або впровадження Skills + - Зміна поведінки початкового налаштування робочого простору або ін’єкції Skills summary: Що містить системний промпт OpenClaw і як він формується title: Системний промпт x-i18n: - generated_at: "2026-05-02T21:49:35Z" + generated_at: "2026-05-02T22:25:53Z" model: gpt-5.5 provider: openai - source_hash: 3b8761a8722bb328b937e0832774be7b4e99602ae032c9a255f26843237c110c + source_hash: b7abd69fb16cb70e3111b71747647957a1dacc1261fe7a4809b8f25c1551f1a1 source_path: concepts/system-prompt.md workflow: 16 --- -OpenClaw створює власний системний промпт для кожного запуску агента. Промпт **належить OpenClaw** і не використовує стандартний промпт pi-coding-agent. +OpenClaw створює власний системний промпт для кожного запуску агента. Промпт **належить OpenClaw** і не використовує типовий промпт pi-coding-agent. Промпт збирається OpenClaw і впроваджується в кожен запуск агента. -Plugins провайдерів можуть додавати кеш-орієнтовані вказівки для промпта, не замінюючи -повний промпт, що належить OpenClaw. Runtime провайдера може: +Provider plugins можуть додавати cache-aware настанови для промпта без заміни +повного промпта, що належить OpenClaw. Provider runtime може: - замінювати невеликий набір іменованих основних розділів (`interaction_style`, `tool_call_style`, `execution_bias`) -- впроваджувати **стабільний префікс** над межею кешу промпта -- впроваджувати **динамічний суфікс** під межею кешу промпта +- вставляти **стабільний префікс** над межею кешу промпта +- вставляти **динамічний суфікс** під межею кешу промпта -Використовуйте внески, що належать провайдеру, для налаштування під конкретні сімейства моделей. Залишайте застарілу -мутацію промпта `before_prompt_build` для сумісності або справді глобальних змін промпта, -а не для звичайної поведінки провайдера. +Використовуйте внески, що належать provider, для налаштування під конкретні сімейства моделей. Залишайте застарілу +мутацію промпта `before_prompt_build` для сумісності або справді глобальних змін +промпта, а не для звичайної поведінки provider. Оверлей сімейства OpenAI GPT-5 зберігає основне правило виконання невеликим і додає -модельно-специфічні вказівки щодо фіксації персони, стислого виводу, дисципліни інструментів, +настанови, специфічні для моделі, щодо закріплення persona, стислого виводу, дисципліни інструментів, паралельного пошуку, покриття результатів, перевірки, відсутнього контексту та гігієни термінальних інструментів. @@ -38,117 +38,117 @@ Plugins провайдерів можуть додавати кеш-орієнт Промпт навмисно компактний і використовує фіксовані розділи: -- **Інструменти**: нагадування про структурований інструмент як джерело істини, а також runtime-вказівки щодо використання інструментів. -- **Упередження до виконання**: компактні вказівки для доведення роботи до кінця: діяти в межах поточного ходу на - actionable-запити, продовжувати до завершення або блокування, відновлюватися після слабких результатів інструментів, - перевіряти змінний стан наживо й перевіряти перед фіналізацією. -- **Безпека**: коротке нагадування-обмежувач уникати поведінки, спрямованої на здобуття влади, або обходу нагляду. -- **Skills** (коли доступні): пояснює моделі, як завантажувати інструкції Skills на вимогу. -- **Самооновлення OpenClaw**: як безпечно перевіряти config за допомогою - `config.schema.lookup`, виправляти config через `config.patch`, замінювати повний - config через `config.apply` і запускати `update.run` лише за явним запитом користувача. - Інструмент `gateway`, доступний лише власнику, також відмовляється переписувати +- **Інструменти**: нагадування про структуровані інструменти як джерело істини плюс runtime-настанови щодо використання інструментів. +- **Схильність до виконання**: компактні настанови для доведення задач до кінця: діяти в межах поточного ходу для + actionable-запитів, продовжувати до завершення або блокування, відновлюватися після слабких результатів + інструментів, перевіряти змінний стан наживо та перевіряти перед фіналізацією. +- **Безпека**: коротке нагадування про запобіжники, щоб уникати поведінки, спрямованої на здобуття влади, або обходу нагляду. +- **Skills** (коли доступні): пояснює моделі, як завантажувати інструкції skill на вимогу. +- **Самооновлення OpenClaw**: як безпечно перевіряти конфігурацію через + `config.schema.lookup`, застосовувати патчі до конфігурації через `config.patch`, замінювати повну + конфігурацію через `config.apply` і запускати `update.run` лише за явним запитом + користувача. Owner-only інструмент `gateway` також відмовляється переписувати `tools.exec.ask` / `tools.exec.security`, включно із застарілими псевдонімами `tools.bash.*`, - які нормалізуються до цих захищених шляхів exec. -- **Робочий простір**: робочий каталог (`agents.defaults.workspace`). -- **Документація**: локальний шлях до документації OpenClaw (repo або npm-пакет) і коли її читати. -- **Файли робочого простору (впроваджені)**: вказує, що bootstrap-файли включено нижче. -- **Пісочниця** (коли увімкнено): вказує sandboxed runtime, шляхи пісочниці та чи доступний підвищений exec. -- **Поточна дата й час**: локальний для користувача час, часовий пояс і формат часу. -- **Теги відповіді**: необов’язковий синтаксис тегів відповіді для підтримуваних провайдерів. -- **Heartbeats**: Heartbeat-промпт і поведінка ack, коли heartbeats увімкнено для агента за замовчуванням. -- **Runtime**: host, OS, node, модель, корінь repo (коли виявлено), рівень мислення (один рядок). -- **Міркування**: поточний рівень видимості + підказка перемикача /reasoning. + які нормалізуються до цих захищених exec-шляхів. +- **Робоча область**: робочий каталог (`agents.defaults.workspace`). +- **Документація**: локальний шлях до документації OpenClaw (репозиторій або npm-пакет) і коли її читати. +- **Файли робочої області (впроваджені)**: вказує, що bootstrap-файли включені нижче. +- **Пісочниця** (коли ввімкнено): вказує sandboxed runtime, шляхи пісочниці та чи доступний exec з підвищеними правами. +- **Поточні дата й час**: локальний час користувача, часовий пояс і формат часу. +- **Теги відповіді**: необов’язковий синтаксис тегів відповіді для підтримуваних providers. +- **Heartbeats**: Heartbeat-промпт і поведінка підтвердження, коли Heartbeats увімкнені для типового агента. +- **Runtime**: хост, ОС, node, модель, корінь репозиторію (коли виявлено), рівень мислення (один рядок). +- **Міркування**: поточний рівень видимості + підказка про перемикач /reasoning. OpenClaw тримає великий стабільний вміст, включно з **Контекстом проєкту**, над -внутрішньою межею кешу промпта. Мінливі розділи каналу/сесії, як-от -вказівки для вбудовування Control UI, **Повідомлення**, **Голос**, **Контекст групового чату**, -**Реакції**, **Heartbeats** і **Runtime**, додаються під цією межею, -щоб локальні бекенди з префіксними кешами могли повторно використовувати стабільний префікс робочого простору +внутрішньою межею кешу промпта. Нестабільні розділи каналу/сесії, як-от +настанови для вбудовування Control UI, **Повідомлення**, **Голос**, **Контекст групового чату**, +**Реакції**, **Heartbeats** і **Runtime**, додаються нижче цієї межі, +щоб локальні бекенди з префіксними кешами могли повторно використовувати стабільний префікс робочої області між ходами каналу. Описи інструментів так само мають уникати вбудовування поточних назв каналів, коли прийнята схема вже містить цю runtime-деталь. -Розділ Інструментів також містить runtime-вказівки для довготривалої роботи: +Розділ «Інструменти» також включає runtime-настанови для довготривалої роботи: -- використовуйте cron для майбутніх подальших дій (`check back later`, нагадування, повторювана робота) - замість циклів сну в `exec`, трюків із затримкою `yieldMs` або повторного опитування - `process` -- використовуйте `exec` / `process` лише для команд, які запускаються зараз і продовжують працювати +- використовуйте cron для майбутніх follow-up (`check back later`, нагадування, повторювана робота) + замість циклів сну в `exec`, трюків із затримкою `yieldMs` або повторного + опитування `process` +- використовуйте `exec` / `process` лише для команд, які стартують зараз і продовжують працювати у фоновому режимі -- коли автоматичне пробудження після завершення увімкнено, запустіть команду один раз і покладайтеся на - push-based шлях пробудження, коли вона видає вивід або завершується помилкою +- коли ввімкнене автоматичне пробудження після завершення, запустіть команду один раз і покладайтеся на + push-based шлях пробудження, коли вона виводить дані або завершується з помилкою - використовуйте `process` для логів, статусу, вводу або втручання, коли потрібно - перевірити команду, що виконується -- якщо завдання більше, віддавайте перевагу `sessions_spawn`; завершення субагента є - push-based і автоматично повідомляє requester + перевірити запущену команду +- якщо задача більша, віддавайте перевагу `sessions_spawn`; завершення sub-agent є + push-based і автоматично оголошується назад requester - не опитуйте `subagents list` / `sessions_list` у циклі лише для очікування завершення -Коли експериментальний інструмент `update_plan` увімкнено, Інструменти також повідомляють +Коли експериментальний інструмент `update_plan` увімкнено, розділ «Інструменти» також вказує моделі використовувати його лише для нетривіальної багатоетапної роботи, тримати рівно один крок `in_progress` і уникати повторення всього плану після кожного оновлення. -Безпекові обмежувачі в системному промпті мають рекомендаційний характер. Вони спрямовують поведінку моделі, але не забезпечують примусове застосування політики. Використовуйте політики інструментів, затвердження exec, sandboxing і allowlists каналів для жорсткого застосування; оператори можуть вимикати це за задумом. +Запобіжники безпеки в системному промпті мають рекомендаційний характер. Вони спрямовують поведінку моделі, але не забезпечують примусове виконання політик. Для жорсткого примусу використовуйте політики інструментів, exec-схвалення, пісочницю та allowlists каналів; оператори можуть вимикати їх за задумом. -На каналах із нативними картками/кнопками затвердження runtime-промпт тепер повідомляє -агенту спершу покладатися на цей нативний UI затвердження. Він має включати ручну -команду `/approve` лише тоді, коли результат інструмента повідомляє, що затвердження в чаті недоступні або -ручне затвердження є єдиним шляхом. +У каналах із нативними картками/кнопками схвалення runtime-промпт тепер каже +агенту спершу покладатися на цей нативний UI схвалення. Він має включати ручну +команду `/approve` лише тоді, коли результат інструмента каже, що схвалення в чаті недоступні або +ручне схвалення є єдиним шляхом. ## Режими промпта -OpenClaw може рендерити менші системні промпти для субагентів. Runtime встановлює -`promptMode` для кожного запуску (це не користувацький config): +OpenClaw може рендерити менші системні промпти для sub-agents. Runtime встановлює +`promptMode` для кожного запуску (це не user-facing конфігурація): -- `full` (за замовчуванням): включає всі розділи вище. -- `minimal`: використовується для субагентів; пропускає **Skills**, **Відкликання пам’яті**, **Самооновлення OpenClaw - **, **Псевдоніми моделей**, **Ідентичність користувача**, **Теги відповіді**, - **Повідомлення**, **Тихі відповіді** і **Heartbeats**. Інструменти, **Безпека**, - Робочий простір, Пісочниця, Поточна дата й час (коли відомо), Runtime і впроваджений +- `full` (типово): включає всі розділи вище. +- `minimal`: використовується для sub-agents; пропускає **Skills**, **Відновлення пам’яті**, **Самооновлення OpenClaw**, + **Псевдоніми моделей**, **Ідентичність користувача**, **Теги відповіді**, + **Повідомлення**, **Мовчазні відповіді** та **Heartbeats**. Інструменти, **Безпека**, + робоча область, пісочниця, поточні дата й час (коли відомі), Runtime і впроваджений контекст залишаються доступними. - `none`: повертає лише базовий рядок ідентичності. -Коли `promptMode=minimal`, додатково впроваджені промпти позначаються як **Контекст субагента** +Коли `promptMode=minimal`, додаткові впроваджені промпти позначаються як **Контекст subagent** замість **Контекст групового чату**. -Для запусків автовідповіді каналу OpenClaw може пропускати загальний розділ **Тихі відповіді**, -коли контекст прямого/групового чату вже містить вирішену -поведінку `NO_REPLY`, специфічну для розмови. Це уникає повторення механіки токенів +Для запусків авто-відповіді каналу OpenClaw може пропускати загальний розділ **Мовчазні відповіді**, +коли контекст прямого/групового чату вже включає розв’язану +conversation-specific поведінку `NO_REPLY`. Це уникає повторення механіки токенів і в глобальному системному промпті, і в контексті каналу. ## Знімки промптів -OpenClaw зберігає закомічені happy-path знімки промптів для runtime Codex/message-tool -у `test/fixtures/agents/prompt-snapshots/happy-path/`. Вони рендерять -вибрані параметри thread/turn app-сервера, а також реконструйований стек шарів промпта, -прив’язаний до моделі, для прямих Telegram, групових Discord і Heartbeat-ходів. Цей стек -містить закріплену фікстуру промпта моделі Codex `gpt-5.5`, згенеровану з форми -каталогу/кешу моделей Codex, developer-текст дозволів happy-path Codex, -developer-інструкції OpenClaw, ввід користувацького ходу та посилання на динамічні +OpenClaw зберігає закомічені happy-path знімки промптів для Codex/message-tool +runtime у `test/fixtures/agents/prompt-snapshots/happy-path/`. Вони рендерять +вибрані app-server параметри thread/turn плюс реконструйований стек шарів промпта, прив’язаний до моделі, +для прямих ходів Telegram, групових ходів Discord і heartbeat-ходів. Цей стек +включає pinned фікстуру промпта моделі Codex `gpt-5.5`, згенеровану з форми +каталогу/кешу моделей Codex, developer-текст дозволів Codex happy-path, +інструкції розробника OpenClaw, ввід ходу користувача та посилання на динамічні специфікації інструментів. -Оновіть закріплену фікстуру промпта моделі Codex за допомогою -`pnpm prompt:snapshots:sync-codex-model`. За замовчуванням скрипт шукає -runtime-кеш Codex у `$CODEX_HOME/models_cache.json`, потім у -`~/.codex/models_cache.json`, і лише після цього повертається до convention maintainer checkout Codex +Оновіть pinned фікстуру промпта моделі Codex за допомогою +`pnpm prompt:snapshots:sync-codex-model`. Типово скрипт шукає +runtime-кеш Codex у `$CODEX_HOME/models_cache.json`, потім +`~/.codex/models_cache.json`, і лише після цього повертається до maintainer-конвенції checkout Codex у `~/code/codex/codex-rs/models-manager/models.json`. Якщо жодне з цих джерел не існує, команда завершується без зміни закоміченої фікстури. Передайте `--catalog `, щоб оновити з конкретного файлу `models_cache.json` або `models.json`. -Ці знімки все ще не є байт-у-байт сирим захопленням запиту OpenAI. Codex -може додавати runtime-owned контекст робочого простору, як-от `AGENTS.md`, контекст -середовища, memories, app/plugin-інструкції та майбутні інструкції collaboration-mode -усередині runtime Codex після того, як OpenClaw надсилає параметри thread і turn. +Ці знімки все ще не є побайтовим raw-захопленням запиту OpenAI. Codex +може додавати runtime-owned контекст робочої області, як-от `AGENTS.md`, контекст +середовища, memories, інструкції app/plugin і майбутні інструкції collaboration-mode +всередині Codex runtime після того, як OpenClaw надсилає параметри thread і turn. -Повторно згенеруйте їх за допомогою `pnpm prompt:snapshots:gen` і перевірте drift через +Перегенеруйте їх за допомогою `pnpm prompt:snapshots:gen` і перевірте drift за допомогою `pnpm prompt:snapshots:check`. CI запускає перевірку drift у додатковому -boundary shard, щоб зміни промпта й оновлення знімків залишалися прив’язаними до того самого +boundary shard, щоб зміни промптів і оновлення знімків залишалися прив’язаними до того самого PR. -## Впровадження bootstrap робочого простору +## Впровадження bootstrap робочої області -Bootstrap-файли обрізаються й додаються під **Контекстом проєкту**, щоб модель бачила ідентичність і контекст профілю без потреби в явних читаннях: +Bootstrap-файли обрізаються та додаються під **Контекстом проєкту**, щоб модель бачила контекст ідентичності й профілю без потреби в явному читанні: - `AGENTS.md` - `SOUL.md` @@ -156,71 +156,78 @@ Bootstrap-файли обрізаються й додаються під **Ко - `IDENTITY.md` - `USER.md` - `HEARTBEAT.md` -- `BOOTSTRAP.md` (лише в абсолютно нових робочих просторах) +- `BOOTSTRAP.md` (лише для зовсім нових робочих областей) - `MEMORY.md`, коли присутній Усі ці файли **впроваджуються у вікно контексту** на кожному ході, якщо -не застосовується gate для конкретного файлу. `HEARTBEAT.md` пропускається у звичайних запусках, коли -heartbeats вимкнено для агента за замовчуванням або +не застосовується file-specific gate. `HEARTBEAT.md` пропускається у звичайних запусках, коли +heartbeats вимкнені для типового агента або `agents.defaults.heartbeat.includeSystemPromptSection` має значення false. Тримайте впроваджені -файли стислими — особливо `MEMORY.md`, який може зростати з часом і призводити до +файли стислими — особливо `MEMORY.md`, який може з часом зростати й призводити до неочікувано високого використання контексту та частішої Compaction. +Коли сесія працює на нативному Codex harness, Codex завантажує `AGENTS.md` +через власне виявлення проєктної документації. OpenClaw все одно розв’язує решту +bootstrap-файлів і передає їх як інструкції конфігурації Codex, тож `SOUL.md`, +`TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` і +`MEMORY.md` зберігають ту саму роль контексту робочої області без дублювання +`AGENTS.md`. + -Щоденні файли `memory/*.md` **не** є частиною звичайного bootstrap Контексту проєкту. У звичайних ходах до них звертаються на вимогу через інструменти `memory_search` і `memory_get`, тому вони не враховуються у вікні контексту, якщо модель явно їх не читає. Винятком є голі ходи `/new` і `/reset`: runtime може додати нещодавню щоденну пам’ять як одноразовий блок startup-context для цього першого ходу. +Щоденні файли `memory/*.md` **не** є частиною звичайного bootstrap Контексту проєкту. У звичайних ходах до них звертаються на вимогу через інструменти `memory_search` і `memory_get`, тож вони не враховуються у вікні контексту, якщо модель явно їх не читає. Голі ходи `/new` і `/reset` є винятком: runtime може додати останню щоденну пам’ять на початок як одноразовий блок startup-context для цього першого ходу. Великі файли обрізаються з маркером. Максимальний розмір на файл контролюється -`agents.defaults.bootstrapMaxChars` (за замовчуванням: 12000). Загальний впроваджений bootstrap-вміст +`agents.defaults.bootstrapMaxChars` (типово: 12000). Загальний впроваджений bootstrap-вміст усіх файлів обмежується `agents.defaults.bootstrapTotalMaxChars` -(за замовчуванням: 60000). Відсутні файли впроваджують короткий маркер missing-file. Коли стається обрізання, -OpenClaw може впровадити блок попередження в Контекст проєкту; керуйте цим через +(типово: 60000). Відсутні файли впроваджують короткий маркер missing-file. Коли відбувається обрізання, +OpenClaw може впровадити warning-блок у Контекст проєкту; керуйте цим через `agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`; -за замовчуванням: `once`). +типово: `once`). -Сесії субагентів впроваджують лише `AGENTS.md` і `TOOLS.md` (інші bootstrap-файли -відфільтровуються, щоб тримати контекст субагента малим). +Сесії sub-agent впроваджують лише `AGENTS.md` і `TOOLS.md` (інші bootstrap-файли +відфільтровуються, щоб зберегти контекст sub-agent малим). -Внутрішні hooks можуть перехопити цей крок через `agent:bootstrap`, щоб мутувати або замінити -впроваджені bootstrap-файли (наприклад, замінити `SOUL.md` на альтернативну персону). +Внутрішні hooks можуть перехоплювати цей крок через `agent:bootstrap`, щоб змінити або замінити +впроваджені bootstrap-файли (наприклад, замінити `SOUL.md` на альтернативну persona). -Якщо ви хочете зробити звучання агента менш типовим, почніть із +Якщо ви хочете, щоб агент звучав менш шаблонно, почніть із [Посібника з особистості SOUL.md](/uk/concepts/soul). -Щоб перевірити, скільки додає кожен впроваджений файл (сире проти впровадженого, обрізання, плюс overhead схеми інструментів), використовуйте `/context list` або `/context detail`. Див. [Контекст](/uk/concepts/context). +Щоб перевірити, скільки додає кожен впроваджений файл (raw проти впровадженого, обрізання, плюс накладні витрати схеми інструментів), використовуйте `/context list` або `/context detail`. Див. [Контекст](/uk/concepts/context). ## Обробка часу -Системний промпт містить окремий розділ **Поточна дата й час**, коли -часовий пояс користувача відомий. Щоб зберегти prompt cache-stable, тепер він містить лише -**часовий пояс** (без динамічного годинника або формату часу). +Системний промпт включає окремий розділ **Поточні дата й час**, коли +часовий пояс користувача відомий. Щоб зберегти cache-stable промпт, тепер він включає +лише **часовий пояс** (без динамічного годинника або формату часу). Використовуйте `session_status`, коли агенту потрібен поточний час; картка статусу -містить рядок timestamp. Той самий інструмент може необов’язково встановити per-session model -override (`model=default` очищує його). +містить рядок із timestamp. Той самий інструмент може необов’язково встановити per-session перевизначення моделі +(`model=default` очищає його). Налаштовується через: - `agents.defaults.userTimezone` - `agents.defaults.timeFormat` (`auto` | `12` | `24`) -Див. [Дата й час](/uk/date-time) для повних подробиць поведінки. +Див. [Дата й час](/uk/date-time), щоб отримати повні подробиці поведінки. ## Skills -Коли існують придатні Skills, OpenClaw впроваджує компактний **список доступних Skills** -(`formatSkillsForPrompt`), який містить **шлях до файлу** для кожної Skill. Промпт -інструктує модель використовувати `read`, щоб завантажити SKILL.md у вказаному -розташуванні (workspace, managed або bundled). Якщо придатних Skills немає, розділ -Skills пропускається. +Коли існують придатні skills, OpenClaw впроваджує компактний **список доступних skills** +(`formatSkillsForPrompt`), який включає **шлях до файлу** для кожного skill. Промпт +інструктує модель використовувати `read`, щоб завантажити SKILL.md за вказаним +розташуванням (робоча область, managed або bundled). Якщо немає придатних skills, +розділ Skills пропускається. -Придатність включає metadata gates Skills, runtime-перевірки середовища/config -і ефективний allowlist Skills агента, коли налаштовано `agents.defaults.skills` або +Придатність включає metadata gates skill, перевірки runtime-середовища/конфігурації +та ефективний allowlist skill агента, коли налаштовано `agents.defaults.skills` або `agents.list[].skills`. -Plugin-bundled Skills придатні лише тоді, коли їхній власний Plugin увімкнено. -Це дає tool plugins змогу надавати глибші операційні посібники без вбудовування всіх -цих вказівок безпосередньо в кожен опис інструмента. +Skills, bundled у plugin, придатні лише тоді, коли їхній owning plugin увімкнений. +Це дозволяє tool plugins надавати глибші операційні посібники без вбудовування всіх +цих настанов безпосередньо в кожен опис інструмента. ``` @@ -232,42 +239,28 @@ Plugin-bundled Skills придатні лише тоді, коли їхній в ``` -Це зберігає базовий промпт малим, водночас дозволяючи цільове використання Skills. +Це зберігає базовий промпт малим, водночас усе ще даючи змогу цільово використовувати skills. -Бюджет списку Skills належить підсистемі Skills: +Бюджет списку skills належить підсистемі skills: -- Глобальне значення за замовчуванням: `skills.limits.maxSkillsPromptChars` -- Per-agent override: `agents.list[].skillsLimits.maxSkillsPromptChars` +- Глобальне типове значення: `skills.limits.maxSkillsPromptChars` +- Per-agent перевизначення: `agents.list[].skillsLimits.maxSkillsPromptChars` -Загальні bounded runtime-уривки використовують іншу поверхню: +Узагальнені обмежені runtime-уривки використовують іншу поверхню: - `agents.defaults.contextLimits.*` - `agents.list[].contextLimits.*` -Цей поділ зберігає розмір Skills окремо від розміру runtime read/injection, як-от -`memory_get`, live результати інструментів і оновлення AGENTS.md після Compaction. +Таке розділення відокремлює налаштування розмірів Skills від налаштування розмірів читання/ін’єкції під час виконання, зокрема `memory_get`, результатів live tool і оновлень AGENTS.md після Compaction. ## Документація -Системний промпт містить розділ **Документація**. Коли локальна документація доступна, він -указує на локальний каталог документації OpenClaw (`docs/` у Git checkout або документацію -вбудованого npm-пакета). Якщо локальна документація недоступна, він використовує резервний варіант: -[https://docs.openclaw.ai](https://docs.openclaw.ai). +Системний prompt містить розділ **Документація**. Коли локальна документація доступна, він указує на локальний каталог документації OpenClaw (`docs/` у робочій копії Git або документацію з комплекту npm-пакета). Якщо локальна документація недоступна, використовується резервне джерело [https://docs.openclaw.ai](https://docs.openclaw.ai). -Цей самий розділ також містить розташування вихідного коду OpenClaw. Git checkouts показують локальний -корінь вихідного коду, щоб агент міг безпосередньо перевіряти код. Установлення пакета містять GitHub -URL вихідного коду й повідомляють агенту, що слід переглядати вихідний код там, коли документація неповна або -застаріла. Промпт також зазначає публічне дзеркало документації, Discord спільноти та ClawHub -([https://clawhub.ai](https://clawhub.ai)) для пошуку Skills. Він наказує моделі -спершу звертатися до документації щодо поведінки OpenClaw, команд, конфігурації або архітектури, а також -самостійно запускати `openclaw status`, коли це можливо (звертаючись до користувача лише тоді, коли бракує доступу). -Щодо конфігурації зокрема, він спрямовує агентів до дії інструмента `gateway` -`config.schema.lookup` для точної документації та обмежень на рівні полів, а потім до -`docs/gateway/configuration.md` і `docs/gateway/configuration-reference.md` -для ширших настанов. +У цьому самому розділі також указано розташування вихідного коду OpenClaw. Робочі копії Git відкривають локальний корінь вихідного коду, щоб агент міг безпосередньо переглядати код. Інсталяції пакета містять URL вихідного коду на GitHub і вказують агенту переглядати вихідний код там, коли документація неповна або застаріла. Prompt також зазначає публічне дзеркало документації, спільноту Discord і ClawHub ([https://clawhub.ai](https://clawhub.ai)) для пошуку Skills. Він указує моделі спочатку звертатися до документації щодо поведінки, команд, конфігурації або архітектури OpenClaw, а також самостійно запускати `openclaw status`, коли це можливо (запитуючи користувача лише тоді, коли доступу немає). Зокрема для конфігурації він скеровує агентів до дії інструмента `gateway` `config.schema.lookup`, щоб отримати точну документацію й обмеження на рівні полів, а потім до `docs/gateway/configuration.md` і `docs/gateway/configuration-reference.md` для ширших рекомендацій. ## Пов’язане - [Середовище виконання агента](/uk/concepts/agent) -- [Робочий простір агента](/uk/concepts/agent-workspace) +- [Робоча область агента](/uk/concepts/agent-workspace) - [Рушій контексту](/uk/concepts/context-engine) diff --git a/docs/uk/plugins/codex-harness.md b/docs/uk/plugins/codex-harness.md index f54151d42..5109c864d 100644 --- a/docs/uk/plugins/codex-harness.md +++ b/docs/uk/plugins/codex-harness.md @@ -1,58 +1,58 @@ --- read_when: - - Ви хочете використовувати вбудований стенд Codex app-server - - Вам потрібні приклади конфігурації середовища Codex - - Ви хочете, щоб розгортання лише з Codex завершувалися помилкою замість резервного переходу на PI -summary: Запускайте ходи вбудованого агента OpenClaw через комплектну обв’язку Codex app-server -title: Середовище Codex + - Ви хочете використовувати комплектну обв’язку app-server Codex + - Вам потрібні приклади конфігурації середовища запуску Codex + - Ви хочете, щоб розгортання лише з Codex завершувалися помилкою, а не переходили на Pi +summary: Запускайте ходи вбудованого агента OpenClaw через комплектне середовище запуску app-server Codex +title: Обв’язка Codex x-i18n: - generated_at: "2026-05-02T02:37:21Z" + generated_at: "2026-05-02T22:26:02Z" model: gpt-5.5 provider: openai - source_hash: 107f9fc0a3e8ad6a4790fc9eb68276c81d299236f11293014d2ab9bf6e235133 + source_hash: 8ffa0cbb28422b2ed8d7c0eef6ee0222072c523d170b4b33597bb37bd3fa9700 source_path: plugins/codex-harness.md workflow: 16 --- -Пакетний Plugin `codex` дає OpenClaw змогу виконувати вбудовані ходи агента через +Вбудований plugin `codex` дає OpenClaw змогу запускати вбудовані ходи агента через app-server Codex замість вбудованого середовища PI. -Використовуйте це, коли потрібно, щоб Codex керував низькорівневою сесією агента: виявленням +Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: виявленням моделей, нативним відновленням гілки, нативною Compaction та виконанням через app-server. -OpenClaw і далі керує чат-каналами, файлами сесій, вибором моделі, інструментами, -схваленнями, доставкою медіа та видимим дзеркалом транскрипту. +OpenClaw усе ще керує каналами чату, файлами сесій, вибором моделей, інструментами, +затвердженнями, доставкою медіа та видимим дзеркалом транскрипту. Коли хід із початкового чату виконується через середовище Codex, видимі відповіді за замовчуванням -надсилаються через інструмент OpenClaw `message`, якщо розгортання явно не налаштувало -`messages.visibleReplies`. Агент усе ще може завершити свій хід Codex приватно; -він публікує повідомлення в каналі лише тоді, коли викликає `message(action="send")`. Установіть -`messages.visibleReplies: "automatic"`, щоб зберегти фінальні відповіді в прямому чаті на +використовують інструмент OpenClaw `message`, якщо в розгортанні явно не налаштовано +`messages.visibleReplies`. Агент усе ще може приватно завершити свій хід Codex; +він публікує повідомлення в канал лише тоді, коли викликає `message(action="send")`. Установіть +`messages.visibleReplies: "automatic"`, щоб залишити фінальні відповіді в прямому чаті на застарілому автоматичному шляху доставки. -Ходи Heartbeat у Codex також за замовчуванням отримують інструмент `heartbeat_respond`, щоб -агент міг записати, чи пробудження має залишитися тихим або надіслати сповіщення, не кодувавши +Ходи Heartbeat Codex також за замовчуванням отримують інструмент `heartbeat_respond`, щоб +агент міг записати, чи пробудження має залишатися тихим, чи має надіслати сповіщення, не кодувавши цей потік керування у фінальному тексті. Якщо ви намагаєтеся зорієнтуватися, почніть з -[Середовищ виконання агентів](/uk/concepts/agent-runtimes). Коротко: -`openai/gpt-5.5` — це посилання на модель, `codex` — середовище виконання, а Telegram, +[середовищ виконання агентів](/uk/concepts/agent-runtimes). Коротко: +`openai/gpt-5.5` — це посилання на модель, `codex` — це середовище виконання, а Telegram, Discord, Slack або інший канал залишається поверхнею комунікації. ## Швидка конфігурація -Більшість користувачів, які хочуть "Codex в OpenClaw", потребують цього маршруту: увійти з -підпискою ChatGPT/Codex, а потім виконувати вбудовані ходи агента через нативне -середовище виконання app-server Codex. Посилання на модель і далі залишається канонічним як +Більшість користувачів, яким потрібен "Codex в OpenClaw", хочуть саме цей маршрут: увійти з +підпискою ChatGPT/Codex, а потім запускати вбудовані ходи агента через нативне +середовище виконання app-server Codex. Посилання на модель усе ще залишається канонічним як `openai/gpt-*`; автентифікація підписки надходить з облікового запису/профілю Codex, а не з префікса моделі `openai-codex/*`. -Спершу увійдіть через Codex OAuth, якщо ще цього не зробили: +Спочатку увійдіть через Codex OAuth, якщо ще цього не зробили: ```bash openclaw models auth login --provider openai-codex ``` -Потім увімкніть пакетний Plugin `codex` і примусово задайте середовище виконання Codex: +Потім увімкніть вбудований plugin `codex` і примусово встановіть середовище виконання Codex: ```json5 { @@ -92,21 +92,21 @@ openclaw models auth login --provider openai-codex Не використовуйте `openai-codex/gpt-*`, коли маєте на увазі нативне середовище виконання Codex. Цей префікс є явним маршрутом "Codex OAuth через PI". Зміни конфігурації застосовуються до нових або -скинутих сесій; наявні сесії зберігають записане середовище виконання. +скинутих сесій; наявні сесії зберігають записане для них середовище виконання. -## Що змінює цей Plugin +## Що змінює цей plugin -Пакетний Plugin `codex` додає кілька окремих можливостей: +Вбудований plugin `codex` додає кілька окремих можливостей: -| Можливість | Як ви її використовуєте | Що вона робить | +| Можливість | Як ви її використовуєте | Що вона робить | | --------------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------- | -| Нативне вбудоване середовище виконання | `agentRuntime.id: "codex"` | Виконує вбудовані ходи агента OpenClaw через app-server Codex. | -| Нативні команди керування чатом | `/codex bind`, `/codex resume`, `/codex steer`, ... | Прив’язує гілки app-server Codex до розмови в месенджері та керує ними. | -| Провайдер/каталог app-server Codex | внутрішні механізми `codex`, доступні через середовище | Дає середовищу виконання змогу виявляти й перевіряти моделі app-server. | -| Шлях розуміння медіа Codex | шляхи сумісності моделей зображень `codex/*` | Виконує обмежені ходи app-server Codex для підтримуваних моделей розуміння зображень. | -| Нативна ретрансляція хуків | Хуки Plugin навколо нативних подій Codex | Дає OpenClaw змогу спостерігати/блокувати підтримувані нативні події інструментів/фіналізації Codex. | +| Нативне вбудоване середовище виконання | `agentRuntime.id: "codex"` | Запускає вбудовані ходи агента OpenClaw через app-server Codex. | +| Нативні команди керування чатом | `/codex bind`, `/codex resume`, `/codex steer`, ... | Прив’язує гілки app-server Codex до розмови в месенджері й керує ними. | +| Провайдер/каталог app-server Codex | внутрішні компоненти `codex`, доступні через середовище | Дає середовищу виконання змогу виявляти й перевіряти моделі app-server. | +| Шлях розуміння медіа Codex | шляхи сумісності моделей зображень `codex/*` | Запускає обмежені ходи app-server Codex для підтримуваних моделей розуміння зображень. | +| Нативна ретрансляція хуків | Plugin хуки навколо нативних подій Codex | Дає OpenClaw змогу спостерігати/блокувати підтримувані нативні події інструментів/фіналізації Codex. | -Увімкнення Plugin робить ці можливості доступними. Воно **не**: +Увімкнення plugin робить ці можливості доступними. Воно **не**: - починає використовувати Codex для кожної моделі OpenAI - перетворює посилання на моделі `openai-codex/*` на нативне середовище виконання @@ -115,9 +115,9 @@ openclaw models auth login --provider openai-codex - замінює доставку каналами OpenClaw, файли сесій, сховище профілів автентифікації або маршрутизацію повідомлень -Цей самий Plugin також відповідає за нативну поверхню команд керування чатом `/codex`. Якщо -Plugin увімкнено й користувач просить прив’язати, відновити, скерувати, зупинити або переглянути -гілки Codex із чату, агенти мають надавати перевагу `/codex ...` перед ACP. ACP залишається +Той самий plugin також керує нативною поверхнею команд керування чатом `/codex`. Якщо +plugin увімкнено й користувач просить прив’язати, відновити, скерувати, зупинити або переглянути +гілки Codex із чату, агенти мають віддавати перевагу `/codex ...` замість ACP. ACP залишається явним резервним варіантом, коли користувач просить ACP/acpx або тестує адаптер ACP Codex. @@ -129,161 +129,173 @@ Codex. - `llm_input`, `llm_output` - `before_tool_call`, `after_tool_call` - `before_message_write` для дзеркальних записів транскрипту -- `before_agent_finalize` через ретрансляцію Codex `Stop` +- `before_agent_finalize` через ретрансляцію `Stop` Codex - `agent_end` Plugins також можуть реєструвати нейтральне до середовища виконання проміжне ПЗ результатів інструментів, щоб переписувати динамічні результати інструментів OpenClaw після того, як OpenClaw виконає інструмент, і до того, як -результат буде повернуто до Codex. Це окремо від публічного -хука Plugin `tool_result_persist`, який трансформує записи результатів інструментів у транскрипті, -що належать OpenClaw. +результат буде повернуто в Codex. Це окремо від публічного +хука plugin `tool_result_persist`, який трансформує записи результатів інструментів у транскрипті, +якими володіє OpenClaw. -Про саму семантику хуків Plugin див. [Хуки Plugin](/uk/plugins/hooks) -і [Поведінка захисту Plugin](/uk/tools/plugin). +Про семантику самих хуків plugin див. [хуки Plugin](/uk/plugins/hooks) +і [поведінку захисту Plugin](/uk/tools/plugin). -Середовище вимкнено за замовчуванням. Нові конфігурації мають зберігати посилання на моделі OpenAI -канонічними як `openai/gpt-*` і явно задавати +Середовище за замовчуванням вимкнене. Нові конфігурації мають залишати посилання на моделі OpenAI +канонічними як `openai/gpt-*` і явно примусово встановлювати `agentRuntime.id: "codex"` або `OPENCLAW_AGENT_RUNTIME=codex`, коли їм -потрібне нативне виконання app-server. Застарілі посилання на моделі `codex/*` і далі автоматично вибирають -це середовище для сумісності, але застарілі префікси провайдерів, підкріплені середовищем виконання, +потрібне нативне виконання через app-server. Застарілі посилання на моделі `codex/*` усе ще автоматично вибирають +середовище для сумісності, але застарілі префікси провайдерів із підтримкою середовища виконання не показуються як звичайні варіанти моделей/провайдерів. -Якщо Plugin `codex` увімкнено, але основна модель і далі +Якщо plugin `codex` увімкнено, але основна модель усе ще `openai-codex/*`, `openclaw doctor` попереджає замість того, щоб змінювати маршрут. Це -навмисно: `openai-codex/*` залишається шляхом Codex OAuth/підписки через PI, а -нативне виконання app-server лишається явним вибором середовища виконання. +навмисно: `openai-codex/*` залишається шляхом PI Codex OAuth/підписки, а +нативне виконання app-server залишається явним вибором середовища виконання. ## Мапа маршрутів Скористайтеся цією таблицею перед зміною конфігурації: -| Бажана поведінка | Посилання на модель | Конфігурація середовища виконання | Маршрут автентифікації/профілю | Очікувана мітка стану | -| ---------------------------------------------------- | -------------------------- | -------------------------------------- | ---------------------------- | ------------------------------ | -| Підписка ChatGPT/Codex з нативним середовищем виконання Codex | `openai/gpt-*` | `agentRuntime.id: "codex"` | Codex OAuth або обліковий запис Codex | `Runtime: OpenAI Codex` | -| OpenAI API через звичайний runner OpenClaw | `openai/gpt-*` | пропущено або `runtime: "pi"` | ключ OpenAI API | `Runtime: OpenClaw Pi Default` | -| Підписка ChatGPT/Codex через PI | `openai-codex/gpt-*` | пропущено або `runtime: "pi"` | провайдер OpenAI Codex OAuth | `Runtime: OpenClaw Pi Default` | -| Змішані провайдери з консервативним автоматичним режимом | посилання, специфічні для провайдера | `agentRuntime.id: "auto"` | Для вибраного провайдера | Залежить від вибраного середовища виконання | -| Явна сесія адаптера Codex ACP | залежить від prompt/моделі ACP | `sessions_spawn` з `runtime: "acp"` | автентифікація бекенду ACP | стан завдання/сесії ACP | +| Бажана поведінка | Посилання на модель | Конфігурація середовища виконання | Маршрут автентифікації/профілю | Очікувана мітка статусу | +| --------------------------------------------------- | -------------------------- | ---------------------------------------- | ------------------------------ | ------------------------------- | +| Підписка ChatGPT/Codex із нативним середовищем виконання Codex | `openai/gpt-*` | `agentRuntime.id: "codex"` | Codex OAuth або обліковий запис Codex | `Runtime: OpenAI Codex` | +| OpenAI API через звичайний runner OpenClaw | `openai/gpt-*` | пропущено або `runtime: "pi"` | Ключ OpenAI API | `Runtime: OpenClaw Pi Default` | +| Підписка ChatGPT/Codex через PI | `openai-codex/gpt-*` | пропущено або `runtime: "pi"` | Провайдер OpenAI Codex OAuth | `Runtime: OpenClaw Pi Default` | +| Змішані провайдери з консервативним автоматичним режимом | посилання, специфічні для провайдера | `agentRuntime.id: "auto"` | Для кожного вибраного провайдера | Залежить від вибраного середовища виконання | +| Явна сесія адаптера Codex ACP | залежить від prompt/model ACP | `sessions_spawn` з `runtime: "acp"` | Автентифікація backend ACP | Статус завдання/сесії ACP | Важливий поділ — між провайдером і середовищем виконання: -- `openai-codex/*` відповідає на запитання "який маршрут провайдера/автентифікації має використовувати PI?" -- `agentRuntime.id: "codex"` відповідає на запитання "який цикл має виконати цей +- `openai-codex/*` відповідає на питання "який маршрут провайдера/автентифікації має використовувати PI?" +- `agentRuntime.id: "codex"` відповідає на питання "який цикл має виконувати цей вбудований хід?" -- `/codex ...` відповідає на запитання "яку нативну розмову Codex має прив’язати +- `/codex ...` відповідає на питання "яку нативну розмову Codex має прив’язати або контролювати цей чат?" -- ACP відповідає на запитання "який зовнішній процес середовища має запустити acpx?" +- ACP відповідає на питання "який зовнішній процес середовища має запускати acpx?" ## Виберіть правильний префікс моделі -Маршрути сімейства OpenAI залежать від префікса. Для поширеного налаштування з підпискою плюс +Маршрути сімейства OpenAI залежать від префікса. Для типової конфігурації з підпискою плюс нативним середовищем виконання Codex використовуйте `openai/*` з `agentRuntime.id: "codex"`. -Використовуйте `openai-codex/*` лише тоді, коли навмисно хочете Codex OAuth через PI: +Використовуйте `openai-codex/*` лише тоді, коли свідомо хочете Codex OAuth через PI: -| Посилання на модель | Шлях середовища виконання | Коли використовувати | -| --------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------- | -| `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 зі стандартним runner PI. | -| `openai/gpt-5.5` + `agentRuntime.id: "codex"` | Середовище app-server Codex | Потрібна автентифікація підписки ChatGPT/Codex з нативним виконанням Codex. | +| Посилання на модель | Шлях середовища виконання | Коли використовувати | +| ------------------------------------------- | ------------------------------------------ | ------------------------------------------------------------------------ | +| `openai/gpt-5.4` | Провайдер OpenAI через plumbing OpenClaw/PI | Вам потрібен поточний прямий доступ до OpenAI Platform API з `OPENAI_API_KEY`. | +| `openai-codex/gpt-5.5` | OpenAI Codex OAuth через OpenClaw/PI | Вам потрібна автентифікація підписки ChatGPT/Codex зі стандартним runner PI. | +| `openai/gpt-5.5` + `agentRuntime.id: "codex"` | Середовище app-server Codex | Вам потрібна автентифікація підписки ChatGPT/Codex із нативним виконанням Codex. | -GPT-5.5 може з’являтися і на прямих маршрутах OpenAI API-ключа, і на маршрутах підписки Codex, -коли ваш обліковий запис їх відкриває. Використовуйте `openai/gpt-5.5` із середовищем app-server +GPT-5.5 може з’являтися і на маршрутах прямого API-ключа OpenAI, і на маршрутах підписки Codex, +коли ваш обліковий запис надає до них доступ. Використовуйте `openai/gpt-5.5` із середовищем app-server Codex для нативного середовища виконання Codex, `openai-codex/gpt-5.5` для PI OAuth або -`openai/gpt-5.5` без перевизначення середовища виконання Codex для прямого трафіку через API-ключ. +`openai/gpt-5.5` без перевизначення середовища виконання Codex для прямого трафіку API-ключа. -Застарілі посилання `codex/gpt-*` і далі приймаються як сумісні псевдоніми. Міграція сумісності -doctor переписує застарілі посилання на основне середовище виконання в канонічні посилання на модель -і записує політику середовища виконання окремо, тоді як застарілі посилання лише для резерву -залишаються без змін, бо середовище виконання налаштовується для всього контейнера агента. -Нові конфігурації PI Codex OAuth мають використовувати `openai-codex/gpt-*`; нові конфігурації -нативного середовища app-server мають використовувати `openai/gpt-*` плюс +Застарілі посилання `codex/gpt-*` залишаються прийнятними як псевдоніми сумісності. Міграція сумісності +doctor переписує застарілі основні посилання середовища виконання на канонічні посилання моделей +і окремо записує політику середовища виконання, тоді як застарілі посилання лише для fallback +залишаються незмінними, бо середовище виконання налаштовується для всього контейнера агента. +Нові конфігурації PI Codex OAuth мають використовувати `openai-codex/gpt-*`; нові конфігурації нативного +середовища app-server мають використовувати `openai/gpt-*` плюс `agentRuntime.id: "codex"`. -`agents.defaults.imageModel` використовує той самий поділ префіксів. Використовуйте +`agents.defaults.imageModel` дотримується того самого поділу префіксів. Використовуйте `openai-codex/gpt-*`, коли розуміння зображень має виконуватися через шлях провайдера OpenAI Codex OAuth. Використовуйте `codex/gpt-*`, коли розуміння зображень має виконуватися через обмежений хід app-server Codex. Модель app-server Codex має -оголошувати підтримку введення зображень; текстові моделі Codex завершуються помилкою до початку -ходу з медіа. +оголошувати підтримку введення зображень; текстові-only моделі Codex завершуються помилкою до початку медіа-ходу. -Використовуйте `/status`, щоб підтвердити фактичне середовище для поточної сесії. Якщо вибір -неочікуваний, увімкніть debug-журналювання для підсистеми `agents/harness` +Використовуйте `/status`, щоб підтвердити ефективне середовище для поточної сесії. Якщо +вибір дивує, увімкніть debug-логування для підсистеми `agents/harness` і перегляньте структурований запис Gateway `agent harness selected`. Він -містить вибраний ідентифікатор середовища, причину вибору, політику середовища виконання/резерву та, -у режимі `auto`, результат підтримки кожного кандидата Plugin. +містить вибраний ідентифікатор середовища, причину вибору, політику runtime/fallback і, +у режимі `auto`, результат підтримки для кожного кандидата plugin. ### Що означають попередження doctor -`openclaw doctor` попереджає, коли всі ці умови істинні: +`openclaw doctor` попереджає, коли все це істинне: -- пакетний Plugin `codex` увімкнено або дозволено +- вбудований plugin `codex` увімкнено або дозволено - основна модель агента — `openai-codex/*` -- фактичне середовище виконання цього агента не `codex` +- ефективне середовище виконання цього агента не є `codex` -Це попередження існує тому, що користувачі часто очікують, що "Plugin Codex увімкнено" означає +Це попередження існує, бо користувачі часто очікують, що "plugin Codex увімкнено" означає "нативне середовище виконання app-server Codex." OpenClaw не робить такого переходу. Попередження означає: -- **Жодних змін не потрібно**, якщо ви мали на увазі ChatGPT/Codex OAuth через PI. +- **Змін не потрібно**, якщо ви мали на увазі ChatGPT/Codex OAuth через PI. - Змініть модель на `openai/` і встановіть `agentRuntime.id: "codex"`, якщо ви мали на увазі нативне виконання app-server. -- Наявним сесіям після зміни середовища виконання все одно потрібні `/new` або `/reset`, - бо прив’язки середовища виконання сесій липкі. +- Наявні сесії все ще потребують `/new` або `/reset` після зміни середовища виконання, + бо прив’язки середовища виконання сесії є липкими. -Вибір середовища не є живим керуванням сесією. Коли виконується вбудований хід, -OpenClaw записує ідентифікатор вибраного середовища на цю сесію і продовжує використовувати його для +Вибір середовища не є керуванням живою сесією. Коли виконується вбудований хід, +OpenClaw записує вибраний ідентифікатор середовища в цій сесії та продовжує використовувати його для подальших ходів у тій самій сесії. Змініть конфігурацію `agentRuntime` або `OPENCLAW_AGENT_RUNTIME`, коли хочете, щоб майбутні сесії використовували інше середовище; використовуйте `/new` або `/reset`, щоб почати свіжу сесію перед перемиканням наявної -розмови між PI і Codex. Це запобігає повторному відтворенню одного транскрипту через +розмови між PI і Codex. Це запобігає повторному програванню одного транскрипту через дві несумісні нативні системи сесій. -Застарілі сесії, створені до появи прив’язок середовищ, вважаються прив’язаними до PI, щойно вони -мають історію транскрипту. Використовуйте `/new` або `/reset`, щоб включити цю розмову в +Застарілі сесії, створені до появи прив’язок середовища, вважаються прив’язаними до PI, щойно +мають історію транскрипту. Використовуйте `/new` або `/reset`, щоб перевести цю розмову на Codex після зміни конфігурації. -`/status` показує ефективне середовище виконання моделі. Типова обв’язка PI відображається як -`Runtime: OpenClaw Pi Default`, а обв’язка app-server Codex — як +`/status` показує фактичне середовище виконання моделі. Стандартна обв’язка PI відображається як +`Runtime: OpenClaw Pi Default`, а обв’язка Codex app-server відображається як `Runtime: OpenAI Codex`. ## Вимоги -- OpenClaw із доступним вбудованим `codex` plugin. -- Codex app-server `0.125.0` або новіший. Вбудований plugin типово керує сумісним +- OpenClaw із доступним вбудованим Plugin `codex`. +- Codex app-server `0.125.0` або новіший. Вбудований Plugin типово керує сумісним бінарним файлом Codex app-server, тому локальні команди `codex` у `PATH` не впливають на звичайний запуск обв’язки. - Авторизація Codex доступна процесу app-server або мосту авторизації Codex в - OpenClaw. Локальні запуски app-server використовують керований OpenClaw дім Codex - для кожного агента й ізольований дочірній `HOME`, тому типово не читають ваш - особистий обліковий запис `~/.codex`, Skills, plugins, конфігурацію, стан - ланцюжків або нативні `$HOME/.agents/skills`. + OpenClaw. Локальні запуски app-server використовують керований OpenClaw дім Codex для кожного + агента й ізольований дочірній `HOME`, тому типово не читають ваш особистий + обліковий запис `~/.codex`, Skills, plugins, конфігурацію, стан гілок або нативний + `$HOME/.agents/skills`. Plugin блокує старіші або неверсіоновані рукостискання app-server. Це утримує -OpenClaw на тій поверхні протоколу, проти якої його було протестовано. +OpenClaw на поверхні протоколу, проти якої його було протестовано. -Для живих і Docker smoke-тестів авторизація зазвичай надходить з облікового запису -Codex CLI або профілю авторизації OpenClaw `openai-codex`. Локальні stdio-запуски -app-server також можуть повертатися до `CODEX_API_KEY` / `OPENAI_API_KEY`, коли -обліковий запис відсутній. +Для live- і Docker smoke-тестів авторизація зазвичай надходить з облікового запису Codex CLI +або профілю авторизації OpenClaw `openai-codex`. Локальні stdio-запуски app-server також можуть +відступити до `CODEX_API_KEY` / `OPENAI_API_KEY`, коли обліковий запис відсутній. -## Додавання Codex поруч з іншими моделями +## Файли початкового налаштування робочої області -Не задавайте `agentRuntime.id: "codex"` глобально, якщо той самий агент має вільно -перемикатися між моделями Codex і моделями провайдерів не Codex. Примусове середовище -виконання застосовується до кожного вбудованого ходу для цього агента або сеансу. Якщо -ви виберете модель Anthropic, коли це середовище виконання примусове, OpenClaw усе одно -спробує обв’язку Codex і відмовить без прихованого маршрутизування цього ходу через PI. +Codex сам обробляє `AGENTS.md` через нативне виявлення документації проєкту. OpenClaw +не записує синтетичні файли документації проєкту Codex і не залежить від резервних +імен файлів Codex для файлів персони, бо резервні варіанти Codex застосовуються лише тоді, коли +`AGENTS.md` відсутній. -Натомість використайте одну з таких форм: +Для паритету робочої області OpenClaw обв’язка Codex знаходить інші файли початкового налаштування +(`SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, +`BOOTSTRAP.md` і `MEMORY.md`, якщо вони є) і передає їх через інструкції конфігурації Codex +на `thread/start` і `thread/resume`. Це зберігає +`SOUL.md` і пов’язаний контекст персони/профілю робочої області видимими без +дублювання `AGENTS.md`. -- Винесіть Codex в окремого агента з `agentRuntime.id: "codex"`. -- Залиште типового агента на `agentRuntime.id: "auto"` і fallback до PI для звичайного змішаного +## Додайте Codex поряд з іншими моделями + +Не встановлюйте `agentRuntime.id: "codex"` глобально, якщо той самий агент має вільно перемикатися +між Codex і моделями провайдерів не Codex. Примусове середовище виконання застосовується до кожного +вбудованого ходу для цього агента або сеансу. Якщо ви виберете модель Anthropic, коли +це середовище виконання примусово задане, OpenClaw все одно спробує обв’язку Codex і завершиться закрито +замість того, щоб непомітно маршрутизувати цей хід через PI. + +Натомість використовуйте одну з цих форм: + +- Помістіть Codex на окремого агента з `agentRuntime.id: "codex"`. +- Залиште стандартного агента на `agentRuntime.id: "auto"` і резервний PI для звичайного змішаного використання провайдерів. -- Використовуйте застарілі посилання `codex/*` лише для сумісності. Нові конфігурації мають надавати перевагу +- Використовуйте застарілі refs `codex/*` лише для сумісності. Нові конфігурації мають віддавати перевагу `openai/*` плюс явній політиці середовища виконання Codex. -Наприклад, це залишає типового агента на звичайному автоматичному виборі й +Наприклад, це залишає стандартного агента на звичайному автоматичному виборі й додає окремого агента Codex: ```json5 @@ -323,7 +335,7 @@ app-server також можуть повертатися до `CODEX_API_KEY` / З цією формою: -- Типовий агент `main` використовує звичайний шлях провайдера та fallback сумісності PI. +- Стандартний агент `main` використовує звичайний шлях провайдера й резервну сумісність PI. - Агент `codex` використовує обв’язку Codex app-server. - Якщо Codex відсутній або не підтримується для агента `codex`, хід завершується помилкою замість тихого використання PI. @@ -335,23 +347,24 @@ app-server також можуть повертатися до `CODEX_API_KEY` / | Користувач просить... | Агент має використати... | | ------------------------------------------------------ | ------------------------------------------------ | | "Прив’язати цей чат до Codex" | `/codex bind` | -| "Відновити ланцюжок Codex `` тут" | `/codex resume ` | -| "Показати ланцюжки Codex" | `/codex threads` | -| "Створити звіт підтримки про невдалий запуск Codex" | `/diagnostics [note]` | -| "Надіслати відгук Codex лише для цього вкладеного ланцюжка" | `/codex diagnostics [note]` | +| "Відновити гілку Codex `` тут" | `/codex resume ` | +| "Показати гілки Codex" | `/codex threads` | +| "Подати звіт підтримки про невдалий запуск Codex" | `/diagnostics [note]` | +| "Надіслати лише відгук Codex для цієї вкладеної гілки" | `/codex diagnostics [note]` | | "Використати мою підписку ChatGPT/Codex із середовищем виконання Codex" | `openai/*` плюс `agentRuntime.id: "codex"` | -| "Використати мою підписку ChatGPT/Codex через PI" | посилання моделей `openai-codex/*` | +| "Використати мою підписку ChatGPT/Codex через PI" | refs моделей `openai-codex/*` | | "Запустити Codex через ACP/acpx" | ACP `sessions_spawn({ runtime: "acp", ... })` | -| "Запустити Claude Code/Gemini/OpenCode/Cursor у ланцюжку" | ACP/acpx, а не `/codex` і не нативні субагенти | +| "Запустити Claude Code/Gemini/OpenCode/Cursor у гілці" | ACP/acpx, не `/codex` і не нативні під-агенти | -OpenClaw рекламує агентам підказки запуску ACP лише тоді, коли ACP увімкнено, -доступний для диспетчеризації та підкріплений завантаженим бекендом середовища виконання. Якщо ACP недоступний, -системний prompt і plugin Skills не мають навчати агента маршрутизації ACP. +OpenClaw рекламує агентам настанови щодо запуску ACP лише тоді, коли ACP увімкнено, +може диспетчеризуватися і підкріплено завантаженим бекендом середовища виконання. Якщо ACP недоступний, +системний prompt і Skills Plugin не мають навчати агента маршрутизації +ACP. ## Розгортання лише з Codex -Примусово використовуйте обв’язку Codex, коли потрібно довести, що кожен вбудований хід агента -використовує Codex. Явні середовища виконання plugin типово не мають fallback до PI, тому +Примусово задайте обв’язку Codex, коли потрібно довести, що кожен вбудований хід агента +використовує Codex. Явні середовища виконання Plugin типово не мають резервного PI, тому `fallback: "none"` необов’язковий, але часто корисний як документація: ```json5 @@ -368,20 +381,20 @@ OpenClaw рекламує агентам підказки запуску ACP л } ``` -Перевизначення через середовище: +Перевизначення середовища: ```bash OPENCLAW_AGENT_RUNTIME=codex openclaw gateway run ``` -Коли Codex примусово ввімкнено, OpenClaw рано завершується помилкою, якщо plugin 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 обробляв відсутній вибір обв’язки. ## Codex для окремого агента -Ви можете зробити одного агента лише Codex, тоді як типовий агент зберігатиме звичайний +Можна зробити одного агента лише Codex, поки стандартний агент зберігає звичайний автовибір: ```json5 @@ -413,21 +426,21 @@ app-server занадто старий або app-server не може запу } ``` -Використовуйте звичайні команди сеансу для перемикання агентів і моделей. `/new` створює свіжий -сеанс OpenClaw, а обв’язка Codex створює або відновлює свій допоміжний ланцюжок app-server -за потреби. `/reset` очищає прив’язку сеансу OpenClaw для цього ланцюжка -й дає наступному ходу знову визначити обв’язку з поточної конфігурації. +Використовуйте звичайні команди сеансу, щоб перемикати агентів і моделі. `/new` створює новий +сеанс OpenClaw, а обв’язка Codex створює або відновлює свою побічну гілку app-server +за потреби. `/reset` очищає прив’язку сеансу OpenClaw для цієї гілки +і дозволяє наступному ходу знову визначити обв’язку з поточної конфігурації. ## Виявлення моделей -Типово plugin Codex запитує app-server про доступні моделі. Якщо -виявлення завершується помилкою або тайм-аутом, він використовує вбудований fallback-каталог для: +Типово Plugin Codex запитує app-server про доступні моделі. Якщо +виявлення не вдається або спливає час очікування, він використовує вбудований резервний каталог для: - GPT-5.5 - GPT-5.4 mini - GPT-5.2 -Ви можете налаштувати виявлення в `plugins.entries.codex.config.discovery`: +Можна налаштувати виявлення в `plugins.entries.codex.config.discovery`: ```json5 { @@ -447,8 +460,8 @@ app-server занадто старий або app-server не може запу } ``` -Вимикайте виявлення, коли хочете, щоб запуск не зондував Codex і тримався -fallback-каталогу: +Вимкніть виявлення, коли хочете, щоб запуск не зондував Codex і дотримувався +резервного каталогу: ```json5 { @@ -467,26 +480,26 @@ fallback-каталогу: } ``` -## Підключення app-server і політика +## Підключення й політика app-server -Типово plugin запускає керований OpenClaw бінарний файл Codex локально з: +Типово Plugin запускає керований OpenClaw бінарний файл Codex локально з: ```bash codex app-server --listen stdio:// ``` -Керований бінарний файл постачається з пакетом plugin `codex`. Це прив’язує версію -app-server до вбудованого plugin, а не до будь-якого окремого Codex CLI, який випадково -встановлено локально. Задавайте `appServer.command` лише тоді, коли навмисно хочете -запустити інший виконуваний файл. +Керований бінарний файл постачається з пакетом Plugin `codex`. Це утримує +версію app-server прив’язаною до вбудованого Plugin замість будь-якого окремого +Codex CLI, який випадково встановлено локально. Встановлюйте `appServer.command` лише тоді, +коли навмисно хочете запускати інший виконуваний файл. Типово OpenClaw запускає локальні сеанси обв’язки Codex у режимі YOLO: `approvalPolicy: "never"`, `approvalsReviewer: "user"` і `sandbox: "danger-full-access"`. Це довірена позиція локального оператора, що використовується для автономних Heartbeat: Codex може використовувати shell і мережеві інструменти без -зупинок на нативних prompt затвердження, на які нікому відповісти. +зупинок на нативні запити схвалення, на які нікому відповісти. -Щоб увімкнути затвердження Codex з перевіркою guardian, задайте `appServer.mode: +Щоб увімкнути схвалення Codex з перевіркою guardian, встановіть `appServer.mode: "guardian"`: ```json5 @@ -507,21 +520,21 @@ app-server до вбудованого plugin, а не до будь-якого } ``` -Режим Guardian використовує нативний шлях автоогляду затверджень Codex. Коли Codex просить -вийти з sandbox, записати поза workspace або додати дозволи на кшталт мережевого -доступу, Codex маршрутизує цей запит затвердження до нативного reviewer замість -людського prompt. Reviewer застосовує рамку оцінки ризиків Codex і затверджує або відхиляє -конкретний запит. Використовуйте Guardian, коли хочете більше запобіжників, ніж у режимі YOLO, -але все одно потребуєте, щоб агенти без нагляду просувалися вперед. +Режим guardian використовує нативний шлях схвалення з автоматичною перевіркою Codex. Коли Codex просить +вийти з пісочниці, записати поза робочою областю або додати дозволи, як-от мережевий +доступ, Codex маршрутизує цей запит на схвалення до нативного рецензента замість +людського prompt. Рецензент застосовує рамку ризику Codex і схвалює або відхиляє +конкретний запит. Використовуйте Guardian, коли потрібні суворіші запобіжники, ніж у режимі YOLO, +але все ще потрібно, щоб агенти без нагляду просувалися вперед. Пресет `guardian` розгортається в `approvalPolicy: "on-request"`, `approvalsReviewer: "auto_review"` і `sandbox: "workspace-write"`. Окремі поля політики все ще перевизначають `mode`, тому розширені розгортання можуть поєднувати -пресет з явними виборами. Старіше значення reviewer `guardian_subagent` +пресет з явними виборами. Старіше значення рецензента `guardian_subagent` досі приймається як псевдонім сумісності, але нові конфігурації мають використовувати `auto_review`. -Для вже запущеного app-server використовуйте транспорт WebSocket: +Для вже запущеного app-server використовуйте WebSocket-транспорт: ```json5 { @@ -543,27 +556,28 @@ app-server до вбудованого plugin, а не до будь-якого } ``` -Stdio-запуски app-server типово успадковують процесне середовище OpenClaw, -але OpenClaw володіє мостом облікового запису Codex app-server і задає як -`CODEX_HOME`, так і `HOME` у каталоги кожного агента під станом OpenClaw +Stdio-запуски app-server типово успадковують середовище процесу OpenClaw, +але OpenClaw володіє мостом облікового запису Codex app-server і встановлює як +`CODEX_HOME`, так і `HOME` у каталоги для кожного агента в стані OpenClaw цього агента. Власний завантажувач Skills Codex читає `$CODEX_HOME/skills` і `$HOME/.agents/skills`, тому обидва значення ізольовані для локальних запусків app-server. -Це тримає нативні для Codex Skills, plugins, конфігурацію, облікові записи й стан -ланцюжків у межах агента OpenClaw, а не пропускає їх з особистого дому Codex CLI оператора. +Це зберігає нативні для Codex Skills, plugins, конфігурацію, облікові записи і стан гілок +обмеженими агентом OpenClaw замість витоку з особистого дому Codex CLI +оператора. Plugins OpenClaw і знімки Skills OpenClaw усе ще проходять через власний -реєстр plugin і завантажувач Skills OpenClaw. Особисті ресурси Codex CLI не проходять. Якщо у вас є +реєстр Plugin і завантажувач Skills OpenClaw. Особисті активи Codex CLI не проходять. Якщо у вас є корисні Skills або plugins Codex CLI, які мають стати частиною агента OpenClaw, -явно інвентаризуйте їх: +інвентаризуйте їх явно: ```bash openclaw migrate codex --dry-run openclaw migrate apply codex --yes ``` -Провайдер міграції Codex копіює Skills у поточний workspace агента OpenClaw. +Провайдер міграції Codex копіює Skills у поточну робочу область агента OpenClaw. Нативні plugins, hooks і файли конфігурації Codex звітуються або архівуються -для ручного огляду замість автоматичної активації, оскільки вони можуть +для ручного перегляду замість автоматичної активації, бо вони можуть виконувати команди, відкривати MCP-сервери або містити облікові дані. Авторизація вибирається в такому порядку: @@ -572,15 +586,15 @@ openclaw migrate apply codex --yes 2. Наявний обліковий запис app-server у домі Codex цього агента. 3. Лише для локальних stdio-запусків app-server: `CODEX_API_KEY`, потім `OPENAI_API_KEY`, коли обліковий запис app-server відсутній, а авторизація OpenAI - усе ще потрібна. + все ще потрібна. -Коли OpenClaw бачить профіль авторизації Codex у стилі підписки ChatGPT, він видаляє -`CODEX_API_KEY` і `OPENAI_API_KEY` із породженого дочірнього процесу Codex. Це +Коли OpenClaw бачить профіль авторизації Codex у стилі підписки ChatGPT, він вилучає +`CODEX_API_KEY` і `OPENAI_API_KEY` з породженого дочірнього процесу Codex. Це залишає API-ключі рівня Gateway доступними для embeddings або прямих моделей OpenAI -без випадкового виставлення рахунку за нативні ходи Codex app-server через API. -Явні профілі API-ключа Codex і локальний stdio fallback через env-key використовують вхід app-server -замість успадкованого env дочірнього процесу. WebSocket-підключення app-server -не отримують fallback API-ключа з env Gateway; використовуйте явний профіль авторизації або +без випадкового виставлення рахунків за нативні ходи Codex app-server через API. +Явні профілі API-ключів Codex і локальний stdio fallback за env-key використовують вхід app-server +замість успадкованого середовища дочірнього процесу. WebSocket-підключення app-server +не отримують резервний API-ключ Gateway із середовища; використовуйте явний профіль авторизації або власний обліковий запис віддаленого app-server. Якщо розгортанню потрібна додаткова ізоляція середовища, додайте ці змінні до @@ -603,52 +617,52 @@ openclaw migrate apply codex --yes } ``` -`appServer.clearEnv` впливає лише на породжений дочірній процес Codex app-server. +`appServer.clearEnv` впливає лише на породжений дочірній процес app-server Codex. Динамічні інструменти Codex типово використовують профіль `native-first`. У цьому режимі -OpenClaw не відкриває динамічні інструменти, які дублюють нативні для Codex операції -workspace: `read`, `write`, `edit`, `apply_patch`, `exec`, `process` і -`update_plan`. Інтеграційні інструменти OpenClaw, як-от messaging, sessions, media, -cron, browser, nodes, Gateway, `heartbeat_respond` і `web_search`, залишаються +OpenClaw не надає динамічні інструменти, що дублюють нативні для Codex операції +з робочою областю: `read`, `write`, `edit`, `apply_patch`, `exec`, `process` і +`update_plan`. Інтеграційні інструменти OpenClaw, як-от обмін повідомленнями, сесії, медіа, +cron, браузер, nodes, gateway, `heartbeat_respond` і `web_search`, залишаються доступними. Підтримувані поля верхнього рівня Plugin Codex: | Поле | Типове значення | Значення | -| -------------------------- | --------------- | ------------------------------------------------------------------------------------------------ | -| `codexDynamicToolsProfile` | `"native-first"` | Використовуйте `"openclaw-compat"`, щоб надати app-server Codex повний набір динамічних інструментів OpenClaw. | -| `codexDynamicToolsExclude` | `[]` | Додаткові назви динамічних інструментів OpenClaw, які треба пропускати під час ходів app-server Codex. | +| -------------------------- | ---------------- | ------------------------------------------------------------------------------------------------ | +| `codexDynamicToolsProfile` | `"native-first"` | Використовуйте `"openclaw-compat"`, щоб надати повний набір динамічних інструментів OpenClaw app-server Codex. | +| `codexDynamicToolsExclude` | `[]` | Додаткові назви динамічних інструментів OpenClaw, які потрібно пропускати в ходах app-server Codex. | Підтримувані поля `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 побудує успадковане середовище. `CODEX_HOME` і `HOME` зарезервовані для ізоляції Codex для кожного агента 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`. Недійсні застарілі значення ігноруються. | +| Поле | Типове значення | Значення | +| ------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `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 побудує успадковане середовище. `CODEX_HOME` і `HOME` зарезервовані для ізоляції Codex на рівні агента OpenClaw під час локальних запусків. | +| `requestTimeoutMs` | `60000` | Тайм-аут для викликів площини керування app-server. | +| `mode` | `"yolo"` | Попередньо заданий режим для виконання YOLO або виконання з перевіркою guardian. | +| `approvalPolicy` | `"never"` | Нативна політика схвалення Codex, що надсилається під час старту/відновлення/ходу потоку. | +| `sandbox` | `"danger-full-access"` | Нативний режим sandbox 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`. +інструмента там, де це підтримується, і повертає Codex відповідь про збій динамічного інструмента, щоб +хід міг продовжитися, а не залишати сесію в стані `processing`. Після того як OpenClaw відповідає на запит app-server Codex у межах ходу, harness -також очікує, що Codex завершить власний хід через `turn/completed`. Якщо -app-server не подає ознак активності протягом 60 секунд після цієї відповіді, OpenClaw у режимі best-effort -перериває хід Codex, записує діагностичний тайм-аут і звільняє -смугу сеансу OpenClaw, щоб наступні повідомлення чату не ставали в чергу за застарілим -власним ходом. +також очікує, що Codex завершить нативний хід за допомогою `turn/completed`. Якщо +app-server не подає сигналів протягом 60 секунд після цієї відповіді, OpenClaw докладає +максимальних зусиль, щоб перервати хід Codex, записує діагностичний тайм-аут і звільняє +смугу сесії OpenClaw, щоб подальші повідомлення чату не ставали в чергу за застарілим +нативним ходом. Перевизначення середовища залишаються доступними для локального тестування: @@ -659,28 +673,28 @@ app-server не подає ознак активності протягом 60 - `OPENCLAW_CODEX_APP_SERVER_SANDBOX` `OPENCLAW_CODEX_APP_SERVER_BIN` обходить керований бінарний файл, коли -`appServer.command` не задано. +`appServer.command` не встановлено. `OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1` було вилучено. Натомість використовуйте `plugins.entries.codex.config.appServer.mode: "guardian"` або `OPENCLAW_CODEX_APP_SERVER_MODE=guardian` для одноразового локального тестування. Конфігурація -бажаніша для повторюваних розгортань, бо вона тримає поведінку Plugin у тому самому -переглянутому файлі, що й решта налаштування harness Codex. +є бажаною для повторюваних розгортань, оскільки вона зберігає поведінку Plugin у +тому самому переглянутому файлі, що й решта налаштування harness Codex. ## Використання комп’ютера Використання комп’ютера описано в окремому посібнику з налаштування: -[Використання комп’ютера Codex](/uk/plugins/codex-computer-use). +[Використання комп’ютера в Codex](/uk/plugins/codex-computer-use). -Коротко: OpenClaw не постачає застосунок керування робочим столом і не виконує +Коротко: OpenClaw не постачає застосунок для керування робочим столом і не виконує дії на робочому столі самостійно. Він готує app-server Codex, перевіряє, що -MCP-сервер `computer-use` доступний, а потім дозволяє Codex обробляти власні +сервер MCP `computer-use` доступний, а потім дозволяє Codex обробляти нативні виклики інструментів MCP під час ходів у режимі Codex. -Для прямого доступу до драйвера TryCua поза потоком маркетплейсу Codex зареєструйте +Для прямого доступу до драйвера TryCua поза потоком marketplace Codex зареєструйте `cua-driver mcp` за допомогою `openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'`. -Див. [Використання комп’ютера Codex](/uk/plugins/codex-computer-use), щоб зрозуміти різницю -між використанням комп’ютера під керуванням Codex і прямою реєстрацією MCP. +Див. [Використання комп’ютера в Codex](/uk/plugins/codex-computer-use), щоб зрозуміти різницю +між використанням комп’ютера, яким володіє Codex, і прямою реєстрацією MCP. Мінімальна конфігурація: @@ -717,19 +731,19 @@ 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) щодо варіантів маркетплейсу, -обмежень віддаленого каталогу, причин статусу та усунення несправностей. +Computer Use призначений саме для macOS і може потребувати локальних дозволів ОС, перш ніж +сервер Codex MCP зможе керувати застосунками. Якщо `computerUse.enabled` має значення true, а сервер MCP +недоступний, ходи в режимі Codex завершуються помилкою ще до запуску гілки, замість того щоб +непомітно виконуватися без нативних інструментів Computer Use. Див. +[Codex Computer Use](/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` після -зміни конфігурації runtime або використання комп’ютера, щоб наявні сеанси не зберігали стару -прив’язку PI або треду Codex. +ще не виявив локальний marketplace. Використовуйте `/new` або `/reset` після +зміни конфігурації runtime або Computer Use, щоб наявні сеанси не зберігали старе +прив’язування гілки PI або Codex. ## Поширені рецепти @@ -769,7 +783,7 @@ MCP-сервер Codex зможе керувати застосунками. Я } ``` -Затвердження Codex із переглядом guardian: +Схвалення Codex із перевіркою Guardian: ```json5 { @@ -814,11 +828,11 @@ MCP-сервер Codex зможе керувати застосунками. Я } ``` -Перемикання моделей залишається під контролем OpenClaw. Коли сеанс OpenClaw приєднано -до наявного треду Codex, наступний хід знову надсилає поточно вибрану -модель OpenAI, провайдера, політику затверджень, пісочницю та рівень сервісу до +Перемикання моделей залишається під керуванням OpenClaw. Коли сеанс OpenClaw приєднано +до наявної гілки Codex, наступний хід знову надсилає поточно вибрану +модель OpenAI, провайдера, політику схвалення, sandbox і рівень сервісу до app-server. Перемикання з `openai/gpt-5.5` на `openai/gpt-5.2` зберігає -прив’язку треду, але просить Codex продовжити з новообраною моделлю. +прив’язування гілки, але просить Codex продовжити з нововибраною моделлю. ## Команда Codex @@ -827,266 +841,264 @@ app-server. Перемикання з `openai/gpt-5.5` на `openai/gpt-5.2` з Поширені форми: -- `/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]` запитує перед надсиланням діагностичного відгуку Codex для приєднаного треду. -- `/codex computer-use status` перевіряє налаштований Plugin використання комп’ютера та MCP-сервер. -- `/codex computer-use install` встановлює налаштований Plugin використання комп’ютера та перезавантажує MCP-сервери. -- `/codex account` показує стан облікового запису та лімітів запитів. -- `/codex mcp` перелічує стан MCP-серверів app-server Codex. -- `/codex skills` перелічує skills app-server Codex. +- `/codex status` показує поточне підключення до сервера застосунку, моделі, обліковий запис, ліміти швидкості, MCP-сервери та Skills. +- `/codex models` перелічує поточні моделі сервера застосунку Codex. +- `/codex threads [filter]` перелічує нещодавні гілки Codex. +- `/codex resume ` приєднує поточний сеанс OpenClaw до наявної гілки Codex. +- `/codex compact` просить сервер застосунку Codex ущільнити приєднану гілку. +- `/codex review` запускає нативний перегляд Codex для приєднаної гілки. +- `/codex diagnostics [note]` запитує підтвердження перед надсиланням діагностичного відгуку Codex для приєднаної гілки. +- `/codex computer-use status` перевіряє налаштований Plugin Computer Use і MCP-сервер. +- `/codex computer-use install` встановлює налаштований Plugin Computer Use і перезавантажує MCP-сервери. +- `/codex account` показує стан облікового запису та лімітів швидкості. +- `/codex mcp` перелічує стан MCP-серверів сервера застосунку Codex. +- `/codex skills` перелічує Skills сервера застосунку Codex. -### Поширений робочий процес налагодження +### Типовий процес налагодження -Коли агент на базі Codex робить щось несподіване в Telegram, Discord, Slack -або іншому каналі, почніть із розмови, у якій сталася проблема: +Коли агент на базі Codex робить щось неочікуване в Telegram, Discord, Slack, +або іншому каналі, почніть із розмови, де виникла проблема: 1. Запустіть `/diagnostics bad tool choice after image upload` або іншу коротку нотатку, - яка описує побачене. -2. Один раз схваліть запит діагностики. Схвалення створює локальний zip-архів - діагностики Gateway і, оскільки сеанс використовує обв’язку Codex, також + яка описує те, що ви побачили. +2. Один раз підтвердьте запит діагностики. Підтвердження створює локальний + діагностичний zip Gateway і, оскільки сеанс використовує обв’язку Codex, також надсилає відповідний пакет відгуку Codex на сервери OpenAI. -3. Скопіюйте завершену відповідь діагностики у звіт про помилку або гілку - підтримки. Вона містить локальний шлях до пакета, підсумок приватності, - ідентифікатори сеансів OpenClaw, ідентифікатори потоків Codex і рядок - `Inspect locally` для кожного потоку Codex. -4. Якщо ви хочете самостійно налагодити запуск, виконайте надруковану команду - `Inspect locally` у терміналі. Вона має вигляд `codex resume ` і - відкриває нативний потік Codex, щоб ви могли переглянути розмову, продовжити - її локально або запитати Codex, чому він вибрав певний інструмент чи план. +3. Скопіюйте завершену відповідь діагностики у звіт про помилку або гілку підтримки. + Вона містить шлях до локального пакета, підсумок приватності, ідентифікатори сеансів OpenClaw, + ідентифікатори гілок Codex і рядок `Inspect locally` для кожної гілки Codex. +4. Якщо ви хочете самостійно налагодити запуск, виконайте надруковану команду `Inspect locally` + у терміналі. Вона має вигляд `codex resume ` і відкриває + нативну гілку Codex, щоб ви могли переглянути розмову, продовжити її локально + або запитати Codex, чому він вибрав певний інструмент чи план. Використовуйте `/codex diagnostics [note]` лише тоді, коли вам потрібне саме -завантаження відгуку Codex для поточного приєднаного потоку без повного пакета -діагностики OpenClaw Gateway. Для більшості звітів підтримки `/diagnostics [note]` -є кращою відправною точкою, оскільки пов’язує локальний стан Gateway та -ідентифікатори потоків Codex в одній відповіді. Див. [Експорт діагностики](/uk/gateway/diagnostics) +завантаження відгуку Codex для поточної приєднаної гілки без повного +діагностичного пакета OpenClaw Gateway. Для більшості звітів підтримки `/diagnostics [note]` є +кращою відправною точкою, оскільки він пов’язує локальний стан Gateway та +ідентифікатори гілок Codex в одній відповіді. Див. [Експорт діагностики](/uk/gateway/diagnostics) для повної моделі приватності та поведінки в групових чатах. -Ядро OpenClaw також надає команду лише для власників `/diagnostics [note]` як -загальну команду діагностики Gateway. Її запит на схвалення показує преамбулу -про чутливі дані, посилається на [Експорт діагностики](/uk/gateway/diagnostics) і щоразу -запитує `openclaw gateway diagnostics export --json` через явне схвалення exec. -Не схвалюйте діагностику правилом allow-all. Після схвалення OpenClaw надсилає -звіт, який можна вставити, з локальним шляхом до пакета та підсумком маніфесту. -Коли активний сеанс OpenClaw використовує обв’язку Codex, те саме схвалення також -дозволяє надсилати відповідні пакети відгуку Codex на сервери OpenAI. Запит на -схвалення повідомляє, що відгук Codex буде надіслано, але не перелічує -ідентифікатори сеансу або потоку Codex до схвалення. +Основний OpenClaw також надає доступну лише власнику команду `/diagnostics [note]` як загальну +діагностичну команду Gateway. Її запит підтвердження показує вступ про чутливі дані, +посилається на [Експорт діагностики](/uk/gateway/diagnostics) і запитує +`openclaw gateway diagnostics export --json` через явне підтвердження виконання +щоразу. Не підтверджуйте діагностику правилом дозволу всього. Після підтвердження +OpenClaw надсилає звіт, придатний для вставлення, зі шляхом до локального пакета та +підсумком маніфесту. Коли активний сеанс OpenClaw використовує обв’язку Codex, те +саме підтвердження також дозволяє надсилати відповідні пакети відгуку Codex на +сервери OpenAI. Запит підтвердження повідомляє, що відгук Codex буде надіслано, але +не перелічує ідентифікатори сеансів або гілок Codex до підтвердження. -Якщо `/diagnostics` викликає власник у груповому чаті, OpenClaw зберігає спільний -канал чистим: група отримує лише коротке повідомлення, тоді як преамбула -діагностики, запити на схвалення та ідентифікатори сеансу/потоку Codex -надсилаються власнику через приватний маршрут схвалення. Якщо приватного маршруту -до власника немає, OpenClaw відхиляє груповий запит і просить власника запустити -його з DM. +Якщо `/diagnostics` викликає власник у груповому чаті, OpenClaw підтримує +спільний канал чистим: група отримує лише коротке повідомлення, а +вступ діагностики, запити підтвердження та ідентифікатори сеансів/гілок Codex надсилаються +власнику через приватний маршрут підтвердження. Якщо приватного маршруту власника немає, +OpenClaw відхиляє груповий запит і просить власника запустити його з приватного повідомлення. -Схвалене завантаження Codex викликає app-server Codex `feedback/upload` і просить -app-server включити журнали для кожного переліченого потоку та породжених -підпотоків Codex, коли вони доступні. Завантаження проходить звичайним шляхом -відгуку Codex до серверів OpenAI; якщо відгук Codex вимкнено в цьому app-server, -команда повертає помилку app-server. Завершена відповідь діагностики перелічує -канали, ідентифікатори сеансів OpenClaw, ідентифікатори потоків Codex і локальні -команди `codex resume ` для надісланих потоків. Якщо ви відхилите або -проігноруєте схвалення, OpenClaw не надрукує ці ідентифікатори Codex. Це -завантаження не замінює локальний експорт діагностики Gateway. +Підтверджене завантаження 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` записує той самий допоміжний файл прив’язки, який обв’язка використовує для +звичайних ходів. У наступному повідомленні 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` у вашій оболонці. -Поверхня команд потребує app-server Codex `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 має три рівні хуків: -| Рівень | Власник | Призначення | -| ------------------------------------- | ------------------------ | ------------------------------------------------------------------ | -| Хуки Plugin OpenClaw | OpenClaw | Сумісність продукту/Plugin між обв’язками PI та Codex. | -| Middleware розширень app-server Codex | Вбудовані Plugin OpenClaw | Поведінка адаптера для кожного ходу навколо динамічних інструментів OpenClaw. | -| Нативні хуки Codex | Codex | Низькорівневий життєвий цикл Codex і нативна політика інструментів з конфігурації Codex. | +| Рівень | Власник | Призначення | +| ------------------------------------- | ------------------------ | ------------------------------------------------------------------- | +| Хуки Plugin OpenClaw | OpenClaw | Сумісність продукту/Plugin між обв’язками PI та Codex. | +| Проміжне ПЗ розширень сервера застосунку Codex | Вбудовані Plugin OpenClaw | Поведінка адаптера на кожен хід навколо динамічних інструментів OpenClaw. | +| Нативні хуки Codex | Codex | Низькорівневий життєвий цикл Codex і нативна політика інструментів із конфігурації Codex. | -OpenClaw не використовує проєктні або глобальні файли Codex `hooks.json` для -маршрутизації поведінки Plugin OpenClaw. Для підтримуваного мосту нативних -інструментів і дозволів OpenClaw впроваджує конфігурацію Codex для кожного -потоку для `PreToolUse`, `PostToolUse`, `PermissionRequest` і `Stop`. Інші хуки -Codex, як-от `SessionStart` і `UserPromptSubmit`, залишаються засобами керування -рівня Codex; вони не надаються як хуки Plugin OpenClaw у контракті v1. +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 або зворотні виклики нативних хуків. +Для динамічних інструментів OpenClaw OpenClaw виконує інструмент після того, як Codex просить +виклик, тому OpenClaw запускає поведінку Plugin і проміжного ПЗ, якою він володіє, в +адаптері обв’язки. Для нативних інструментів Codex Codex володіє канонічним записом інструмента. +OpenClaw може віддзеркалювати вибрані події, але не може переписати нативну гілку Codex, +якщо Codex не надає цю операцію через сервер застосунку або зворотні виклики нативних хуків. -Проєкції Compaction і життєвого циклу LLM надходять зі сповіщень app-server Codex -і стану адаптера OpenClaw, а не з команд нативних хуків Codex. Події OpenClaw -`before_compaction`, `after_compaction`, `llm_input` і `llm_output` є -спостереженнями рівня адаптера, а не побайтовими знімками внутрішнього запиту -Codex або корисного навантаження Compaction. +Проєкції Compaction і життєвого циклу LLM надходять зі сповіщень сервера застосунку Codex +і стану адаптера OpenClaw, а не з команд нативних хуків Codex. +Події OpenClaw `before_compaction`, `after_compaction`, `llm_input` і +`llm_output` є спостереженнями рівня адаптера, а не побайтовими знімками +внутрішнього запиту Codex або корисних даних 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: +Підтримується в середовищі виконання Codex v1: -| Поверхня | Підтримка | Чому | -| --------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Цикл моделі OpenAI через Codex | Підтримується | app-server Codex володіє ходом OpenAI, відновленням нативного потоку та продовженням нативного інструмента. | -| Маршрутизація та доставка каналів OpenClaw | Підтримується | Telegram, Discord, Slack, WhatsApp, iMessage та інші канали залишаються поза runtime моделі. | -| Динамічні інструменти OpenClaw | Підтримується | Codex просить OpenClaw виконати ці інструменти, тому OpenClaw залишається на шляху виконання. | -| Plugin підказок і контексту | Підтримується | OpenClaw будує накладки підказок і проєктує контекст у хід Codex перед запуском або відновленням потоку. | -| Життєвий цикл рушія контексту | Підтримується | Збирання, внесення або обслуговування після ходу та координація Compaction рушія контексту виконуються для ходів Codex. | -| Хуки динамічних інструментів | Підтримується | `before_tool_call`, `after_tool_call` і middleware результатів інструментів виконуються навколо динамічних інструментів, якими володіє OpenClaw. | -| Хуки життєвого циклу | Підтримуються як спостереження адаптера | `llm_input`, `llm_output`, `agent_end`, `before_compaction` і `after_compaction` спрацьовують із чесними корисними навантаженнями режиму Codex. | -| Шлюз ревізії фінальної відповіді | Підтримується через нативний ретранслятор хуків | Codex `Stop` ретранслюється до `before_agent_finalize`; `revise` просить Codex виконати ще один прохід моделі перед фіналізацією. | -| Блокування або спостереження нативних shell, patch і MCP | Підтримується через нативний ретранслятор хуків | Codex `PreToolUse` і `PostToolUse` ретранслюються для зафіксованих поверхонь нативних інструментів, включно з корисними навантаженнями MCP на app-server Codex `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 та інші канали залишаються поза середовищем виконання моделі. | +| Динамічні інструменти OpenClaw | Підтримується | Codex просить OpenClaw виконати ці інструменти, тому OpenClaw залишається в шляху виконання. | +| Plugin для промптів і контексту | Підтримується | OpenClaw будує накладення промптів і проєктує контекст у хід Codex перед запуском або відновленням гілки. | +| Життєвий цикл рушія контексту | Підтримується | Збирання, поглинання або обслуговування після ходу, а також координація Compaction рушія контексту виконуються для ходів Codex. | +| Хуки динамічних інструментів | Підтримується | `before_tool_call`, `after_tool_call` і проміжне ПЗ результатів інструментів виконуються навколо динамічних інструментів, якими володіє OpenClaw. | +| Хуки життєвого циклу | Підтримуються як спостереження адаптера | `llm_input`, `llm_output`, `agent_end`, `before_compaction` і `after_compaction` спрацьовують із чесними корисними даними режиму Codex. | +| Шлюз перегляду фінальної відповіді | Підтримується через ретранслятор нативних хуків | Codex `Stop` ретранслюється в `before_agent_finalize`; `revise` просить Codex виконати ще один прохід моделі перед фіналізацією. | +| Блокування або спостереження нативної оболонки, патчів і MCP | Підтримується через ретранслятор нативних хуків | Codex `PreToolUse` і `PostToolUse` ретранслюються для зафіксованих нативних поверхонь інструментів, включно з корисними даними MCP на сервері застосунку Codex `0.125.0` або новішому. Блокування підтримується; перезапис аргументів ні. | +| Нативна політика дозволів | Підтримується через ретранслятор нативних хуків | Codex `PermissionRequest` можна маршрутизувати через політику OpenClaw там, де середовище виконання її надає. Якщо OpenClaw не повертає рішення, Codex продовжує через свій звичайний шлях guardian або підтвердження користувача. | +| Захоплення траєкторії сервера застосунку | Підтримується | OpenClaw записує запит, який він надіслав серверу застосунку, і сповіщення сервера застосунку, які отримує. | -Не підтримується в runtime Codex v1: +Не підтримується в середовищі виконання Codex v1: | Поверхня | Межа V1 | Майбутній шлях | | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| Мутація аргументів нативного інструмента | Нативні pre-tool хуки Codex можуть блокувати, але OpenClaw не переписує аргументи нативних інструментів Codex. | Потребує підтримки хуків/схеми Codex для заміни вхідних даних інструмента. | -| Редагована нативна історія транскрипту Codex | Codex володіє канонічною нативною історією треду. OpenClaw володіє дзеркалом і може проєктувати майбутній контекст, але не повинен мутувати непідтримувані внутрішні компоненти. | Додати явні API app-server Codex, якщо потрібна хірургічна зміна нативного треду. | -| `tool_result_persist` для записів нативних інструментів Codex | Цей хук трансформує записи транскрипту, якими володіє OpenClaw, а не записи нативних інструментів Codex. | Можна дзеркалити трансформовані записи, але канонічне переписування потребує підтримки Codex. | -| Насичені нативні метадані Compaction | OpenClaw спостерігає початок і завершення Compaction, але не отримує стабільного списку збереженого/відкинутого, дельти токенів або payload підсумку. | Потребує багатших подій Compaction від Codex. | -| Втручання в Compaction | Поточні хуки Compaction OpenClaw у режимі Codex працюють на рівні сповіщень. | Додати pre/post хуки Compaction Codex, якщо plugins потрібно накладати вето або переписувати нативний Compaction. | -| Побайтне захоплення запиту до API моделі | OpenClaw може захоплювати запити app-server і сповіщення, але ядро Codex внутрішньо формує фінальний запит до OpenAI API. | Потребує події трасування запиту моделі Codex або debug API. | +| Мутація аргументів нативного інструмента | Нативні pre-tool хуки Codex можуть блокувати, але OpenClaw не переписує аргументи нативних інструментів Codex. | Потребує підтримки хуків/схеми Codex для заміни вхідних даних інструмента. | +| Редагована нативна історія transcript Codex | Codex володіє канонічною історією нативного потоку. OpenClaw володіє дзеркалом і може проєктувати майбутній контекст, але не має мутувати непідтримувані внутрішні механізми. | Додати явні API app-server Codex, якщо потрібне хірургічне редагування нативного потоку. | +| `tool_result_persist` для записів нативних інструментів Codex | Цей хук трансформує записи transcript, якими володіє OpenClaw, а не записи нативних інструментів Codex. | Можна дзеркалити трансформовані записи, але канонічне переписування потребує підтримки Codex. | +| Розширені нативні метадані Compaction | OpenClaw спостерігає початок і завершення Compaction, але не отримує стабільний список збереженого/відкинутого, дельту токенів або payload summary. | Потребує багатших подій Compaction від Codex. | +| Втручання в Compaction | Поточні хуки Compaction OpenClaw у режимі Codex мають рівень сповіщень. | Додати pre/post хуки Compaction Codex, якщо plugins потрібно забороняти або переписувати нативний Compaction. | +| Побайтне захоплення запиту model API | OpenClaw може захоплювати запити й сповіщення app-server, але ядро Codex формує фінальний запит OpenAI API внутрішньо. | Потребує події трасування model-request Codex або debug API. | ## Інструменти, медіа та Compaction -Харнес Codex змінює лише низькорівневий вбудований виконавець агента. +Codex harness змінює лише низькорівневий вбудований виконавець агента. -OpenClaw і надалі формує список інструментів і отримує динамічні результати інструментів від -харнеса. Текст, зображення, відео, музика, TTS, схвалення та вивід інструментів повідомлень -і далі проходять звичайним шляхом доставлення OpenClaw. +OpenClaw і далі формує список інструментів і отримує динамічні результати інструментів від +harness. Текст, зображення, відео, музика, TTS, схвалення та output messaging-tool +і далі проходять через звичайний шлях доставки OpenClaw. Нативний relay хуків навмисно є узагальненим, але контракт підтримки v1 обмежений шляхами нативних інструментів і дозволів Codex, які тестує OpenClaw. У -runtime Codex це включає payloads shell, patch і MCP `PreToolUse`, -`PostToolUse` та `PermissionRequest`. Не припускайте, що кожна майбутня -подія хуків Codex є поверхнею Plugin OpenClaw, доки runtime-контракт не назве -її. +runtime Codex це включає shell, patch і payloads MCP `PreToolUse`, +`PostToolUse` і `PermissionRequest`. Не припускайте, що кожна майбутня +подія хука Codex є поверхнею plugin OpenClaw, доки контракт runtime прямо +її не назве. -Для `PermissionRequest` OpenClaw повертає явні рішення allow або deny лише -коли це визначає policy. Результат без рішення не є allow. Codex трактує його як -відсутність рішення хука й переходить до власного guardian або шляху схвалення -користувача. +Для `PermissionRequest` OpenClaw повертає явні рішення allow або deny лише тоді, +коли політика ухвалює рішення. Результат без рішення не є allow. Codex трактує +його як відсутність рішення хука й переходить до власного guardian або шляху +схвалення користувачем. -Elicitations схвалення інструментів Codex MCP маршрутизуються через потік -схвалення Plugin OpenClaw, коли Codex позначає `_meta.codex_approval_kind` як -`"mcp_tool_call"`. Підказки Codex `request_user_input` надсилаються назад до -початкового чату, а наступне поставлене в чергу follow-up повідомлення відповідає на цей нативний -запит сервера замість того, щоб бути спрямованим як додатковий контекст. Інші запити MCP elicitation -і надалі завершуються закрито. +Еліситації схвалення інструментів Codex MCP спрямовуються через потік схвалення +plugin OpenClaw, коли Codex позначає `_meta.codex_approval_kind` як +`"mcp_tool_call"`. Prompts Codex `request_user_input` надсилаються назад до +початкового чату, а наступне follow-up повідомлення в черзі відповідає на цей +нативний запит server замість того, щоб скеровуватися як додатковий контекст. +Інші запити еліситації MCP і далі закриваються з відмовою. -Спрямування черги активного запуску відображається на `turn/steer` app-server Codex. З -типовим `messages.queue.mode: "steer"` OpenClaw групує поставлені в чергу повідомлення чату +Скерування черги активного запуску відображається на Codex app-server `turn/steer`. З +типовим `messages.queue.mode: "steer"` OpenClaw групує повідомлення чату в черзі для налаштованого тихого вікна й надсилає їх як один запит `turn/steer` у -порядку надходження. Застарілий режим `queue` надсилає окремі запити `turn/steer`. Codex -review і ручні ходи Compaction можуть відхиляти спрямування в межах того самого ходу; у такому разі -OpenClaw використовує followup queue, коли вибраний режим дозволяє fallback. Див. -[Черга спрямування](/uk/concepts/queue-steering). +порядку надходження. Застарілий режим `queue` надсилає окремі запити +`turn/steer`. Review Codex і ручні ходи Compaction можуть відхиляти +скерування в тому самому ході; у такому разі OpenClaw використовує чергу followup, +коли вибраний режим дозволяє fallback. Див. [Черга скерування](/uk/concepts/queue-steering). -Коли вибрана модель використовує харнес Codex, нативний Compaction треду -делегується app-server Codex. OpenClaw зберігає дзеркало транскрипту для історії каналу, -пошуку, `/new`, `/reset` і майбутнього перемикання моделі або харнеса. Дзеркало -містить prompt користувача, фінальний текст assistant і легковагові записи reasoning або plan Codex, -коли app-server їх емітує. Нині OpenClaw записує лише сигнали початку та завершення -нативного Compaction. Він ще не надає читабельного для людини підсумку Compaction -або придатного для аудиту списку того, які записи Codex зберіг після Compaction. +Коли вибрана модель використовує Codex harness, нативний Compaction потоку +делегується Codex app-server. OpenClaw зберігає дзеркало transcript для історії +каналу, пошуку, `/new`, `/reset` і майбутнього перемикання model або harness. Дзеркало +містить prompt користувача, фінальний текст assistant і легкі записи reasoning +або plan Codex, коли app-server їх надсилає. Сьогодні OpenClaw записує лише +сигнали початку й завершення нативного Compaction. Він ще не надає +читабельний для людини summary Compaction або придатний для аудиту список того, +які записи Codex зберіг після Compaction. -Оскільки Codex володіє канонічним нативним тредом, `tool_result_persist` наразі не -переписує записи результатів нативних інструментів Codex. Він застосовується лише тоді, коли -OpenClaw записує результат інструмента транскрипту сесії, яким володіє OpenClaw. +Оскільки Codex володіє канонічним нативним потоком, `tool_result_persist` наразі +не переписує записи результатів нативних інструментів Codex. Він застосовується +лише тоді, коли OpenClaw записує результат інструмента transcript сесії, яким +володіє OpenClaw. -Генерація медіа не потребує PI. Зображення, відео, музика, PDF, TTS і розуміння медіа -й надалі використовують відповідні налаштування провайдера/моделі, як-от +Генерація медіа не потребує PI. Зображення, відео, музика, PDF, TTS і +розуміння медіа й далі використовують відповідні налаштування provider/model, як-от `agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` і `messages.tts`. ## Усунення несправностей -**Codex не з’являється як звичайний провайдер `/model`:** це очікувано для -нових конфігурацій. Виберіть модель `openai/gpt-*` з +**Codex не відображається як звичайний provider `/model`:** це очікувано для +нових configs. Виберіть model `openai/gpt-*` з `agentRuntime.id: "codex"` (або застарілий ref `codex/*`), увімкніть `plugins.entries.codex.enabled` і перевірте, чи `plugins.allow` не виключає `codex`. **OpenClaw використовує PI замість Codex:** `agentRuntime.id: "auto"` усе ще може використовувати PI як -backend сумісності, коли жоден харнес Codex не заявляє запуск. Установіть -`agentRuntime.id: "codex"`, щоб примусово вибрати Codex під час тестування. Примусовий -runtime Codex тепер завершується помилкою замість fallback до PI, якщо ви явно не -встановите `agentRuntime.fallback: "pi"`. Після вибору app-server Codex -його помилки проявляються напряму без додаткової конфігурації fallback. +backend сумісності, коли жоден Codex harness не бере run. Установіть +`agentRuntime.id: "codex"`, щоб примусово вибрати Codex під час тестування. +Примусовий runtime Codex тепер завершується помилкою замість fallback до PI, якщо ви +явно не встановили `agentRuntime.fallback: "pi"`. Щойно Codex app-server +вибрано, його помилки показуються напряму без додаткової fallback config. -**app-server відхилено:** оновіть Codex, щоб handshake app-server -повідомляв версію `0.125.0` або новішу. Prereleases тієї самої версії або версії із суфіксом build, -як-от `0.125.0-alpha.2` чи `0.125.0+custom`, відхиляються, тому що -стабільний протокольний мінімум `0.125.0` — це те, що тестує OpenClaw. +**App-server відхилено:** оновіть Codex, щоб handshake app-server +повідомляв версію `0.125.0` або новішу. Prerelease тієї самої версії або версії +з build-суфіксом, як-от `0.125.0-alpha.2` або `0.125.0+custom`, відхиляються, бо +стабільний protocol floor `0.125.0` є тим, що тестує OpenClaw. **Виявлення моделей повільне:** зменште `plugins.entries.codex.config.discovery.timeoutMs` -або вимкніть виявлення. +або вимкніть discovery. -**Транспорт WebSocket одразу завершується помилкою:** перевірте `appServer.url`, `authToken`, -і що віддалений app-server говорить тією самою версією протоколу app-server Codex. +**WebSocket transport одразу завершується помилкою:** перевірте `appServer.url`, `authToken` +і те, що віддалений app-server говорить тією самою версією protocol Codex app-server. -**Модель не Codex використовує PI:** це очікувано, якщо ви не примусили +**Не-Codex модель використовує PI:** це очікувано, якщо ви не примусили `agentRuntime.id: "codex"` для цього агента або не вибрали застарілий ref -`codex/*`. Звичайні `openai/gpt-*` та ref інших провайдерів залишаються на своєму звичайному -шляху провайдера в режимі `auto`. Якщо ви примусово встановите `agentRuntime.id: "codex"`, кожен вбудований -хід для цього агента має бути підтримуваною Codex моделлю OpenAI. +`codex/*`. Звичайні `openai/gpt-*` та інші provider refs залишаються на своєму +звичайному шляху provider у режимі `auto`. Якщо ви примусите `agentRuntime.id: "codex"`, +кожен вбудований turn для цього агента має бути OpenAI model, підтримуваною Codex. **Computer Use встановлено, але інструменти не запускаються:** перевірте `/codex computer-use status` із нової сесії. Якщо інструмент повідомляє -`Native hook relay unavailable`, використайте `/new` або `/reset`; якщо проблема зберігається, перезапустіть -Gateway, щоб очистити застарілі реєстрації нативних хуків. Якщо `computer-use.list_apps` +`Native hook relay unavailable`, використайте `/new` або `/reset`; якщо це зберігається, перезапустіть +gateway, щоб очистити застарілі реєстрації нативних хуків. Якщо `computer-use.list_apps` перевищує час очікування, перезапустіть Codex Computer Use або Codex Desktop і повторіть спробу. ## Пов’язане -- [Plugins харнеса агента](/uk/plugins/sdk-agent-harness) -- [Runtime агента](/uk/concepts/agent-runtimes) -- [Провайдери моделей](/uk/concepts/model-providers) -- [Провайдер OpenAI](/uk/providers/openai) +- [Plugins agent harness](/uk/plugins/sdk-agent-harness) +- [Runtimes агентів](/uk/concepts/agent-runtimes) +- [Providers моделей](/uk/concepts/model-providers) +- [Provider OpenAI](/uk/providers/openai) - [Статус](/uk/cli/status) - [Хуки Plugin](/uk/plugins/hooks) - [Довідник конфігурації](/uk/gateway/configuration-reference)