diff --git a/docs/uk/concepts/system-prompt.md b/docs/uk/concepts/system-prompt.md index 74617ac6c..87337dc4a 100644 --- a/docs/uk/concepts/system-prompt.md +++ b/docs/uk/concepts/system-prompt.md @@ -1,153 +1,155 @@ --- read_when: - Редагування тексту системного промпта, списку інструментів або розділів часу/Heartbeat - - Зміна поведінки ініціалізації робочого простору або ін’єкції Skills -summary: Що містить системний промпт OpenClaw і як його формують + - Зміна поведінки початкового налаштування робочого простору або впровадження Skills +summary: Що містить системний промпт OpenClaw і як він збирається title: Системний промпт x-i18n: - generated_at: "2026-05-02T22:39:20Z" + generated_at: "2026-05-03T17:03:10Z" model: gpt-5.5 provider: openai - source_hash: f8e0234453812c16cf5d273096d335049bf435ca76ade36200caf4bb344624e5 + source_hash: 93533ac8090897a7b5fd82b80e542a4ad573670408314b3519c5e317d0408ade source_path: concepts/system-prompt.md workflow: 16 --- -OpenClaw створює власний системний prompt для кожного запуску агента. Prompt є **власністю OpenClaw** і не використовує типовий prompt pi-coding-agent. +OpenClaw створює власний системний prompt для кожного запуску агента. Prompt **належить OpenClaw** і не використовує типовий prompt pi-coding-agent. -Prompt збирається OpenClaw і впроваджується в кожен запуск агента. +Prompt збирається OpenClaw і вставляється в кожен запуск агента. -Provider plugins можуть додавати cache-aware вказівки до prompt без заміни +Provider plugins можуть додавати cache-aware інструкції для prompt без заміни повного prompt, що належить OpenClaw. Provider runtime може: -- замінювати невеликий набір іменованих основних розділів (`interaction_style`, +- замінити невеликий набір іменованих основних секцій (`interaction_style`, `tool_call_style`, `execution_bias`) -- вставляти **стабільний префікс** над межею кешу prompt -- вставляти **динамічний суфікс** під межею кешу prompt +- вставити **стабільний префікс** над межею кешу prompt +- вставити **динамічний суфікс** під межею кешу prompt Використовуйте внески, що належать provider, для налаштувань, специфічних для сімейств моделей. Залишайте застарілу мутацію prompt `before_prompt_build` для сумісності або справді глобальних змін prompt, а не для звичайної поведінки provider. -Overlay сімейства OpenAI GPT-5 зберігає основне правило виконання малим і додає -специфічні для моделі вказівки для persona latching, стислого виводу, дисципліни роботи з інструментами, -паралельного пошуку, покриття deliverable, перевірки, відсутнього контексту та +Оверлей сімейства OpenAI GPT-5 зберігає основне правило виконання малим і додає +специфічні для моделі інструкції щодо фіксації persona, стислого виводу, дисципліни інструментів, +паралельного пошуку, покриття результатів, перевірки, відсутнього контексту та гігієни terminal-tool. ## Структура -Prompt навмисно компактний і використовує фіксовані розділи: +Prompt навмисно компактний і використовує фіксовані секції: -- **Інструменти**: нагадування про джерело істини для structured-tool плюс runtime-вказівки щодо використання інструментів. -- **Пріоритет виконання**: компактні вказівки щодо доведення до кінця: діяти в межах поточного turn для - actionable requests, продовжувати до завершення або блокування, відновлюватися після слабких результатів інструментів, - перевіряти мінливий стан наживо та перевіряти перед фіналізацією. -- **Безпека**: коротке нагадування guardrail, щоб уникати power-seeking behavior або обходу oversight. +- **Інструменти**: нагадування про structured-tool як джерело істини плюс runtime-інструкції з використання інструментів. +- **Схильність до виконання**: компактні інструкції щодо доведення до кінця: діяти в межах поточного ходу на + actionable запити, продовжувати до завершення або блокування, відновлюватися після слабких результатів інструментів, + перевіряти змінний стан наживо та верифікувати перед фіналізацією. +- **Безпека**: коротке нагадування guardrail, щоб уникати power-seeking поведінки або обходу нагляду. - **Skills** (коли доступні): пояснює моделі, як завантажувати інструкції Skills на вимогу. -- **Самооновлення OpenClaw**: як безпечно перевіряти config за допомогою - `config.schema.lookup`, змінювати config через `config.patch`, замінювати повний - config через `config.apply` і запускати `update.run` лише за явним запитом користувача. - Інструмент `gateway`, доступний лише owner, також відмовляється переписувати - `tools.exec.ask` / `tools.exec.security`, включно із застарілими псевдонімами `tools.bash.*`, +- **Самооновлення OpenClaw**: як безпечно інспектувати config через + `config.schema.lookup`, виправляти config через `config.patch`, замінювати повний + config через `config.apply` і запускати `update.run` лише на явний запит користувача. + Інструмент `gateway` лише для owner також відмовляється переписувати + `tools.exec.ask` / `tools.exec.security`, включно із застарілими alias `tools.bash.*`, які нормалізуються до цих захищених exec-шляхів. -- **Workspace**: робочий каталог (`agents.defaults.workspace`). -- **Документація**: локальний шлях до документації OpenClaw (репозиторій або npm-пакет) і коли її читати. -- **Файли Workspace (вставлені)**: вказує, що bootstrap-файли включено нижче. -- **Sandbox** (коли ввімкнено): вказує sandboxed runtime, sandbox paths і чи доступний elevated exec. -- **Поточна дата й час**: локальний час користувача, часовий пояс і формат часу. -- **Reply Tags**: необов’язковий синтаксис reply tag для підтримуваних providers. -- **Heartbeats**: prompt Heartbeat і поведінка ack, коли Heartbeats увімкнено для default agent. -- **Runtime**: host, OS, Node, model, repo root (коли виявлено), thinking level (один рядок). -- **Reasoning**: поточний рівень видимості + підказка перемикача /reasoning. +- **Робоча область**: робочий каталог (`agents.defaults.workspace`). +- **Документація**: локальний шлях до документації OpenClaw (repo або npm package) і коли її читати. +- **Файли робочої області (вставлені)**: вказує, що bootstrap-файли додано нижче. +- **Пісочниця** (коли ввімкнено): вказує sandboxed runtime, шляхи sandbox і чи доступний elevated exec. +- **Поточні дата й час**: локальний час користувача, часовий пояс і формат часу. +- **Теги відповіді**: необов’язковий синтаксис тегів відповіді для підтримуваних provider. +- **Heartbeats**: prompt Heartbeat і поведінка ack, коли Heartbeat увімкнено для типового агента. +- **Runtime**: host, OS, Node, модель, корінь repo (коли виявлено), рівень мислення (один рядок). +- **Міркування**: поточний рівень видимості + підказка перемикача /reasoning. -OpenClaw тримає великий стабільний вміст, зокрема **Project Context**, над -внутрішньою межею кешу prompt. Мінливі розділи каналу/сесії, як-от -вбудовані вказівки Control UI, **Messaging**, **Voice**, **Group Chat Context**, -**Reactions**, **Heartbeats** і **Runtime**, додаються під цією межею, -щоб локальні бекенди з prefix cache могли повторно використовувати стабільний префікс workspace -між turns каналу. Описи інструментів так само мають уникати вбудовування поточних -назв каналів, коли прийнята schema вже несе цю runtime-деталь. +OpenClaw тримає великий стабільний контент, включно з **Контекстом проєкту**, над +внутрішньою межею кешу prompt. Нестабільні секції каналу/сесії, такі як +інструкції embedding Control UI, **Повідомлення**, **Голос**, **Контекст групового чату**, +**Реакції**, **Heartbeats** і **Runtime**, додаються під цією межею, +щоб локальні backend з prefix cache могли повторно використовувати стабільний префікс робочої області +між ходами каналу. Описи інструментів так само мають уникати вбудовування поточних +назв каналів, коли прийнята schema вже містить цю runtime-деталь. -Розділ Tooling також містить runtime-вказівки для тривалої роботи: +Секція Інструментів також містить runtime-інструкції для довготривалої роботи: -- використовувати Cron для майбутнього follow-up (`check back later`, reminders, recurring work) - замість циклів `exec` sleep, delay tricks `yieldMs` або повторного polling `process` -- використовувати `exec` / `process` лише для команд, які стартують зараз і продовжують виконуватися +- використовуйте cron для майбутніх follow-up (`check back later`, нагадування, recurring work) + замість sleep loops через `exec`, трюків із затримкою `yieldMs` або повторного polling `process` +- використовуйте `exec` / `process` лише для команд, які запускаються зараз і продовжують працювати у фоновому режимі -- коли ввімкнено automatic completion wake, запускати команду один раз і покладатися на +- коли ввімкнено автоматичне пробудження після завершення, запустіть команду один раз і покладайтеся на push-based wake path, коли вона виводить output або завершується з помилкою -- використовувати `process` для логів, status, input або intervention, коли потрібно - перевірити команду, що виконується -- якщо завдання більше, віддавати перевагу `sessions_spawn`; завершення sub-agent є - push-based і автоматично повідомляє requester -- не опитувати `subagents list` / `sessions_list` у циклі лише для очікування +- використовуйте `process` для logs, status, input або intervention, коли потрібно + інспектувати запущену команду +- якщо завдання більше, надавайте перевагу `sessions_spawn`; завершення sub-agent є + push-based і автоматично оголошується requester +- не опитуйте `subagents list` / `sessions_list` у циклі лише для очікування завершення -Коли експериментальний інструмент `update_plan` увімкнено, Tooling також каже -моделі використовувати його лише для нетривіальної багатоетапної роботи, тримати рівно один +Коли ввімкнено експериментальний інструмент `update_plan`, Інструменти також вказують +моделі використовувати його лише для нетривіальної багатокрокової роботи, тримати рівно один крок `in_progress` і не повторювати весь план після кожного оновлення. -Safety guardrails у системному prompt мають рекомендаційний характер. Вони спрямовують поведінку моделі, але не забезпечують примусове дотримання політик. Для жорсткого enforcement використовуйте tool policy, exec approvals, sandboxing і channel allowlists; оператори можуть вимикати їх за задумом. +Safety guardrails у системному prompt мають рекомендаційний характер. Вони спрямовують поведінку моделі, але не забезпечують примусового виконання policy. Для жорсткого enforcement використовуйте tool policy, exec approvals, sandboxing і channel allowlists; operators можуть вимикати їх за задумом. -На каналах із native approval cards/buttons runtime prompt тепер каже -агенту спершу покладатися на цей native approval UI. Він має включати ручну +У каналах із native approval cards/buttons runtime prompt тепер каже +агентові спочатку покладатися на цей native approval UI. Він має включати ручну команду `/approve` лише тоді, коли результат інструмента каже, що chat approvals недоступні або manual approval є єдиним шляхом. ## Режими prompt -OpenClaw може відтворювати менші системні prompts для sub-agents. Runtime задає +OpenClaw може рендерити менші системні prompt для sub-agents. Runtime встановлює `promptMode` для кожного запуску (це не user-facing config): -- `full` (default): включає всі розділи вище. -- `minimal`: використовується для sub-agents; пропускає **Skills**, **Memory Recall**, **OpenClaw - Self-Update**, **Model Aliases**, **User Identity**, **Reply Tags**, - **Messaging**, **Silent Replies** і **Heartbeats**. Tooling, **Safety**, - Workspace, Sandbox, Current Date & Time (коли відомо), Runtime і вставлений +- `full` (типово): включає всі секції вище. +- `minimal`: використовується для sub-agents; пропускає **Skills**, **Memory Recall**, **Самооновлення OpenClaw**, + **Model Aliases**, **User Identity**, **Reply Tags**, + **Messaging**, **Silent Replies** і **Heartbeats**. Інструменти, **Безпека**, + Робоча область, Sandbox, Поточні дата й час (коли відомо), Runtime і вставлений context залишаються доступними. - `none`: повертає лише базовий рядок identity. -Коли `promptMode=minimal`, додаткові вставлені prompts позначаються як **Subagent +Коли `promptMode=minimal`, додаткові вставлені prompt позначаються як **Subagent Context** замість **Group Chat Context**. -Для запусків channel auto-reply OpenClaw може пропускати загальний розділ **Silent Replies**, -коли контекст direct/group chat уже містить визначену для цієї розмови -поведінку `NO_REPLY`. Це уникає повторення token mechanics -і в глобальному системному prompt, і в контексті каналу. +Для запусків channel auto-reply OpenClaw може пропускати загальну секцію **Silent Replies**, +коли direct/group chat context уже містить вирішену +специфічну для розмови поведінку `NO_REPLY`. Це уникає повторення механіки token +і в глобальному системному prompt, і в channel context. ## Знімки prompt -OpenClaw зберігає закомічені знімки prompt для happy path Codex runtime у -`test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/`. Вони відтворюють -вибрані params thread/turn app-server плюс реконструйований stack шарів prompt, прив’язаних до моделі, -для Telegram direct, Discord group і Heartbeat turns. Цей stack -містить закріплений fixture model prompt Codex `gpt-5.5`, згенерований із форми -model catalog/cache Codex, developer text permission happy-path Codex, -інструкції OpenClaw для developer, user turn input і посилання на динамічні -tool specs. +OpenClaw зберігає committed prompt snapshots для Codex runtime happy path у +`test/fixtures/agents/prompt-snapshots/codex-runtime-happy-path/`. Вони рендерять +вибрані app-server thread/turn params плюс реконструйований model-bound prompt +layer stack для Telegram direct, Discord group і heartbeat turns. Цей stack +містить pinned Codex `gpt-5.5` model prompt fixture, згенерований з форми model catalog/cache Codex, +developer text дозволів Codex happy-path, +інструкції developer OpenClaw, turn-scoped інструкції collaboration-mode, +коли OpenClaw їх надає, user turn input і посилання на dynamic tool +specs. -Оновіть закріплений fixture Codex model prompt за допомогою -`pnpm prompt:snapshots:sync-codex-model`. За замовчуванням скрипт шукає +Оновіть pinned Codex model prompt fixture через +`pnpm prompt:snapshots:sync-codex-model`. Типово script шукає runtime cache Codex у `$CODEX_HOME/models_cache.json`, потім -`~/.codex/models_cache.json`, і лише після цього переходить до конвенції checkout Codex -maintainer за адресою `~/code/codex/codex-rs/models-manager/models.json`. Якщо -жодного з цих джерел не існує, команда завершується без зміни закоміченого -fixture. Передайте `--catalog `, щоб оновити з конкретного файлу `models_cache.json` -або `models.json`. +`~/.codex/models_cache.json`, і лише після цього fallback до домовленості maintainer Codex +checkout у `~/code/codex/codex-rs/models-manager/models.json`. Якщо +жодне з цих джерел не існує, команда завершується без зміни committed +fixture. Передайте `--catalog `, щоб оновити зі specific `models_cache.json` +або `models.json` file. -Ці знімки все ще не є byte-for-byte raw OpenAI request capture. Codex -може додавати workspace context, що належить runtime, як-от `AGENTS.md`, environment -context, memories, інструкції app/plugin і майбутні collaboration-mode -instructions усередині Codex runtime після того, як OpenClaw надішле params thread і turn. +Ці snapshots усе ще не є byte-for-byte raw OpenAI request capture. Codex +може додавати runtime-owned workspace context, такий як `AGENTS.md`, environment +context, memories, app/plugin instructions і вбудовані Default +collaboration-mode instructions усередині Codex runtime після того, як OpenClaw надсилає +thread і turn params. -Повторно згенеруйте їх за допомогою `pnpm prompt:snapshots:gen` і перевірте drift через +Перегенеруйте їх за допомогою `pnpm prompt:snapshots:gen` і перевірте drift через `pnpm prompt:snapshots:check`. CI запускає drift check у додатковому -boundary shard, щоб зміни prompt і оновлення snapshot залишалися прикріпленими до того самого +boundary shard, щоб зміни prompt і snapshot updates залишалися прив’язаними до того самого PR. -## Вставлення Workspace bootstrap +## Bootstrap-вставка робочої області -Bootstrap-файли обрізаються й додаються в **Project Context**, щоб модель бачила identity і profile context без потреби в явному читанні: +Bootstrap-файли обрізаються та додаються під **Контекстом проєкту**, щоб модель бачила identity і profile context без потреби явних reads: - `AGENTS.md` - `SOUL.md` @@ -155,78 +157,78 @@ Bootstrap-файли обрізаються й додаються в **Project C - `IDENTITY.md` - `USER.md` - `HEARTBEAT.md` -- `BOOTSTRAP.md` (лише в абсолютно нових workspaces) +- `BOOTSTRAP.md` (лише для абсолютно нових робочих областей) - `MEMORY.md`, коли наявний -Усі ці файли **вставляються у context window** на кожному turn, якщо -не застосовується специфічний для файлу gate. `HEARTBEAT.md` пропускається у звичайних запусках, коли -Heartbeats вимкнено для default agent або +Усі ці файли **вставляються у context window** на кожному ході, якщо +не застосовується file-specific gate. `HEARTBEAT.md` пропускається у звичайних запусках, коли +heartbeats вимкнено для типового агента або `agents.defaults.heartbeat.includeSystemPromptSection` має значення false. Тримайте вставлені -файли стислими — особливо `MEMORY.md`, який може зростати з часом і призводити до -неочікувано великого використання контексту та частішого Compaction. +файли стислими — особливо `MEMORY.md`, який може з часом зростати й призводити до +неочікувано високого використання context і частішої Compaction. Коли сесія працює на native Codex harness, Codex завантажує `AGENTS.md` -через власне discovery project-doc. OpenClaw все ще знаходить решту -bootstrap-файлів і передає їх як config instructions Codex, тому `SOUL.md`, +через власне project-doc discovery. OpenClaw все одно визначає решту +bootstrap-файлів і передає їх як Codex config instructions, тому `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md` і `MEMORY.md` зберігають ту саму роль workspace-context без дублювання `AGENTS.md`. -Щоденні файли `memory/*.md` **не** є частиною звичайного bootstrap Project Context. У звичайних turns до них звертаються на вимогу через інструменти `memory_search` і `memory_get`, тому вони не враховуються в context window, якщо модель явно їх не читає. Голі turns `/new` і `/reset` є винятком: runtime може додати recent daily memory на початок як одноразовий блок startup-context для цього першого turn. +Щоденні файли `memory/*.md` **не** є частиною звичайного bootstrap Project Context. У звичайних ходах до них звертаються за потреби через інструменти `memory_search` і `memory_get`, тому вони не враховуються в context window, якщо модель явно їх не читає. Bare `/new` і `/reset` turns є винятком: runtime може додати recent daily memory як одноразовий startup-context block для цього першого turn. -Великі файли обрізаються з маркером. Максимальний розмір на файл контролюється -`agents.defaults.bootstrapMaxChars` (default: 12000). Загальний вставлений bootstrap -content по всіх файлах обмежений `agents.defaults.bootstrapTotalMaxChars` -(default: 60000). Відсутні файли вставляють короткий missing-file marker. Коли відбувається truncation, +Великі файли обрізаються з marker. Максимальний розмір на файл контролюється +`agents.defaults.bootstrapMaxChars` (типово: 12000). Загальний вставлений bootstrap +content по всіх файлах обмежується `agents.defaults.bootstrapTotalMaxChars` +(типово: 60000). Відсутні файли вставляють короткий missing-file marker. Коли відбувається truncation, OpenClaw може вставити warning block у Project Context; керуйте цим через `agents.defaults.bootstrapPromptTruncationWarning` (`off`, `once`, `always`; -default: `once`). +типово: `once`). Сесії sub-agent вставляють лише `AGENTS.md` і `TOOLS.md` (інші bootstrap-файли -фільтруються, щоб зберегти context sub-agent малим). +відфільтровуються, щоб тримати context sub-agent малим). -Внутрішні hooks можуть перехоплювати цей крок через `agent:bootstrap`, щоб змінити або замінити -вставлені bootstrap-файли (наприклад, замінити `SOUL.md` на альтернативну persona). +Internal hooks можуть перехоплювати цей крок через `agent:bootstrap`, щоб змінити або замінити +вставлені bootstrap-файли (наприклад, замінити `SOUL.md` на alternate persona). -Якщо ви хочете зробити звучання агента менш generic, почніть із +Якщо ви хочете, щоб агент звучав менш generic, почніть із [Посібника з особистості SOUL.md](/uk/concepts/soul). -Щоб перевірити, скільки вносить кожен вставлений файл (raw проти injected, truncation, плюс overhead tool schema), використовуйте `/context list` або `/context detail`. Див. [Context](/uk/concepts/context). +Щоб перевірити, скільки додає кожен вставлений файл (raw vs injected, truncation, плюс tool schema overhead), використовуйте `/context list` або `/context detail`. Див. [Контекст](/uk/concepts/context). ## Обробка часу -Системний prompt включає окремий розділ **Current Date & Time**, коли -часовий пояс користувача відомий. Щоб зберегти prompt cache-stable, тепер він містить лише -**часовий пояс** (без динамічного годинника або формату часу). +Системний prompt включає спеціальну секцію **Поточні дата й час**, коли +часовий пояс користувача відомий. Щоб зберегти prompt cache-stable, тепер вона містить лише +**часовий пояс** (без динамічного clock або формату часу). Використовуйте `session_status`, коли агенту потрібен поточний час; status card -містить рядок timestamp. Той самий інструмент може необов’язково встановити per-session model +містить timestamp line. Той самий інструмент може необов’язково встановити per-session model override (`model=default` очищає його). -Налаштуйте через: +Налаштовується через: - `agents.defaults.userTimezone` - `agents.defaults.timeFormat` (`auto` | `12` | `24`) -Повні деталі поведінки див. у [Date & Time](/uk/date-time). +Повний опис поведінки див. у [Дата й час](/uk/date-time). ## Skills -Коли існують придатні Skills, OpenClaw вставляє компактний **список доступних Skills** +Коли існують eligible Skills, OpenClaw вставляє компактний **список доступних Skills** (`formatSkillsForPrompt`), який містить **шлях до файлу** для кожного Skill. Prompt -інструктує модель використовувати `read`, щоб завантажити SKILL.md у вказаному -розташуванні (workspace, managed або bundled). Якщо придатних Skills немає, розділ -Skills пропускається. +інструктує модель використовувати `read`, щоб завантажити SKILL.md за вказаним +розташуванням (workspace, managed або bundled). Якщо немає eligible Skills, +секція Skills пропускається. -Придатність охоплює metadata gates Skills, перевірки runtime environment/config -і ефективний agent skill allowlist, коли налаштовано `agents.defaults.skills` або +Eligibility включає gates metadata Skill, перевірки runtime environment/config +і effective agent skill allowlist, коли налаштовано `agents.defaults.skills` або `agents.list[].skills`. -Skills, що постачаються з Plugin, придатні лише тоді, коли їхній власний Plugin увімкнено. -Це дає tool plugins змогу надавати глибші операційні посібники без вбудовування всіх -цих вказівок безпосередньо в кожен опис інструмента. +Plugin-bundled Skills є eligible лише коли ввімкнено Plugin-власник. +Це дає змогу tool plugins надавати глибші operating guides без вбудовування всіх цих +інструкцій безпосередньо в кожен опис інструмента. ``` @@ -238,34 +240,28 @@ Skills, що постачаються з Plugin, придатні лише то ``` -Це зберігає базовий prompt малим, але все одно дає змогу використовувати цільові Skills. +Це зберігає базовий prompt малим, водночас дозволяючи targeted використання Skill. Бюджет списку Skills належить підсистемі Skills: -- Глобальне default: `skills.limits.maxSkillsPromptChars` -- Per-agent override: `agents.list[].skillsLimits.maxSkillsPromptChars` +- Глобальне типове значення: `skills.limits.maxSkillsPromptChars` +- Перевизначення для агента: `agents.list[].skillsLimits.maxSkillsPromptChars` -Загальні обмежені runtime excerpts використовують іншу surface: +Загальні обмежені фрагменти часу виконання використовують іншу поверхню: - `agents.defaults.contextLimits.*` - `agents.list[].contextLimits.*` -Такий поділ відокремлює визначення розміру Skills від визначення розміру читання/ін’єкції під час виконання, як-от `memory_get`, результати інструментів наживо та оновлення AGENTS.md після Compaction. +Цей поділ відокремлює визначення розміру Skills від визначення розміру читання/впровадження під час виконання, як-от `memory_get`, результати live-інструментів і оновлення AGENTS.md після Compaction. ## Документація -Системний промпт містить розділ **Документація**. Коли локальна документація доступна, він указує на локальний каталог документації OpenClaw (`docs/` у Git checkout або документація, вбудована в npm-пакет). Якщо локальна документація недоступна, він використовує резервний варіант -[https://docs.openclaw.ai](https://docs.openclaw.ai). +Системний prompt містить розділ **Документація**. Коли локальна документація доступна, він указує на локальний каталог документації OpenClaw (`docs/` у Git checkout або документацію з комплектного npm-пакета). Якщо локальна документація недоступна, він повертається до [https://docs.openclaw.ai](https://docs.openclaw.ai). -Той самий розділ також містить розташування вихідного коду OpenClaw. Git checkout відкриває локальний корінь вихідного коду, щоб агент міг безпосередньо переглядати код. Установлення з пакета містять 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 checkouts надають локальний корінь вихідного коду, щоб агент міг безпосередньо інспектувати код. Інсталяції пакетів містять 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) - [Робочий простір агента](/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 8176f3789..7bfba0df8 100644 --- a/docs/uk/plugins/codex-harness.md +++ b/docs/uk/plugins/codex-harness.md @@ -1,51 +1,38 @@ --- read_when: - - Ви хочете використовувати обв’язку app-server Codex, що постачається в комплекті - - Потрібні приклади конфігурації harness Codex - - Ви хочете, щоб розгортання лише з Codex завершувалися помилкою замість резервного переходу на PI -summary: Запускайте ходи вбудованого агента OpenClaw через комплектну обв’язку app-server Codex + - Ви хочете використовувати комплектну обв’язку app-server Codex + - Вам потрібні приклади конфігурації середовища Codex + - Ви хочете, щоб розгортання лише з Codex завершувалися помилкою замість переходу на PI +summary: Запускайте ходи вбудованого агента OpenClaw через постачану в комплекті обв’язку Codex app-server title: Обв’язка Codex x-i18n: - generated_at: "2026-05-03T04:51:02Z" + generated_at: "2026-05-03T17:03:25Z" model: gpt-5.5 provider: openai - source_hash: 83cb442bb2b87fdfe530619e8951bc8f4f5a7d3bfd68ca49eeb16bbdd8b189b4 + source_hash: f5187e54e2dc94e511c0243227f741d3486669f595c2b15cf239b1c03ea466c8 source_path: plugins/codex-harness.md workflow: 16 --- -Вбудований `codex` plugin дає OpenClaw змогу виконувати вбудовані ходи агента через -app-server Codex замість вбудованої обв’язки PI. +Вбудований Plugin `codex` дає OpenClaw змогу запускати вбудовані ходи агента через app-server Codex замість вбудованого каркаса PI. -Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: -виявленням моделей, нативним відновленням гілки, нативною compaction і виконанням -app-server. OpenClaw і далі керує каналами чату, файлами сесій, вибором моделі, -інструментами, затвердженнями, доставкою медіа та видимим дзеркалом транскрипту. +Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: виявленням моделей, нативним відновленням треду, нативною Compaction і виконанням на app-server. OpenClaw і далі керує каналами чату, файлами сесій, вибором моделі, інструментами, схваленнями, доставкою медіа та видимим дзеркалом транскрипту. -Коли хід із вихідного чату виконується через обв’язку Codex, видимі відповіді за -замовчуванням використовують інструмент OpenClaw `message`, якщо розгортання явно -не налаштувало `messages.visibleReplies`. Агент усе ще може завершити свій хід -Codex приватно; він публікує повідомлення в канал лише тоді, коли викликає -`message(action="send")`. Установіть `messages.visibleReplies: "automatic"`, щоб -залишити фінальні відповіді прямих чатів на застарілому шляху автоматичної -доставки. +Коли хід вихідного чату виконується через каркас Codex, видимі відповіді типово використовують інструмент OpenClaw `message`, якщо розгортання явно не налаштувало `messages.visibleReplies`. Агент усе ще може завершити свій хід Codex приватно; він публікує повідомлення в канал лише тоді, коли викликає `message(action="send")`. Установіть `messages.visibleReplies: "automatic"`, щоб зберегти фінальні відповіді прямого чату на застарілому шляху автоматичної доставки. -Ходи heartbeat Codex також за замовчуванням отримують інструмент -`heartbeat_respond`, щоб агент міг записати, чи пробудження має залишатися тихим, -чи сповіщати, не кодувавши цей потік керування у фінальному тексті. +Ходи Codex Heartbeat також типово отримують інструмент `heartbeat_respond`, щоб агент міг записати, чи має пробудження залишитися тихим, чи сповістити, не кодувавши цей потік керування у фінальному тексті. -Якщо ви намагаєтеся зорієнтуватися, почніть із -[середовищ виконання агентів](/uk/concepts/agent-runtimes). Коротка версія така: +Спеціальні для Heartbeat настанови щодо ініціативності надсилаються як інструкція розробника режиму співпраці Codex на самому ході Heartbeat. Звичайні ходи чату відновлюють режим Codex Default замість того, щоб нести філософію Heartbeat у своєму звичайному runtime prompt. + +Якщо ви намагаєтеся зорієнтуватися, почніть з +[Середовища виконання агентів](/uk/concepts/agent-runtimes). Коротко: `openai/gpt-5.5` — це посилання на модель, `codex` — середовище виконання, а Telegram, Discord, Slack або інший канал залишається поверхнею комунікації. ## Швидка конфігурація -Більшість користувачів, яким потрібен "Codex в OpenClaw", хочуть саме цей маршрут: -увійти з підпискою ChatGPT/Codex, а потім виконувати вбудовані ходи агента через -нативне середовище виконання app-server Codex. Посилання на модель і далі -залишається канонічним як `openai/gpt-*`; автентифікація підписки надходить з -облікового запису/профілю Codex, а не з префікса моделі `openai-codex/*`. +Більшість користувачів, які хочуть "Codex в OpenClaw", хочуть саме цей маршрут: увійти з підпискою ChatGPT/Codex, а потім запускати вбудовані ходи агента через нативне середовище виконання app-server Codex. Посилання на модель усе одно залишається канонічним як +`openai/gpt-*`; автентифікація підписки надходить з облікового запису/профілю Codex, а не з префікса моделі `openai-codex/*`. Спочатку увійдіть через Codex OAuth, якщо ще не зробили цього: @@ -53,7 +40,7 @@ Discord, Slack або інший канал залишається поверх openclaw models auth login --provider openai-codex ``` -Потім увімкніть вбудований `codex` plugin і примусово виберіть середовище виконання Codex: +Потім увімкніть вбудований Plugin `codex` і примусово задайте середовище виконання Codex: ```json5 { @@ -90,219 +77,194 @@ openclaw models auth login --provider openai-codex } ``` -Не використовуйте `openai-codex/gpt-*`, коли маєте на увазі нативне середовище -виконання Codex. Цей префікс — це явний маршрут "Codex OAuth через PI". Зміни -конфігурації застосовуються до нових або скинутих сесій; наявні сесії зберігають -записане для них середовище виконання. +Не використовуйте `openai-codex/gpt-*`, коли маєте на увазі нативне середовище виконання Codex. Цей префікс є явним маршрутом "Codex OAuth через PI". Зміни конфігурації застосовуються до нових або скинутих сесій; наявні сесії зберігають своє записане середовище виконання. -## Що змінює цей plugin +## Що змінює цей Plugin -Вбудований `codex` plugin додає кілька окремих можливостей: +Вбудований 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 | шляхи сумісності image-model `codex/*` | Виконує обмежені ходи app-server Codex для підтримуваних моделей розуміння зображень. | -| Нативна ретрансляція hook | Plugin hooks навколо нативних подій 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/*` на нативне середовище виконання -- робить ACP/acpx стандартним шляхом Codex +- робить ACP/acpx типовим шляхом Codex - перемикає на льоту наявні сесії, які вже записали середовище виконання PI -- замінює доставку каналами OpenClaw, файли сесій, сховище профілів автентифікації або +- замінює доставку каналів OpenClaw, файли сесій, сховище профілів автентифікації або маршрутизацію повідомлень -Той самий plugin також відповідає за нативну поверхню команд керування чатом -`/codex`. Якщо plugin увімкнено й користувач просить прив’язати, відновити, -спрямувати, зупинити або перевірити гілки Codex із чату, агенти мають віддавати -перевагу `/codex ...` замість ACP. ACP залишається явним запасним варіантом, -коли користувач просить ACP/acpx або тестує адаптер Codex для ACP. +Той самий Plugin також володіє нативною поверхнею команд керування чатом `/codex`. Якщо +Plugin увімкнено і користувач просить прив'язати, відновити, спрямувати, зупинити або перевірити треди Codex з чату, агенти мають віддавати перевагу `/codex ...` над ACP. ACP залишається явним запасним варіантом, коли користувач просить ACP/acpx або тестує адаптер ACP Codex. -Нативні ходи Codex зберігають hooks OpenClaw plugins як публічний шар сумісності. -Це внутрішньопроцесні hooks OpenClaw, а не командні hooks Codex `hooks.json`: +Нативні ходи Codex зберігають хуки Plugin OpenClaw як публічний шар сумісності. +Це внутрішньопроцесні хуки OpenClaw, а не командні хуки Codex `hooks.json`: - `before_prompt_build` - `before_compaction`, `after_compaction` - `llm_input`, `llm_output` - `before_tool_call`, `after_tool_call` - `before_message_write` для дзеркальних записів транскрипту -- `before_agent_finalize` через ретрансляцію Codex `Stop` +- `before_agent_finalize` через ретранслятор Codex `Stop` - `agent_end` -Plugins також можуть реєструвати нейтральне до середовища виконання middleware -результатів інструментів, щоб переписувати динамічні результати інструментів -OpenClaw після того, як OpenClaw виконає інструмент, і до того, як результат -повернеться в Codex. Це окремо від публічного plugin hook `tool_result_persist`, -який трансформує записи результатів інструментів у транскрипті, що належать -OpenClaw. +Plugins також можуть реєструвати нейтральне до середовища виконання проміжне ПЗ результатів інструментів, щоб переписувати динамічні результати інструментів OpenClaw після того, як OpenClaw виконає інструмент, і до того, як результат буде повернено Codex. Це окремо від публічного хука Plugin `tool_result_persist`, який перетворює записи результатів інструментів транскрипту, що належать OpenClaw. -Про семантику самих plugin hooks див. [Plugin hooks](/uk/plugins/hooks) -і [поведінка guard Plugin](/uk/tools/plugin). +Щодо семантики самих хуків Plugin див. [Хуки Plugin](/uk/plugins/hooks) +і [Поведінка захисту Plugin](/uk/tools/plugin). -Обв’язку вимкнено за замовчуванням. Нові конфігурації мають зберігати посилання -на моделі OpenAI канонічними як `openai/gpt-*` і явно примушувати -`agentRuntime.id: "codex"` або `OPENCLAW_AGENT_RUNTIME=codex`, коли потрібне -нативне виконання app-server. Застарілі посилання на моделі `codex/*` і далі -автоматично вибирають обв’язку для сумісності, але застарілі префікси провайдерів, -підтримані середовищем виконання, не показуються як звичайні варіанти моделей/провайдерів. +Каркас типово вимкнено. Нові конфігурації мають залишати посилання на моделі OpenAI канонічними як `openai/gpt-*` і явно задавати +`agentRuntime.id: "codex"` або `OPENCLAW_AGENT_RUNTIME=codex`, коли потрібне нативне виконання app-server. Застарілі посилання на моделі `codex/*` усе ще автоматично вибирають каркас для сумісності, але застарілі префікси провайдерів, підкріплені середовищем виконання, не показуються як звичайні варіанти моделі/провайдера. -Якщо `codex` plugin увімкнено, але основна модель усе ще +Якщо Plugin `codex` увімкнено, але основна модель усе ще `openai-codex/*`, `openclaw doctor` попереджає замість зміни маршруту. Це -навмисно: `openai-codex/*` залишається шляхом PI Codex OAuth/підписки, а +навмисно: `openai-codex/*` залишається шляхом Codex OAuth/підписки через PI, а нативне виконання 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 | +| 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 | Важливий поділ — провайдер проти середовища виконання: - `openai-codex/*` відповідає на питання "який маршрут провайдера/автентифікації має використовувати PI?" - `agentRuntime.id: "codex"` відповідає на питання "який цикл має виконати цей вбудований хід?" -- `/codex ...` відповідає на питання "яку нативну розмову Codex цей чат має - прив’язати або керувати?" -- ACP відповідає на питання "який зовнішній процес обв’язки має запустити acpx?" +- `/codex ...` відповідає на питання "до якої нативної розмови Codex цей чат має прив'язатися + або якою керувати?" +- ACP відповідає на питання "який зовнішній процес каркаса має запускати acpx?" ## Виберіть правильний префікс моделі -Маршрути сімейства OpenAI залежать від префікса. Для поширеного налаштування -підписки плюс нативного середовища виконання Codex використовуйте `openai/*` з -`agentRuntime.id: "codex"`. Використовуйте `openai-codex/*` лише тоді, коли -навмисно хочете Codex OAuth через PI: +Маршрути сімейства OpenAI залежать від префікса. Для поширеного налаштування з підпискою плюс +нативним середовищем виконання Codex використовуйте `openai/*` з `agentRuntime.id: "codex"`. +Використовуйте `openai-codex/*` лише тоді, коли навмисно хочете Codex OAuth через PI: -| Посилання на модель | Шлях середовища виконання | Коли використовувати | +| Посилання на модель | Шлях середовища виконання | Коли використовувати | | --------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------- | -| `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. | +| `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-key, так і на маршрутах -підписки Codex, якщо ваш обліковий запис їх відкриває. Використовуйте -`openai/gpt-5.5` з обв’язкою app-server Codex для нативного середовища виконання -Codex, `openai-codex/gpt-5.5` для PI OAuth або `openai/gpt-5.5` без перевизначення -середовища виконання Codex для прямого трафіку API-key. +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-ключа. -Застарілі посилання `codex/gpt-*` і далі приймаються як псевдоніми сумісності. -Сумісна міграція doctor переписує застарілі посилання основного середовища -виконання на канонічні посилання моделей і записує політику середовища виконання -окремо, тоді як застарілі посилання лише для fallback залишаються без змін, -оскільки середовище виконання налаштовується для всього контейнера агента. -Нові конфігурації PI Codex OAuth мають використовувати `openai-codex/gpt-*`; -нові конфігурації нативної обв’язки app-server мають використовувати -`openai/gpt-*` плюс `agentRuntime.id: "codex"`. +Застарілі посилання `codex/gpt-*` залишаються прийнятими як псевдоніми сумісності. Міграція сумісності doctor переписує застарілі основні посилання середовища виконання на канонічні посилання на моделі й записує політику середовища виконання окремо, тоді як застарілі посилання лише для резерву залишаються без змін, бо середовище виконання налаштовується для всього контейнера агента. +Нові конфігурації PI Codex OAuth мають використовувати `openai-codex/gpt-*`; нові конфігурації нативного каркаса app-server мають використовувати `openai/gpt-*` плюс +`agentRuntime.id: "codex"`. -`agents.defaults.imageModel` дотримується того самого поділу префіксів. -Використовуйте `openai-codex/gpt-*`, коли розуміння зображень має виконуватися -через шлях провайдера OpenAI Codex OAuth. Використовуйте `codex/gpt-*`, коли -розуміння зображень має виконуватися через обмежений хід app-server Codex. -Модель app-server Codex має оголошувати підтримку введення зображень; текстові -моделі Codex завершуються помилкою до початку медіаходу. +`agents.defaults.imageModel` дотримується того самого поділу префіксів. Використовуйте +`openai-codex/gpt-*`, коли розуміння зображень має виконуватися через шлях провайдера OpenAI +Codex OAuth. Використовуйте `codex/gpt-*`, коли розуміння зображень має виконуватися через обмежений хід app-server Codex. Модель app-server Codex повинна +оголошувати підтримку введення зображень; текстові моделі Codex зазнають невдачі до початку медіаходу. -Використовуйте `/status`, щоб підтвердити ефективну обв’язку для поточної сесії. -Якщо вибір неочікуваний, увімкніть debug logging для підсистеми `agents/harness` -і перевірте структурований запис gateway `agent harness selected`. Він містить -вибраний id обв’язки, причину вибору, політику середовища виконання/fallback і, -в режимі `auto`, результат підтримки кожного кандидата plugin. +Використовуйте `/status`, щоб підтвердити ефективний каркас для поточної сесії. Якщо вибір несподіваний, увімкніть debug logging для підсистеми `agents/harness` +і перегляньте структурований запис `agent harness selected` Gateway. Він +містить вибраний id каркаса, причину вибору, політику середовища виконання/резерву і, +в режимі `auto`, результат підтримки кожного кандидата Plugin. ### Що означають попередження doctor -`openclaw doctor` попереджає, коли всі ці умови істинні: +`openclaw doctor` попереджає, коли істинні всі ці умови: -- вбудований `codex` plugin увімкнено або дозволено +- вбудований Plugin `codex` увімкнено або дозволено - основна модель агента — `openai-codex/*` - ефективне середовище виконання цього агента не є `codex` -Це попередження існує, бо користувачі часто очікують, що "Codex plugin увімкнено" -означає "нативне середовище виконання app-server Codex." OpenClaw не робить -такого переходу. Попередження означає: +Це попередження існує тому, що користувачі часто очікують, що "Plugin Codex увімкнено" означає +"нативне середовище виконання app-server Codex." OpenClaw не робить такого переходу. Попередження +означає: - **Змін не потрібно**, якщо ви мали на увазі ChatGPT/Codex OAuth через PI. - Змініть модель на `openai/` і встановіть - `agentRuntime.id: "codex"`, якщо ви мали на увазі нативне виконання - app-server. + `agentRuntime.id: "codex"`, якщо ви мали на увазі нативне виконання app-server. - Наявні сесії все ще потребують `/new` або `/reset` після зміни середовища виконання, - бо закріплення середовища виконання сесії липкі. + бо прив'язки середовища виконання сесії є липкими. -Вибір обв’язки не є керуванням живою сесією. Коли виконується вбудований хід, -OpenClaw записує вибраний id обв’язки для цієї сесії та продовжує використовувати -його для наступних ходів у межах того самого id сесії. Змініть конфігурацію -`agentRuntime` або `OPENCLAW_AGENT_RUNTIME`, коли хочете, щоб майбутні сесії -використовували іншу обв’язку; використовуйте `/new` або `/reset`, щоб почати -свіжу сесію перед перемиканням наявної розмови між PI і Codex. Це запобігає -повторному програванню одного транскрипту через дві несумісні нативні системи -сесій. +Вибір каркаса не є керуванням живою сесією. Коли виконується вбудований хід, +OpenClaw записує вибраний id каркаса в цій сесії та продовжує використовувати його для +пізніших ходів у тій самій сесії id. Змініть конфігурацію `agentRuntime` або +`OPENCLAW_AGENT_RUNTIME`, коли хочете, щоб майбутні сесії використовували інший каркас; +використовуйте `/new` або `/reset`, щоб почати свіжу сесію перед перемиканням наявної +розмови між PI і Codex. Це уникає повторного програвання одного транскрипту через +дві несумісні нативні системи сесій. -Застарілі сесії, створені до закріплень обв’язки, вважаються закріпленими за PI, -щойно мають історію транскрипту. Використовуйте `/new` або `/reset`, щоб -підключити цю розмову до Codex після зміни конфігурації. +Застарілі сеанси, створені до закріплень harness, вважаються PI-закріпленими, +щойно мають історію transcript. Використайте `/new` або `/reset`, щоб увімкнути +Codex для цієї розмови після зміни конфігурації. -`/status` показує фактичне середовище виконання моделі. Стандартний PI harness відображається як -`Runtime: OpenClaw Pi Default`, а Codex app-server harness відображається як +`/status` показує фактичний runtime моделі. Стандартний PI harness відображається як +`Runtime: OpenClaw Pi Default`, а harness сервера застосунку Codex - як `Runtime: OpenAI Codex`. ## Вимоги -- OpenClaw з доступним вбудованим Plugin `codex`. -- Codex app-server `0.125.0` або новіший. Вбудований Plugin за замовчуванням керує сумісним - бінарним файлом Codex app-server, тому локальні команди `codex` у `PATH` не - впливають на звичайний запуск harness. -- Codex auth доступний процесу app-server або auth bridge OpenClaw для Codex. - Локальні запуски app-server використовують керований OpenClaw Codex home для кожного - агента та ізольований дочірній `HOME`, тому за замовчуванням вони не читають ваш особистий - обліковий запис `~/.codex`, Skills, plugins, конфігурацію, стан потоків або нативні +- OpenClaw із доступним вбудованим Plugin `codex`. +- Сервер застосунку Codex `0.125.0` або новіший. Вбудований Plugin за замовчуванням + керує сумісним бінарним файлом сервера застосунку Codex, тому локальні команди + `codex` у `PATH` не впливають на звичайний запуск harness. +- Автентифікація Codex, доступна процесу сервера застосунку або мосту + автентифікації Codex в OpenClaw. Локальні запуски сервера застосунку використовують + керований OpenClaw домашній каталог Codex для кожного агента й ізольований дочірній + `HOME`, тому за замовчуванням вони не читають ваш особистий обліковий запис + `~/.codex`, Skills, plugins, конфігурацію, стан thread або нативні `$HOME/.agents/skills`. -Plugin блокує застарілі або неверсіоновані handshakes app-server. Це утримує -OpenClaw на поверхні протоколу, з якою він був протестований. +Plugin блокує старіші або неверсіоновані handshakes сервера застосунку. Це утримує +OpenClaw на поверхні протоколу, з якою його було протестовано. -Для live- і Docker smoke tests auth зазвичай надходить з облікового запису Codex CLI -або auth profile OpenClaw `openai-codex`. Локальні stdio-запуски app-server також можуть -повертатися до `CODEX_API_KEY` / `OPENAI_API_KEY`, коли облікового запису немає. +Для live- і Docker-smoke-тестів автентифікація зазвичай надходить з облікового запису +Codex CLI або профілю автентифікації OpenClaw `openai-codex`. Локальні запуски +stdio-сервера застосунку також можуть повертатися до `CODEX_API_KEY` / +`OPENAI_API_KEY`, коли обліковий запис відсутній. -## Файли початкового налаштування робочої області +## Файли початкового завантаження робочої області -Codex сам обробляє `AGENTS.md` через нативне виявлення project-doc. OpenClaw -не записує синтетичні project-doc файли Codex і не залежить від fallback-назв -файлів Codex для persona-файлів, тому що fallback-и Codex застосовуються лише тоді, коли -`AGENTS.md` відсутній. +Codex сам обробляє `AGENTS.md` через нативне виявлення проєктної документації. OpenClaw +не записує синтетичні проєктні файли документації Codex і не залежить від запасних +імен файлів Codex для файлів persona, оскільки fallback Codex застосовуються лише тоді, +коли бракує `AGENTS.md`. -Для parity робочої області OpenClaw Codex harness визначає інші файли початкового -налаштування (`SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, -`BOOTSTRAP.md` і `MEMORY.md`, коли вони наявні) та передає їх через інструкції -конфігурації Codex у `thread/start` і `thread/resume`. Це зберігає видимим -`SOUL.md` і пов’язаний контекст persona/profile робочої області без -дублювання `AGENTS.md`. +Для паритету робочої області OpenClaw harness Codex розв'язує інші файли початкового +завантаження (`SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, +`BOOTSTRAP.md` і `MEMORY.md`, коли вони наявні) і передає їх через інструкції +конфігурації Codex у `thread/start` і `thread/resume`. Це зберігає `SOUL.md` і +пов'язаний контекст persona/профілю робочої області видимими без дублювання +`AGENTS.md`. -## Додайте Codex поряд з іншими моделями +## Додайте Codex поруч з іншими моделями -Не встановлюйте `agentRuntime.id: "codex"` глобально, якщо той самий агент має вільно перемикатися -між моделями провайдерів Codex і не-Codex. Примусове середовище виконання застосовується до кожного -вбудованого turn для цього агента або сеансу. Якщо ви виберете модель Anthropic, коли -це середовище виконання примусове, OpenClaw все одно спробує Codex harness і завершиться із закритою помилкою -замість того, щоб непомітно маршрутизувати цей turn через PI. +Не встановлюйте `agentRuntime.id: "codex"` глобально, якщо той самий агент має вільно +перемикатися між Codex і моделями провайдерів не Codex. Примусовий runtime застосовується +до кожного вбудованого turn для цього агента або сеансу. Якщо вибрати модель Anthropic, +коли цей runtime примусовий, OpenClaw усе одно намагається використати harness Codex і +завершує роботу закритою помилкою замість того, щоб тихо маршрутизувати цей turn через PI. -Натомість використовуйте один із цих варіантів: +Натомість використайте одну з цих форм: -- Розмістіть Codex на виділеному агенті з `agentRuntime.id: "codex"`. -- Залиште стандартного агента на `agentRuntime.id: "auto"` і PI fallback для звичайного змішаного - використання провайдерів. -- Використовуйте legacy-посилання `codex/*` лише для сумісності. Нові конфігурації мають надавати перевагу - `openai/*` плюс явній політиці Codex runtime. +- Розмістіть Codex на окремому агенті з `agentRuntime.id: "codex"`. +- Залиште стандартного агента на `agentRuntime.id: "auto"` і PI fallback для звичайного + змішаного використання провайдерів. +- Використовуйте застарілі посилання `codex/*` лише для сумісності. Нові конфігурації + мають віддавати перевагу `openai/*` плюс явній політиці runtime Codex. -Наприклад, це залишає стандартного агента на звичайному автоматичному виборі та +Наприклад, це залишає стандартного агента на звичайному автоматичному виборі й додає окремого агента Codex: ```json5 @@ -341,36 +303,36 @@ Codex сам обробляє `AGENTS.md` через нативне виявле З цією формою: -- Стандартний агент `main` використовує звичайний шлях провайдера та fallback сумісності PI. -- Агент `codex` використовує Codex app-server harness. -- Якщо Codex відсутній або не підтримується для агента `codex`, turn завершується помилкою - замість тихого використання PI. +- Стандартний агент `main` використовує звичайний шлях провайдера і fallback PI-сумісності. +- Агент `codex` використовує harness сервера застосунку Codex. +- Якщо Codex відсутній або не підтримується для агента `codex`, turn завершується + помилкою замість тихого використання PI. ## Маршрутизація команд агента Агенти мають маршрутизувати запити користувача за наміром, а не лише за словом "Codex": -| Користувач просить... | Агент має використати... | +| Користувач просить... | Агент має використати... | | ------------------------------------------------------ | ------------------------------------------------ | -| "Прив’яжи цей чат до Codex" | `/codex bind` | -| "Віднови потік Codex `` тут" | `/codex resume ` | -| "Покажи потоки Codex" | `/codex threads` | -| "Подай звіт у підтримку щодо невдалого запуску Codex" | `/diagnostics [note]` | -| "Надішли лише відгук Codex для цього прикріпленого потоку" | `/codex diagnostics [note]` | -| "Використовуй мою підписку ChatGPT/Codex із Codex runtime" | `openai/*` плюс `agentRuntime.id: "codex"` | -| "Використовуй мою підписку ChatGPT/Codex через PI" | посилання на моделі `openai-codex/*` | -| "Запусти Codex через ACP/acpx" | ACP `sessions_spawn({ runtime: "acp", ... })` | -| "Запусти Claude Code/Gemini/OpenCode/Cursor у потоці" | ACP/acpx, не `/codex` і не нативні sub-agents | +| "Прив'язати цей чат до Codex" | `/codex bind` | +| "Відновити thread Codex `` тут" | `/codex resume ` | +| "Показати threads Codex" | `/codex threads` | +| "Подати звіт у підтримку про невдалий запуск Codex" | `/diagnostics [note]` | +| "Надіслати відгук Codex лише для цього вкладеного thread" | `/codex diagnostics [note]` | +| "Використати мою підписку ChatGPT/Codex з runtime Codex" | `openai/*` плюс `agentRuntime.id: "codex"` | +| "Використати мою підписку ChatGPT/Codex через PI" | посилання моделей `openai-codex/*` | +| "Запустити Codex через ACP/acpx" | ACP `sessions_spawn({ runtime: "acp", ... })` | +| "Запустити Claude Code/Gemini/OpenCode/Cursor у thread" | ACP/acpx, не `/codex` і не нативні sub-agents | -OpenClaw рекламує агентам підказки щодо ACP spawn лише тоді, коли ACP увімкнений, -доступний для dispatch і підтримується завантаженим runtime backend. Якщо ACP недоступний, -системний prompt і Plugin Skills не мають навчати агента ACP-маршрутизації. +OpenClaw рекламує агентам настанови щодо створення ACP лише тоді, коли ACP увімкнено, +доступно для dispatch і підкріплено завантаженим runtime backend. Якщо ACP недоступний, +системний prompt і plugin skills не мають навчати агента маршрутизації ACP. ## Розгортання лише з Codex -Примусово використовуйте Codex harness, коли потрібно довести, що кожен вбудований turn агента -використовує Codex. Явні plugin runtimes fail closed і ніколи не повторюються непомітно -через PI: +Примусово використовуйте harness Codex, коли потрібно довести, що кожен вбудований turn +агента використовує Codex. Явні plugin runtimes завершуються закритою помилкою і ніколи +не повторюються тихо через PI: ```json5 { @@ -385,18 +347,18 @@ OpenClaw рекламує агентам підказки щодо ACP spawn л } ``` -Перевизначення середовища: +Перевизначення через середовище: ```bash OPENCLAW_AGENT_RUNTIME=codex openclaw gateway run ``` -Коли Codex примусовий, OpenClaw завершується рано, якщо Plugin Codex вимкнений, -app-server надто старий або app-server не може запуститися. +Коли Codex примусовий, OpenClaw рано завершується помилкою, якщо Plugin Codex вимкнено, +сервер застосунку занадто старий або сервер застосунку не може запуститися. ## Codex для окремого агента -Ви можете зробити одного агента лише Codex, тоді як стандартний агент збереже звичайний +Можна зробити одного агента лише Codex, тоді як стандартний агент зберігає звичайний автовибір: ```json5 @@ -426,21 +388,22 @@ app-server надто старий або app-server не може запуст } ``` -Використовуйте звичайні команди сеансу для перемикання агентів і моделей. `/new` створює новий -сеанс OpenClaw, а Codex harness створює або відновлює свій sidecar app-server -thread за потреби. `/reset` очищає прив’язку сеансу OpenClaw для цього потоку -та дозволяє наступному turn знову визначити harness з поточної конфігурації. +Використовуйте звичайні команди сеансу, щоб перемикати агентів і моделі. `/new` створює +свіжий сеанс OpenClaw, а harness Codex створює або відновлює свій sidecar thread сервера +застосунку за потреби. `/reset` очищає прив'язку сеансу OpenClaw для цього thread і +дозволяє наступному turn знову визначити harness із поточної конфігурації. ## Виявлення моделей -За замовчуванням Plugin Codex запитує app-server про доступні моделі. Якщо -виявлення не вдається або спливає час очікування, він використовує вбудований fallback catalog для: +За замовчуванням Plugin Codex запитує в сервера застосунку доступні моделі. Якщо +виявлення зазнає невдачі або спливає час очікування, він використовує вбудований +fallback-каталог для: - GPT-5.5 - GPT-5.4 mini - GPT-5.2 -Ви можете налаштувати виявлення в `plugins.entries.codex.config.discovery`: +Можна налаштувати виявлення в `plugins.entries.codex.config.discovery`: ```json5 { @@ -460,8 +423,8 @@ thread за потреби. `/reset` очищає прив’язку сеанс } ``` -Вимкніть виявлення, коли хочете, щоб запуск не пробував Codex і дотримувався -fallback catalog: +Вимкніть виявлення, коли потрібно, щоб запуск не зондував Codex і тримався +fallback-каталогу: ```json5 { @@ -480,7 +443,7 @@ fallback catalog: } ``` -## Підключення app-server і політика +## Підключення й політика сервера застосунку За замовчуванням Plugin запускає керований OpenClaw бінарний файл Codex локально з: @@ -488,18 +451,19 @@ fallback catalog: codex app-server --listen stdio:// ``` -Керований бінарний файл постачається з пакетом Plugin `codex`. Це прив’язує -версію app-server до вбудованого Plugin замість будь-якого окремого -Codex CLI, який випадково встановлено локально. Встановлюйте `appServer.command` лише тоді, -коли навмисно хочете запускати інший виконуваний файл. +Керований бінарний файл постачається з пакетом Plugin `codex`. Це утримує версію +сервера застосунку прив'язаною до вбудованого Plugin, а не до будь-якого окремого +Codex CLI, який випадково встановлено локально. Установлюйте `appServer.command` лише +тоді, коли навмисно хочете запускати інший виконуваний файл. -За замовчуванням OpenClaw запускає локальні сеанси Codex harness у режимі YOLO: +За замовчуванням OpenClaw запускає локальні сеанси harness Codex у режимі YOLO: `approvalPolicy: "never"`, `approvalsReviewer: "user"` і -`sandbox: "danger-full-access"`. Це довірена позиція локального оператора, яку використовують -автономні heartbeats: Codex може використовувати shell і мережеві інструменти без -зупинки на нативних prompts схвалення, на які нікому відповісти. +`sandbox: "danger-full-access"`. Це довірена позиція локального оператора, що +використовується для автономних heartbeats: Codex може використовувати інструменти +shell і мережі, не зупиняючись на нативних prompts схвалення, на які ніхто не зможе +відповісти. -Щоб увімкнути схвалення з перевіркою guardian Codex, встановіть `appServer.mode: +Щоб увімкнути схвалення Codex із перевіркою guardian, установіть `appServer.mode: "guardian"`: ```json5 @@ -520,21 +484,21 @@ Codex CLI, який випадково встановлено локально. } ``` -Режим Guardian використовує нативний шлях схвалень auto-review Codex. Коли Codex просить -вийти з sandbox, записати за межі робочої області або додати дозволи, як-от мережевий -доступ, Codex маршрутизує цей запит на схвалення до нативного reviewer замість -prompt для людини. Reviewer застосовує risk framework Codex і схвалює або відхиляє -конкретний запит. Використовуйте Guardian, коли вам потрібно більше guardrails, ніж у режимі YOLO, -але unattended agents все ще мають просуватися вперед. +Режим Guardian використовує нативний шлях автоматичного перегляду схвалень Codex. Коли +Codex просить залишити sandbox, писати поза робочою областю або додати дозволи, як-от +доступ до мережі, Codex маршрутизує цей запит на схвалення нативному reviewer замість +людського prompt. Reviewer застосовує фреймворк ризику Codex і схвалює або відхиляє +конкретний запит. Використовуйте Guardian, коли потрібні суворіші запобіжники, ніж у +режимі YOLO, але агенти без нагляду все одно мають просуватися вперед. -Preset `guardian` розгортається в `approvalPolicy: "on-request"`, +Пресет `guardian` розгортається в `approvalPolicy: "on-request"`, `approvalsReviewer: "auto_review"` і `sandbox: "workspace-write"`. -Окремі поля політики все ще перевизначають `mode`, тому advanced deployments можуть поєднувати -preset з явними виборами. Старіше значення reviewer `guardian_subagent` -усе ще приймається як compatibility alias, але нові конфігурації мають використовувати +Окремі поля політики все ще перевизначають `mode`, тому розширені розгортання можуть +поєднувати пресет із явними виборами. Старіше значення reviewer `guardian_subagent` +досі приймається як псевдонім сумісності, але нові конфігурації мають використовувати `auto_review`. -Для app-server, який уже працює, використовуйте WebSocket transport: +Для вже запущеного сервера застосунку використовуйте WebSocket-транспорт: ```json5 { @@ -556,18 +520,19 @@ preset з явними виборами. Старіше значення reviewe } ``` -Stdio-запуски app-server за замовчуванням успадковують середовище процесу OpenClaw, -але OpenClaw володіє account bridge Codex app-server і встановлює як -`CODEX_HOME`, так і `HOME` у каталоги кожного агента в стані OpenClaw +Запуски stdio-сервера застосунку за замовчуванням успадковують середовище процесу +OpenClaw, але OpenClaw володіє мостом облікового запису сервера застосунку Codex і +встановлює `CODEX_HOME` та `HOME` у каталоги для кожного агента під станом OpenClaw цього агента. Власний завантажувач Skills Codex читає `$CODEX_HOME/skills` і -`$HOME/.agents/skills`, тому обидва значення ізольовані для локальних запусків app-server. -Це зберігає Codex-native Skills, plugins, конфігурацію, облікові записи та стан потоків -у межах агента OpenClaw, а не підтягує їх з особистого Codex CLI home оператора. +`$HOME/.agents/skills`, тому обидва значення ізольовані для локальних запусків сервера +застосунку. Це утримує Codex-native Skills, plugins, конфігурацію, облікові записи та +стан thread у межах агента OpenClaw замість витоку з особистого домашнього каталогу +Codex CLI оператора. -Plugins OpenClaw і snapshots OpenClaw Skills усе ще проходять через власний -plugin registry і skill loader OpenClaw. Особисті ресурси Codex CLI не проходять. Якщо у вас є -корисні Skills або plugins Codex CLI, які мають стати частиною агента OpenClaw, -інвентаризуйте їх явно: +Plugins OpenClaw і знімки Skills OpenClaw і надалі проходять через власний реєстр +plugins і завантажувач Skills OpenClaw. Особисті активи Codex CLI не проходять. Якщо у +вас є корисні Skills або plugins Codex CLI, які мають стати частиною агента OpenClaw, +явно інвентаризуйте їх: ```bash openclaw migrate codex --dry-run @@ -575,26 +540,26 @@ openclaw migrate apply codex --yes ``` Провайдер міграції Codex копіює Skills у поточну робочу область агента OpenClaw. -Нативні plugins, hooks і файли конфігурації Codex звітуються або архівуються -для ручного перегляду замість автоматичної активації, тому що вони можуть -виконувати команди, відкривати MCP servers або містити credentials. +Нативні plugins, hooks і файли конфігурації Codex звітуються або архівуються для +ручного перегляду замість автоматичної активації, оскільки вони можуть виконувати +команди, відкривати MCP-сервери або містити облікові дані. -Auth вибирається в такому порядку: +Автентифікація вибирається в такому порядку: -1. Явний auth profile OpenClaw Codex для агента. -2. Наявний обліковий запис app-server у Codex home цього агента. -3. Лише для локальних stdio-запусків app-server: `CODEX_API_KEY`, потім - `OPENAI_API_KEY`, коли облікового запису app-server немає, а OpenAI auth - все ще потрібен. +1. Явний профіль автентифікації OpenClaw Codex для агента. +2. Наявний обліковий запис сервера застосунку в домашньому каталозі Codex цього агента. +3. Лише для локальних запусків stdio-сервера застосунку: `CODEX_API_KEY`, потім + `OPENAI_API_KEY`, коли обліковий запис сервера застосунку відсутній, а автентифікація + OpenAI усе ще потрібна. -Коли OpenClaw бачить auth profile Codex у стилі підписки ChatGPT, він видаляє -`CODEX_API_KEY` і `OPENAI_API_KEY` зі spawned дочірнього процесу Codex. Це -залишає API-ключі рівня Gateway доступними для embeddings або прямих моделей OpenAI -без випадкового виставлення рахунків за нативні turns Codex app-server через API. -Явні profiles Codex API-key і локальний fallback stdio env-key використовують login app-server -замість успадкованого env дочірнього процесу. WebSocket-підключення app-server -не отримують fallback API-key env Gateway; використовуйте явний auth profile або -власний обліковий запис віддаленого app-server. +Коли OpenClaw бачить профіль автентифікації Codex у стилі підписки ChatGPT, він вилучає +`CODEX_API_KEY` і `OPENAI_API_KEY` зі створеного дочірнього процесу Codex. Це зберігає +API-ключі рівня Gateway доступними для embeddings або прямих моделей OpenAI, не +змушуючи нативні turns сервера застосунку Codex випадково тарифікуватися через API. +Явні профілі API-ключів Codex і локальний fallback stdio env-key використовують login +сервера застосунку замість успадкованого env дочірнього процесу. Підключення WebSocket +до сервера застосунку не отримують fallback API-ключів env Gateway; використовуйте +явний профіль автентифікації або власний обліковий запис віддаленого сервера застосунку. Якщо розгортанню потрібна додаткова ізоляція середовища, додайте ці змінні до `appServer.clearEnv`: @@ -616,49 +581,49 @@ Auth вибирається в такому порядку: } ``` -`appServer.clearEnv` впливає лише на spawned дочірній процес Codex app-server. +`appServer.clearEnv` впливає лише на породжений дочірній процес app-server Codex. Динамічні інструменти Codex за замовчуванням використовують профіль `native-first`. У цьому режимі -OpenClaw не відкриває динамічні інструменти, які дублюють нативні для Codex операції -робочого простору: `read`, `write`, `edit`, `apply_patch`, `exec`, `process` і +OpenClaw не відкриває динамічні інструменти, що дублюють нативні для Codex операції +з робочою областю: `read`, `write`, `edit`, `apply_patch`, `exec`, `process` і `update_plan`. Інтеграційні інструменти OpenClaw, як-от обмін повідомленнями, сеанси, медіа, cron, браузер, вузли, gateway, `heartbeat_respond` і `web_search`, залишаються доступними. Підтримувані поля верхнього рівня Plugin Codex: -| Поле | За замовчуванням | Значення | -| -------------------------- | ---------------- | -------------------------------------------------------------------------------------------------- | +| Поле | За замовчуванням | Значення | +| -------------------------- | ---------------- | ------------------------------------------------------------------------------------------------ | | `codexDynamicToolsProfile` | `"native-first"` | Використовуйте `"openclaw-compat"`, щоб відкрити повний набір динамічних інструментів OpenClaw для app-server Codex. | -| `codexDynamicToolsExclude` | `[]` | Додаткові назви динамічних інструментів 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` | `[]` | Додаткові назви змінних середовища, які вилучаються зі створеного процесу app-server stdio після того, як OpenClaw побудує успадковане середовище. `CODEX_HOME` і `HOME` зарезервовані для поагентної ізоляції Codex OpenClaw під час локальних запусків. | -| `requestTimeoutMs` | `60000` | Тайм-аут для викликів площини керування app-server. | -| `mode` | `"yolo"` | Попереднє налаштування для виконання YOLO або виконання з перевіркою guardian. | -| `approvalPolicy` | `"never"` | Нативна політика схвалення Codex, що надсилається до start/resume/turn потоку. | -| `sandbox` | `"danger-full-access"` | Нативний режим пісочниці Codex, що надсилається до start/resume потоку. | -| `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, яку надсилають під час start/resume/turn потоку. | +| `sandbox` | `"danger-full-access"` | Нативний режим пісочниці Codex, який надсилають під час start/resume потоку. | +| `approvalsReviewer` | `"user"` | Використовуйте `"auto_review"`, щоб Codex перевіряв нативні запити схвалення. `guardian_subagent` залишається застарілим псевдонімом. | +| `serviceTier` | не встановлено | Необов’язковий рівень сервісу app-server Codex: `"fast"`, `"flex"` або `null`. Недійсні застарілі значення ігноруються. | -Виклики динамічних інструментів, якими володіє OpenClaw, обмежуються незалежно від +Виклики динамічних інструментів, що належать OpenClaw, обмежуються незалежно від `appServer.requestTimeoutMs`: кожен запит Codex `item/tool/call` має отримати -відповідь OpenClaw протягом 30 секунд. У разі тайм-ауту OpenClaw скасовує сигнал +відповідь OpenClaw протягом 30 секунд. У разі тайм-ауту OpenClaw перериває сигнал інструмента там, де це підтримується, і повертає Codex невдалу відповідь динамічного інструмента, щоб хід міг продовжитися замість того, щоб залишити сеанс у стані `processing`. -Після того як OpenClaw відповідає на обмежений ходом запит app-server Codex, обв’язка -також очікує, що Codex завершить нативний хід за допомогою `turn/completed`. Якщо -app-server мовчить 60 секунд після цієї відповіді, OpenClaw у режимі найкращої спроби +Після того як OpenClaw відповідає на запит app-server в межах ходу Codex, обв’язка +також очікує, що Codex завершить нативний хід через `turn/completed`. Якщо +app-server мовчить 60 секунд після цієї відповіді, OpenClaw у режимі best-effort перериває хід Codex, записує діагностичний тайм-аут і звільняє смугу сеансу OpenClaw, щоб наступні повідомлення чату не ставали в чергу за застарілим нативним ходом. @@ -676,24 +641,24 @@ OpenClaw, щоб наступні повідомлення чату не ста `OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1` було вилучено. Натомість використовуйте `plugins.entries.codex.config.appServer.mode: "guardian"` або -`OPENCLAW_CODEX_APP_SERVER_MODE=guardian` для одноразового локального тестування. Конфігурація -є бажаною для повторюваних розгортань, бо вона тримає поведінку Plugin у тому -самому перевіреному файлі, що й решта налаштування обв’язки Codex. +`OPENCLAW_CODEX_APP_SERVER_MODE=guardian` для разового локального тестування. Конфігурація +є кращою для повторюваних розгортань, бо тримає поведінку Plugin у тому самому +переглянутому файлі, що й решту налаштування обв’язки 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. Мінімальна конфігурація: @@ -729,19 +694,19 @@ OpenClaw, щоб наступні повідомлення чату не ста - `/codex computer-use install --source ` - `/codex computer-use install --marketplace-path ` -Використання комп’ютера є специфічним для macOS і може потребувати локальних дозволів ОС, перш ніж -сервер MCP Codex зможе керувати застосунками. Якщо `computerUse.enabled` має значення true, а сервер MCP -недоступний, ходи в режимі Codex завершуються помилкою до запуску потоку, а не -тихо виконуються без нативних інструментів використання комп’ютера. Див. -[Використання комп’ютера Codex](/uk/plugins/codex-computer-use) щодо варіантів маркетплейсу, -обмежень віддаленого каталогу, причин статусу й усунення неполадок. +Використання комп’ютера специфічне для macOS і може потребувати локальних дозволів ОС, перш ніж +MCP-сервер Codex зможе керувати застосунками. Якщо `computerUse.enabled` має значення true, а MCP +сервер недоступний, ходи в режимі Codex завершуються помилкою до запуску потоку замість того, щоб +непомітно виконуватися без нативних інструментів використання комп’ютера. Див. +[Використання комп’ютера в Codex](/uk/plugins/codex-computer-use) щодо варіантів marketplace, +обмежень віддаленого каталогу, причин стану та усунення несправностей. Коли `computerUse.autoInstall` має значення true, OpenClaw може зареєструвати стандартний -вбудований маркетплейс Codex Desktop з +вбудований marketplace Codex Desktop з `/Applications/Codex.app/Contents/Resources/plugins/openai-bundled`, якщо Codex -ще не виявив локальний маркетплейс. Використовуйте `/new` або `/reset` після -зміни конфігурації середовища виконання чи використання комп’ютера, щоб наявні сеанси не зберігали стару -прив’язку потоку PI або Codex. +ще не виявив локальний marketplace. Використовуйте `/new` або `/reset` після +зміни runtime або конфігурації використання комп’ютера, щоб наявні сеанси не зберігали старе +прив’язування PI або потоку Codex. ## Поширені рецепти @@ -827,277 +792,274 @@ OpenClaw, щоб наступні повідомлення чату не ста ``` Перемикання моделей залишається під керуванням OpenClaw. Коли сеанс OpenClaw приєднано -до наявного потоку Codex, наступний хід знову надсилає поточно вибрані -модель OpenAI, провайдера, політику схвалення, пісочницю та рівень сервісу до +до наявного потоку Codex, наступний хід знову надсилає поточно вибрану +модель OpenAI, провайдера, політику схвалень, пісочницю та рівень сервісу до app-server. Перемикання з `openai/gpt-5.5` на `openai/gpt-5.2` зберігає -прив’язку потоку, але просить Codex продовжити з нововибраною моделлю. +прив’язування потоку, але просить Codex продовжити з нововибраною моделлю. ## Команда Codex Вбудований Plugin реєструє `/codex` як авторизовану slash-команду. Вона -є універсальною і працює в будь-якому каналі, що підтримує текстові команди OpenClaw. +універсальна й працює в будь-якому каналі, що підтримує текстові команди OpenClaw. Поширені форми: -- `/codex status` показує живе підключення app-server, моделі, обліковий запис, ліміти швидкості, сервери MCP і skills. -- `/codex models` перелічує живі моделі app-server Codex. +- `/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 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 diagnostics [note]` запитує підтвердження перед надсиланням діагностичного відгуку Codex для приєднаного потоку. +- `/codex computer-use status` перевіряє налаштований Plugin Computer Use і MCP-сервер. +- `/codex computer-use install` установлює налаштований Plugin Computer Use і перезавантажує MCP-сервери. +- `/codex account` показує стан облікового запису й обмежень швидкості. +- `/codex mcp` перелічує стан MCP-серверів app-server Codex. +- `/codex skills` перелічує Skills app-server 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 harness, також надсилає відповідний пакет відгуку 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 для поточного приєднаного потоку без повного +діагностичного пакета Gateway OpenClaw. Для більшості звітів підтримки `/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` через явне схвалення виконання. +Не схвалюйте діагностику правилом allow-all. Після схвалення +OpenClaw надсилає придатний для вставлення звіт зі шляхом до локального пакета та підсумком +маніфесту. Коли активний сеанс OpenClaw використовує Codex harness, це +саме схвалення також дозволяє надсилати відповідні пакети відгуку Codex на +сервери OpenAI. Запит на схвалення повідомляє, що відгук Codex буде надіслано, але +не перелічує ідентифікатори сеансів або потоків Codex до схвалення. -Якщо `/diagnostics` викликає власник у груповому чаті, OpenClaw зберігає -спільний канал чистим: група отримує лише коротке повідомлення, тоді як -діагностична преамбула, запити схвалення та ідентифікатори сеансів/гілок Codex -надсилаються власнику через приватний маршрут схвалення. Якщо приватного маршруту -до власника немає, OpenClaw відхиляє груповий запит і просить власника запустити -його з DM. +Якщо `/diagnostics` викликає власник у груповому чаті, OpenClaw залишає +спільний канал чистим: група отримує лише коротке сповіщення, тоді як +вступ діагностики, запити на схвалення й ідентифікатори сеансів/потоків Codex надсилаються +власнику через приватний маршрут схвалення. Якщо приватного маршруту до власника немає, +OpenClaw відхиляє груповий запит і просить власника виконати його з DM. -Схвалене надсилання Codex викликає `feedback/upload` Codex app-server і просить -app-server включити журнали для кожної переліченої гілки та створених підгілок -Codex, коли вони доступні. Надсилання проходить через звичайний шлях відгуку -Codex на сервери OpenAI; якщо відгук Codex вимкнено в цьому app-server, команда -повертає помилку app-server. Завершена відповідь діагностики перелічує канали, -ідентифікатори сеансів OpenClaw, ідентифікатори гілок Codex і локальні команди -`codex resume ` для гілок, які було надіслано. Якщо ви відхилите або -проігноруєте схвалення, OpenClaw не надрукує ці ідентифікатори Codex. Це -надсилання не замінює локальний експорт діагностики Gateway. +Схвалене завантаження Codex викликає `feedback/upload` app-server Codex і просить +app-server включити журнали для кожного переліченого потоку та породжених підпотоків Codex, +коли вони доступні. Завантаження проходить через звичайний шлях відгуку Codex на сервери OpenAI; +якщо відгук Codex вимкнено в цьому app-server, команда повертає +помилку app-server. Завершена відповідь діагностики перелічує канали, +ідентифікатори сеансів OpenClaw, ідентифікатори потоків Codex і локальні команди +`codex resume ` для потоків, які було надіслано. Якщо ви відхилите або проігноруєте схвалення, +OpenClaw не друкує ці ідентифікатори Codex. Це завантаження не замінює локальний +експорт діагностики Gateway. -`/codex resume` записує той самий допоміжний файл прив'язки, який обв'язка -використовує для звичайних ходів. У наступному повідомленні OpenClaw відновлює -цю гілку Codex, передає поточно вибрану модель OpenClaw в app-server і залишає -розширену історію ввімкненою. +`/codex resume` записує той самий sidecar-файл прив’язки, який harness використовує для +звичайних ходів. У наступному повідомленні OpenClaw відновлює цей потік Codex, передає +поточну вибрану модель OpenClaw в app-server і залишає розширену історію +увімкненою. -### Перегляд гілки Codex із CLI +### Перегляд потоку Codex із CLI -Найшвидший спосіб зрозуміти невдалий запуск Codex часто полягає в тому, щоб -відкрити нативну гілку Codex безпосередньо: +Найшвидший спосіб зрозуміти невдалий запуск Codex часто полягає в тому, щоб відкрити нативний потік Codex +напряму: ```sh codex resume ``` -Використовуйте це, коли помічаєте помилку в розмові каналу й хочете переглянути -проблемний сеанс Codex, продовжити його локально або запитати Codex, чому він -зробив певний вибір інструмента чи міркування. Найпростіший шлях зазвичай — -спочатку запустити `/diagnostics [note]`: після схвалення завершений звіт -перелічує кожну гілку Codex і друкує команду `Inspect locally`, наприклад +Використовуйте це, коли помітили помилку в розмові каналу й хочете переглянути +проблемний сеанс Codex, продовжити його локально або запитати Codex, чому він зробив +певний вибір інструмента чи міркування. Найпростіший шлях зазвичай такий: спочатку запустіть +`/diagnostics [note]`; після схвалення завершений звіт перелічить +кожен потік Codex і надрукує команду `Inspect locally`, наприклад `codex resume `. Ви можете скопіювати цю команду безпосередньо в термінал. -Ви також можете отримати ідентифікатор гілки з `/codex binding` для поточного -чату або `/codex threads [filter]` для нещодавніх гілок Codex app-server, а потім -виконати ту саму команду `codex resume` у своїй оболонці. +Ви також можете отримати ідентифікатор потоку з `/codex binding` для поточного чату або +`/codex threads [filter]` для нещодавніх потоків app-server Codex, а потім виконати ту саму +команду `codex resume` у своїй оболонці. -Поверхня команд потребує Codex app-server `0.125.0` або новішого. Окремі методи -керування повідомляються як `unsupported by this Codex app-server`, якщо майбутній -або користувацький app-server не надає цей метод JSON-RPC. +Поверхня команд потребує app-server Codex `0.125.0` або новішого. Окремі +методи керування повідомляються як `unsupported by this Codex app-server`, якщо +майбутній або власний app-server не надає цей метод JSON-RPC. ## Межі хуків -Обв'язка Codex має три шари хуків: +Codex harness має три рівні хуків: -| Шар | Власник | Призначення | -| ------------------------------------ | ------------------------ | ------------------------------------------------------------------ | -| Хуки Plugin OpenClaw | OpenClaw | Сумісність продукту/Plugin між обв'язками PI і Codex. | -| Middleware розширень Codex app-server | Пакетні Plugin OpenClaw | Поведінка адаптера для кожного ходу навколо динамічних інструментів OpenClaw. | -| Нативні хуки Codex | Codex | Низькорівневий життєвий цикл Codex і політика нативних інструментів із конфігурації Codex. | +| Рівень | Власник | Призначення | +| ------------------------------------- | ------------------------ | ------------------------------------------------------------------ | +| Хуки Plugin OpenClaw | OpenClaw | Сумісність продукту/Plugin між harness Pi та Codex. | +| Проміжне ПЗ розширення app-server Codex | Вбудовані plugins 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 або callback нативних хуків. +Для динамічних інструментів OpenClaw OpenClaw виконує інструмент після того, як Codex запитує +виклик, тому OpenClaw запускає поведінку Plugin і проміжного ПЗ, якою він володіє, в +адаптері harness. Для нативних інструментів Codex канонічним записом інструмента володіє Codex. +OpenClaw може віддзеркалювати вибрані події, але не може переписати нативний потік Codex, +якщо Codex не надає цю операцію через app-server або зворотні виклики нативних хуків. -Проєкції життєвого циклу Compaction і LLM надходять зі сповіщень Codex app-server -і стану адаптера OpenClaw, а не з команд нативних хуків Codex. Події OpenClaw -`before_compaction`, `after_compaction`, `llm_input` і `llm_output` є -спостереженнями рівня адаптера, а не побайтовими захопленнями внутрішнього запиту -Codex або payload Compaction. +Проєкції Compaction і життєвого циклу LLM надходять зі сповіщень app-server Codex +і стану адаптера OpenClaw, а не з нативних команд хуків Codex. +Події OpenClaw `before_compaction`, `after_compaction`, `llm_input` і +`llm_output` є спостереженнями рівня адаптера, а не побайтовими знімками +внутрішнього запиту Codex або корисного навантаження Compaction. -Нативні сповіщення Codex `hook/started` і `hook/completed` від app-server -проєктуються як події агента `codex_app_server.hook` для траєкторії та -налагодження. Вони не викликають хуки Plugin OpenClaw. +Нативні сповіщення app-server 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 | Підтримується | Codex app-server володіє ходом OpenAI, відновленням нативної гілки та продовженням нативного інструмента. | -| Маршрутизація та доставка каналів OpenClaw | Підтримується | Telegram, Discord, Slack, WhatsApp, iMessage та інші канали залишаються поза runtime моделі. | -| Динамічні інструменти OpenClaw | Підтримується | Codex просить OpenClaw виконати ці інструменти, тому OpenClaw залишається в шляху виконання. | -| Plugin підказок і контексту | Підтримується | OpenClaw будує накладки підказок і проєктує контекст у хід Codex перед запуском або відновленням гілки. | -| Життєвий цикл рушія контексту | Підтримується | Збирання, ingest або обслуговування після ходу та координація Compaction рушія контексту виконуються для ходів Codex. | -| Хуки динамічних інструментів | Підтримується | `before_tool_call`, `after_tool_call` і middleware результатів інструментів виконуються навколо динамічних інструментів, якими володіє OpenClaw. | -| Хуки життєвого циклу | Підтримуються як спостереження адаптера | `llm_input`, `llm_output`, `agent_end`, `before_compaction` і `after_compaction` спрацьовують із чесними payload режиму Codex. | -| Шлюз ревізії фінальної відповіді | Підтримується через ретранслятор нативних хуків | Codex `Stop` ретранслюється до `before_agent_finalize`; `revise` просить Codex виконати ще один прохід моделі перед фіналізацією. | -| Блокування або спостереження нативних shell, patch і MCP | Підтримується через ретранслятор нативних хуків | Codex `PreToolUse` і `PostToolUse` ретранслюються для зафіксованих поверхонь нативних інструментів, включно з payload MCP на Codex app-server `0.125.0` або новішому. Блокування підтримується; переписування аргументів — ні. | -| Політика нативних дозволів | Підтримується через ретранслятор нативних хуків | Codex `PermissionRequest` може маршрутизуватися через політику OpenClaw там, де runtime це надає. Якщо OpenClaw не повертає рішення, Codex продовжує через свій звичайний шлях guardian або схвалення користувача. | -| Захоплення траєкторії app-server | Підтримується | OpenClaw записує запит, який він надіслав app-server, і сповіщення app-server, які він отримує. | +| --------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Цикл моделі OpenAI через Codex | Підтримується | app-server Codex володіє ходом OpenAI, відновленням нативного потоку та продовженням нативних інструментів. | +| Маршрутизація й доставлення каналів OpenClaw | Підтримується | Telegram, Discord, Slack, WhatsApp, iMessage та інші канали залишаються поза середовищем виконання моделі. | +| Динамічні інструменти OpenClaw | Підтримується | Codex просить OpenClaw виконати ці інструменти, тому OpenClaw залишається в шляху виконання. | +| Plugins підказок і контексту | Підтримується | 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 виконати ще один прохід моделі перед фіналізацією. | +| Блокування або спостереження нативних shell, patch і MCP | Підтримується через ретранслятор нативних хуків | Codex `PreToolUse` і `PostToolUse` ретранслюються для зафіксованих нативних поверхонь інструментів, включно з корисними навантаженнями MCP в app-server Codex `0.125.0` або новішому. Блокування підтримується; переписування аргументів — ні. | +| Нативна політика дозволів | Підтримується через ретранслятор нативних хуків | Codex `PermissionRequest` може маршрутизуватися через політику OpenClaw там, де середовище виконання це надає. Якщо OpenClaw не повертає рішення, Codex продовжує через свій звичайний шлях guardian або схвалення користувача. | +| Захоплення траєкторії app-server | Підтримується | OpenClaw записує запит, який він надіслав app-server, і сповіщення app-server, які отримує. | -Не підтримується в runtime Codex v1: +Не підтримується в середовищі виконання Codex v1: -| Поверхня | Межа V1 | Майбутній шлях | +| Поверхня | Межа V1 | Майбутній шлях | | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | -| Зміна аргументів нативного інструмента | Нативні передінструментальні hooks Codex можуть блокувати, але OpenClaw не переписує аргументи нативних інструментів Codex. | Потребує підтримки hooks/схеми Codex для заміни вхідних даних інструмента. | -| Редагована історія нативного transcript Codex | Codex володіє канонічною історією нативного потоку. OpenClaw володіє дзеркалом і може проєктувати майбутній контекст, але не має змінювати непідтримувані внутрішні структури. | Додати явні API app-server Codex, якщо потрібне хірургічне редагування нативного потоку. | -| `tool_result_persist` для записів нативних інструментів Codex | Цей hook перетворює записи transcript, якими володіє OpenClaw, а не записи нативних інструментів Codex. | Можна дзеркалити перетворені записи, але канонічне переписування потребує підтримки Codex. | -| Багаті нативні метадані Compaction | OpenClaw спостерігає початок і завершення Compaction, але не отримує стабільний список збереженого/відкинутого, дельту токенів або payload підсумку. | Потребує багатших подій Compaction у Codex. | -| Втручання в Compaction | Поточні hooks Compaction OpenClaw у режимі Codex мають рівень сповіщень. | Додати hooks Codex до/після Compaction, якщо plugins мають ветувати або переписувати нативну Compaction. | -| Побайтове захоплення запиту до model API | OpenClaw може захоплювати запити app-server і сповіщення, але ядро Codex формує фінальний запит до OpenAI API внутрішньо. | Потребує події трасування model-request Codex або debug API. | +| Мутація аргументів нативного інструмента | Нативні pre-tool hooks Codex можуть блокувати, але OpenClaw не переписує аргументи нативних інструментів Codex. | Потребує підтримки Codex hook/schema для заміни вхідних даних інструмента. | +| Редагована нативна історія transcript Codex | Codex володіє канонічною нативною історією thread. OpenClaw володіє дзеркалом і може проєктувати майбутній контекст, але не має мутувати непідтримувані internals. | Додати явні API app-server Codex, якщо потрібна операція над нативним thread. | +| `tool_result_persist` для нативних записів інструментів Codex | Цей hook трансформує записи transcript, якими володіє OpenClaw, а не нативні записи інструментів Codex. | Можна було б дзеркалити трансформовані записи, але канонічне переписування потребує підтримки Codex. | +| Розширені нативні метадані Compaction | OpenClaw спостерігає початок і завершення Compaction, але не отримує стабільного списку збереженого/відкинутого, різниці токенів або payload підсумку. | Потребує багатших подій Compaction від Codex. | +| Втручання в Compaction | Поточні hooks Compaction OpenClaw у режимі Codex мають рівень сповіщень. | Додати pre/post hooks Compaction Codex, якщо plugins мають накладати вето або переписувати нативну Compaction. | +| Побайтне захоплення запиту до API моделі | OpenClaw може захоплювати запити app-server і сповіщення, але ядро Codex внутрішньо формує фінальний запит до OpenAI API. | Потребує події трасування запиту моделі Codex або debug API. | ## Інструменти, медіа та Compaction -Harness Codex змінює лише низькорівневий вбудований виконавець агента. +Codex harness змінює лише низькорівневий вбудований виконавець агента. -OpenClaw і далі формує список інструментів та отримує динамічні результати інструментів від -harness. Текст, зображення, відео, музика, TTS, approvals і вивід messaging-tool -далі проходять звичайним шляхом доставлення OpenClaw. +OpenClaw і далі формує список інструментів і отримує динамічні результати інструментів від +harness. Текст, зображення, відео, музика, TTS, схвалення та вивід messaging-tool +і далі проходять через звичайний шлях доставки OpenClaw. -Ретранслятор нативних hooks навмисно є узагальненим, але контракт підтримки v1 -обмежений шляхами нативних інструментів і дозволів Codex, які тестує OpenClaw. У +Нативний hook relay навмисно є узагальненим, але контракт підтримки v1 +обмежений нативними шляхами інструментів і дозволів Codex, які тестує OpenClaw. У runtime Codex це включає payloads shell, patch і MCP `PreToolUse`, `PostToolUse` та `PermissionRequest`. Не припускайте, що кожна майбутня -подія hook Codex є поверхнею Plugin OpenClaw, доки runtime-контракт не назве +подія hook Codex є поверхнею plugin OpenClaw, доки runtime contract не назве її. Для `PermissionRequest` OpenClaw повертає явні рішення allow або deny лише тоді, -коли це вирішує політика. Результат без рішення не є дозволом. Codex трактує його як відсутність -рішення hook і переходить до власного guardian або шляху схвалення користувача. +коли це вирішує policy. Результат без рішення не є allow. Codex трактує його як відсутність +рішення hook і переходить до власного guardian або шляху схвалення користувачем. -Еліцитації схвалення інструментів Codex MCP спрямовуються через потік -схвалень Plugin OpenClaw, коли Codex позначає `_meta.codex_approval_kind` як -`"mcp_tool_call"`. Запити Codex `request_user_input` надсилаються назад до +Еліситації схвалення MCP-інструментів Codex маршрутизуються через потік +схвалення plugin OpenClaw, коли Codex позначає `_meta.codex_approval_kind` як +`"mcp_tool_call"`. Підказки Codex `request_user_input` надсилаються назад до початкового чату, а наступне повідомлення follow-up у черзі відповідає на цей нативний -запит сервера замість того, щоб спрямовуватися як додатковий контекст. Інші запити еліцитації MCP +server request замість того, щоб спрямовуватися як додатковий контекст. Інші запити еліситації MCP і далі fail closed. -Керування чергою active-run відображається на Codex app-server `turn/steer`. З +Керування чергою активного запуску відображається на `turn/steer` app-server Codex. Із типовим `messages.queue.mode: "steer"` OpenClaw групує повідомлення чату в черзі -протягом налаштованого quiet window і надсилає їх як один запит `turn/steer` у -порядку надходження. Застарілий режим `queue` надсилає окремі запити `turn/steer`. Ходи Codex -review і ручної Compaction можуть відхиляти same-turn steering; у такому разі -OpenClaw використовує followup queue, коли вибраний режим дозволяє fallback. Див. -[Черга steering](/uk/concepts/queue-steering). +протягом налаштованого тихого вікна та надсилає їх як один запит `turn/steer` у +порядку надходження. Застарілий режим `queue` надсилає окремі запити `turn/steer`. Codex +review і ручні ходи Compaction можуть відхиляти керування тим самим ходом; у такому разі +OpenClaw використовує чергу followup, коли вибраний режим дозволяє fallback. Див. +[Черга керування](/uk/concepts/queue-steering). -Коли вибрана модель використовує harness Codex, нативна Compaction потоку -делегується Codex app-server. OpenClaw зберігає дзеркало transcript для історії каналу, -пошуку, `/new`, `/reset` і майбутнього перемикання моделі або harness. Дзеркало -містить prompt користувача, фінальний текст assistant і легкі записи reasoning або plan Codex, -коли app-server їх випромінює. Нині OpenClaw записує лише сигнали початку та -завершення нативної Compaction. Він ще не надає зручного для читання -підсумку Compaction або аудитовного списку того, які записи Codex залишив -після Compaction. +Коли вибрана модель використовує Codex harness, нативна Compaction thread +делегується app-server Codex. OpenClaw зберігає дзеркало transcript для історії +каналу, пошуку, `/new`, `/reset` і майбутнього перемикання моделі або harness. Дзеркало +містить запит користувача, фінальний текст assistant і легкі записи reasoning або plan Codex, +коли app-server їх емітує. Наразі OpenClaw записує лише сигнали початку та +завершення нативної Compaction. Він ще не надає зрозумілого для людини +підсумку Compaction або аудитовного списку записів, які Codex +зберіг після Compaction. -Оскільки Codex володіє канонічним нативним потоком, `tool_result_persist` наразі не -переписує записи результатів нативних інструментів Codex. Він застосовується лише тоді, -коли OpenClaw записує результат інструмента transcript сесії, яким володіє OpenClaw. +Оскільки Codex володіє канонічним нативним thread, `tool_result_persist` наразі не +переписує записи нативних результатів інструментів Codex. Він застосовується лише тоді, коли +OpenClaw записує результат інструмента transcript сесії, яким володіє OpenClaw. -Генерація медіа не потребує PI. Зображення, відео, музика, PDF, TTS і розуміння медіа -й далі використовують відповідні налаштування provider/model, як-от +Генерація медіа не потребує PI. Зображення, відео, музика, PDF, TTS і розуміння +медіа й далі використовують відповідні налаштування provider/model, як-от `agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` і `messages.tts`. ## Усунення несправностей -**Codex не відображається як звичайний provider `/model`:** це очікувано для +**Codex не з’являється як звичайний provider `/model`:** це очікувано для нових конфігурацій. Виберіть модель `openai/gpt-*` з -`agentRuntime.id: "codex"` (або застаріле посилання `codex/*`), увімкніть +`agentRuntime.id: "codex"` (або застарілий ref `codex/*`), увімкніть `plugins.entries.codex.enabled` і перевірте, чи `plugins.allow` не виключає `codex`. **OpenClaw використовує PI замість Codex:** `agentRuntime.id: "auto"` усе ще може використовувати PI як -compatibility backend, коли жоден harness Codex не бере run. Встановіть +compatibility backend, коли жоден Codex harness не заявляє запуск. Установіть `agentRuntime.id: "codex"`, щоб примусово вибрати Codex під час тестування. Примусовий -runtime Codex завершується помилкою замість fallback до PI. Щойно Codex app-server -вибрано, його помилки з’являються безпосередньо. +runtime Codex завершується помилкою замість fallback до PI. Щойно app-server Codex +вибрано, його помилки відображаються напряму. -**app-server відхилено:** оновіть Codex, щоб handshake app-server -повідомляв версію `0.125.0` або новішу. Prereleases тієї самої версії або версії із суфіксом збірки, +**app-server відхилено:** оновіть Codex, щоб app-server handshake +повідомляв версію `0.125.0` або новішу. Prereleases тієї самої версії або версії з суфіксом build, як-от `0.125.0-alpha.2` чи `0.125.0+custom`, відхиляються, бо -стабільний protocol floor `0.125.0` є тим, що тестує OpenClaw. +стабільна мінімальна версія протоколу `0.125.0` — це те, що тестує OpenClaw. **Виявлення моделей повільне:** зменште `plugins.entries.codex.config.discovery.timeoutMs` або вимкніть discovery. **WebSocket transport одразу завершується помилкою:** перевірте `appServer.url`, `authToken` -і те, що віддалений app-server говорить тією самою версією протоколу Codex app-server. +і те, що віддалений app-server використовує ту саму версію протоколу app-server Codex. **Модель не Codex використовує PI:** це очікувано, якщо ви не примусили -`agentRuntime.id: "codex"` для цього агента або не вибрали застаріле посилання -`codex/*`. Звичайні `openai/gpt-*` та інші посилання provider залишаються на своєму звичайному -шляху provider у режимі `auto`. Якщо ви примусите `agentRuntime.id: "codex"`, кожен вбудований -turn для цього агента має бути моделлю OpenAI, підтримуваною Codex. +`agentRuntime.id: "codex"` для цього агента або не вибрали застарілий +ref `codex/*`. Звичайні `openai/gpt-*` та refs інших providers залишаються на своєму звичайному +шляху provider у режимі `auto`. Якщо ви примусово встановлюєте `agentRuntime.id: "codex"`, кожен вбудований +хід для цього агента має бути OpenAI-моделлю, підтримуваною Codex. **Computer Use встановлено, але інструменти не запускаються:** перевірте -`/codex computer-use status` із нової сесії. Якщо інструмент повідомляє -`Native hook relay unavailable`, використайте `/new` або `/reset`; якщо це не зникає, перезапустіть -gateway, щоб очистити застарілі реєстрації нативних hooks. Якщо `computer-use.list_apps` +`/codex computer-use status` у новій сесії. Якщо інструмент повідомляє +`Native hook relay unavailable`, використайте `/new` або `/reset`; якщо проблема не зникає, перезапустіть +gateway, щоб очистити застарілі нативні реєстрації hook. Якщо `computer-use.list_apps` перевищує час очікування, перезапустіть Codex Computer Use або Codex Desktop і повторіть спробу. ## Пов’язане -- [Plugins harness агента](/uk/plugins/sdk-agent-harness) -- [Runtimes агента](/uk/concepts/agent-runtimes) +- [Plugins агентного harness](/uk/plugins/sdk-agent-harness) +- [Runtimes агентів](/uk/concepts/agent-runtimes) - [Providers моделей](/uk/concepts/model-providers) - [Provider OpenAI](/uk/providers/openai) - [Статус](/uk/cli/status) -- [Hooks Plugin](/uk/plugins/hooks) +- [Hooks plugins](/uk/plugins/hooks) - [Довідник конфігурації](/uk/gateway/configuration-reference) - [Тестування](/uk/help/testing-live#live-codex-app-server-harness-smoke)