Plugin guides
Інфраструктура Codex
Офіційний plugin codex виконує вбудовані запуски агента OpenAI через Codex
app-server замість вбудованого рушія OpenClaw. Codex керує
низькорівневим сеансом агента: нативним відновленням потоку, нативним продовженням роботи інструментів,
нативним ущільненням і виконанням через app-server. OpenClaw і надалі керує чат-
каналами, файлами сеансів, вибором моделі, динамічними інструментами OpenClaw, схваленнями,
доставленням медіа та видимим дзеркалом транскрипту.
Використовуйте канонічні посилання на моделі OpenAI, як-от openai/gpt-5.6-sol. Не налаштовуйте
застарілі посилання на Codex GPT; задавайте порядок автентифікації агента OpenAI у auth.order.openai.
Застарілі ідентифікатори профілів автентифікації Codex і застарілі записи порядку автентифікації Codex
виправляє openclaw doctor --fix.
Якщо політику середовища виконання провайдера/моделі не задано або встановлено значення auto, сам лише префікс openai/*
ніколи не вибирає цей рушій. OpenAI може неявно вибрати Codex лише для
точного офіційного HTTPS-маршруту Platform Responses або ChatGPT Responses без
заданого користувачем перевизначення запиту. Див.
Неявне середовище виконання агента OpenAI.
Якщо Codex отримує керування автентифікацією до того, як визначено маршрутизацію через Platform або ChatGPT, OpenClaw
усе одно вимагає, щоб кожен можливий маршрут декларував сумісність із Codex. Саме лише нативне
керування автентифікацією ніколи не обходить цю перевірку маршруту.
Коли пісочниця OpenClaw не активна, OpenClaw запускає потоки Codex app-server
з увімкненим нативним режимом коду Codex (режим лише коду за замовчуванням залишається вимкненим), тому
нативні можливості робочого простору й коду залишаються доступними разом із динамічними
інструментами OpenClaw, спрямованими через міст app-server item/tool/call. Активна
пісочниця OpenClaw або обмежувальна політика інструментів повністю вимикає нативний режим коду,
якщо явно не ввімкнути експериментальний шлях exec-server пісочниці.
За стандартного значення tools.exec.host: "auto" і без активної пісочниці OpenClaw
Codex також отримує інструменти node_exec і node_process для команд на спарених
вузлах. Нативна оболонка залишається на хості й у робочому просторі Codex app-server
(локально на Gateway для стандартного розгортання stdio); node_exec вибирає вузол за
назвою або ідентифікатором і зберігає чинною політику схвалення вузлів OpenClaw. Якщо скінченний
дозвільний список середовища виконання вимикає нативний режим коду й залишає запуск без
середовища виконання, OpenClaw натомість зберігає доступними свої відфільтровані політикою інструменти exec і process
для прямого виконання без пісочниці.
Ця нативна функція Codex відрізняється від
режиму коду OpenClaw — опційного середовища виконання QuickJS-WASI
для загальних запусків OpenClaw з іншою формою вхідних даних exec. Щоб ознайомитися із
загальнішим розподілом моделі, провайдера та середовища виконання, почніть із
Середовища виконання агентів: openai/gpt-5.6-sol — це посилання на модель,
codex — середовище виконання, а Telegram, Discord, Slack або інший
канал — поверхня комунікації.
Вимоги
- Установлений офіційний plugin
@openclaw/codex. Додайтеcodexдоplugins.allow, якщо ваша конфігурація використовує дозвільний список. - Codex app-server версії
0.143.0або новішої. Plugin за замовчуванням керує сумісним бінарним файлом, тому командаcodexуPATHне впливає на звичайний запуск. - Автентифікація Codex через
openclaw models auth login --provider openai, обліковий запис app-server, уже наявний у домашньому каталозі Codex агента, або явний профіль автентифікації Codex за допомогою API-ключа.
Докладніше про пріоритет автентифікації, ізоляцію середовища, власні команди app-server, виявлення моделей і повний список полів конфігурації див. у Довіднику рушія Codex.
Швидкий початок
Установіть офіційний plugin, а потім увійдіть за допомогою Codex OAuth:
openclaw plugins install @openclaw/codexopenclaw models auth login --provider openaiУвімкніть plugin codex і виберіть модель агента OpenAI:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, },}Якщо ваша конфігурація використовує plugins.allow, також додайте туди codex:
{ plugins: { allow: ["codex"], entries: { codex: { enabled: true, }, }, },}Перезапустіть Gateway після зміни конфігурації plugin. Якщо чат уже має
сеанс, спочатку виконайте /new або /reset, щоб наступний запуск визначив рушій
за поточною конфігурацією.
Спільне використання потоків із Codex Desktop і CLI
Стандартне значення appServer.homeScope: "agent" ізолює кожного агента OpenClaw від
нативного стану Codex оператора. Щоб власник міг переглядати та керувати
тими самими нативними потоками, які відображають Codex Desktop і Codex CLI, явно виберіть
домашній каталог Codex користувача:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { homeScope: "user", }, }, }, }, },}Режим домашнього каталогу користувача підтримує локальний керований процес stdio або спільний транспорт
через сокет Unix. Він використовує $CODEX_HOME, якщо значення задано, і ~/.codex в іншому разі, включно з
нативною автентифікацією Codex, конфігурацією, plugins і сховищем потоків цього домашнього каталогу. OpenClaw
не впроваджує профіль автентифікації OpenClaw у цей app-server.
Запуски власника отримують інструмент codex_threads: для переліку, пошуку, читання, розгалуження, перейменування,
архівування та відновлення нативних потоків. Розгалузьте потік, щоб продовжити його в
OpenClaw; гілка приєднується до поточного сеансу OpenClaw і залишається
видимою для інших нативних клієнтів Codex. Для архівування потрібне явне
підтвердження, що потік закрито в інших місцях. Якщо також увімкнено нагляд,
поля транскрипту та зміни потребують відповідного явного ввімкнення
supervision.allowRawTranscripts або supervision.allowWriteControls.
Не відновлюйте й не записуйте той самий потік одночасно через незалежні керовані stdio App Servers. Codex координує активних записувачів усередині одного App Server, але не між окремими процесами. Розгалуження — безпечний спосіб співіснування для звичайних сеансів stdio з домашнім каталогом користувача.
Саме лише appServer.homeScope: "user" не керує каталогом парку. Виявлення нативних
сеансів увімкнене, поки plugin активний; задайте
sessionCatalog.enabled: false, щоб прибрати його з бічної панелі OpenClaw, не
вимикаючи Codex. Каталог використовує окреме з'єднання нагляду; без
явних параметрів з'єднання appServer це з'єднання за замовчуванням використовує керований
stdio з домашнім каталогом користувача, тоді як звичайний рушій залишається прив'язаним до агента. Явні
параметри appServer застосовуються до обох шляхів. Явно задайте homeScope: "user",
як показано вище, якщо звичайний рушій також має спільно використовувати нативний стан.
Нагляд за сеансами Codex
Той самий plugin codex може перелічувати неархівовані сеанси Codex із комп'ютера Gateway
та спарених вузлів, для яких цю функцію явно ввімкнено. Збережений або неактивний локальний сеанс Gateway може
створити заблокований на моделі чат, який віддзеркалює його обмежену збережену історію користувача й асистента.
Його приватне прив'язування використовує з'єднання нагляду для нативного
знімка, канонічної гілки й подальших запусків, тоді як звичайні сеанси Codex залишаються
прив'язаними до агента. Перший канонічний запуск використовує саме ту модель і того провайдера, яких
Codex повертає для гілки знімка. Під час подальших відновлень вибір визначає нативна
конфігурація Codex; зовнішня модель OpenClaw і ланцюжок резервних варіантів ніколи її не замінюють.
Збережені й неактивні рядки можна архівувати після явного підтвердження відсутності інших запущених екземплярів.
Для активних джерел не можна створювати гілку або архівувати їх; наявний
чат під наглядом усе одно можна відкрити. Сеанси спарених вузлів залишаються лише метаданими.
Відомості про налаштування, правила розгалуження, обмеження спарених вузлів, відкриття метаданих і усунення несправностей див. у Нагляд за сеансами Codex.
Конфігурація
| Потреба | Значення | Де |
|---|---|---|
| Увімкнути рушій | plugins.entries.codex.enabled: true |
Конфігурація OpenClaw |
| Приховати виявлення нативних сеансів Codex | plugins.entries.codex.config.sessionCatalog.enabled: false |
Конфігурація plugin Codex |
| Зберегти встановлений plugin із дозвільного списку | Додати codex до plugins.allow |
Конфігурація OpenClaw |
| Дозволити придатним запускам OpenAI неявно використовувати Codex | Точний офіційний HTTPS-маршрут Responses/ChatGPT, без заданого користувачем перевизначення запиту, середовище виконання не задане/auto |
Конфігурація провайдера/моделі OpenAI |
| Увійти за допомогою ChatGPT/Codex OAuth | openclaw models auth login --provider openai |
Профіль автентифікації CLI |
| Додати резервний API-ключ для запусків Codex | Профіль API-ключа openai:*, указаний після автентифікації за підпискою в auth.order.openai |
Профіль автентифікації CLI + конфігурація OpenClaw |
| Завершуватися помилкою, якщо Codex недоступний | agentRuntime.id: "codex" провайдера або моделі |
Конфігурація моделі/провайдера OpenClaw |
| Використовувати прямий трафік API OpenAI | agentRuntime.id: "openclaw" провайдера або моделі зі звичайною автентифікацією OpenAI |
Конфігурація моделі/провайдера OpenClaw |
| Налаштувати поведінку app-server | plugins.entries.codex.config.appServer.* |
Конфігурація plugin Codex |
| Увімкнути нативні застосунки plugin Codex | plugins.entries.codex.config.codexPlugins.* |
Конфігурація plugin Codex |
| Увімкнути Codex Computer Use | plugins.entries.codex.config.computerUse.* |
Конфігурація plugin Codex |
Для порядку «спочатку підписка, потім резервний API-ключ» надавайте перевагу auth.order.openai.
Наявні застарілі ідентифікатори профілів автентифікації Codex і застарілий порядок автентифікації Codex —
це застарілий стан лише для doctor; не записуйте нові застарілі посилання на Codex GPT.
{ auth: { order: { openai: ["openai:[email protected]", "openai:api-key-backup"], }, },}Для ефективного маршруту, сумісного з Codex, обидва наведені вище профілі залишаються кандидатами для того самого запуску Codex. Порядок профілів вибирає облікові дані, а не середовище виконання. Зміна порядку автентифікації не робить власний маршрут, маршрут Completions, HTTP або маршрут із перевизначенням запиту сумісним із Codex.
Compaction
Не встановлюйте compaction.model або compaction.provider для агентів,
що працюють через Codex. Codex виконує ущільнення через стан нативного потоку app-server, тому
OpenClaw ігнорує ці локальні перевизначення засобу узагальнення під час виконання, а
openclaw doctor --fix видаляє їх, коли агент використовує Codex.
Lossless і надалі підтримується як контекстний рушій для компонування, приймання даних і
обслуговування навколо запусків Codex; він налаштовується через
plugins.slots.contextEngine: "lossless-claw" і
plugins.entries.lossless-claw.config.summaryModel, а не через
agents.defaults.compaction.provider. openclaw doctor --fix переносить
стару форму compaction.provider: "lossless-claw" до комірки контекстного рушія Lossless,
коли Codex є активним середовищем виконання, але нативний Codex усе одно
керує ущільненням. Нативний рушій app-server підтримує контекстні рушії,
яким потрібне компонування перед запитом; загальні серверні частини CLI, зокрема codex-cli,
не надають такої можливості хоста.
Для агентів, що працюють через Codex, /compact запускає нативне ущільнення
Codex app-server у прив'язаному потоці. OpenClaw не чекає на завершення,
не встановлює тайм-аут OpenClaw, не перезапускає спільний app-server і не перемикається на
контекстний рушій або загальнодоступний засіб узагальнення OpenAI як резервний варіант. Якщо прив'язування
нативного потоку Codex відсутнє або застаріле, команда завершується помилкою замість непомітного
перемикання серверної частини ущільнення.
Решта цієї сторінки описує схему розгортання, маршрутизацію з відмовою за замовчуванням, політику схвалення guardian, нативні plugins Codex і Computer Use. Повні списки параметрів, стандартні значення, переліки, виявлення, ізоляцію середовища, тайм-аути та поля транспорту app-server див. у Довіднику рушія Codex.
Перевірка середовища виконання Codex
Використайте /status у чаті, де очікується Codex. Хід агента OpenAI
на базі Codex показує:
Середовище виконання: OpenAI CodexПотім перевірте стан app-server Codex:
/codex status/codex models/codex status повідомляє про підключення до app-server, обліковий запис, обмеження частоти, сервери MCP
і навички. /codex models виводить актуальний каталог app-server Codex
для середовища та облікового запису. Якщо /status має несподіваний результат, див.
Усунення несправностей.
Маршрутизація та вибір моделі
Розділяйте посилання на провайдерів і політику середовища виконання:
- Використовуйте
openai/gpt-*для канонічного вибору моделі OpenAI. Сам префікс ніколи не вибирає Codex. - Якщо середовище виконання не задано або встановлено
auto, лише точний офіційний HTTPS-маршрут Platform Responses або ChatGPT Responses без заданого автором перевизначення запиту може неявно вибрати Codex. - Не використовуйте застарілі посилання Codex GPT у конфігурації; виконайте
openclaw doctor --fix, щоб виправити застарілі посилання та неактуальні прив’язки маршрутів сеансів. agentRuntime.id: "codex"робить Codex обов’язковою вимогою із закритою відмовою для сумісного маршруту. Це не робить несумісний фактичний маршрут сумісним.agentRuntime.id: "openclaw"підключає провайдера або модель до вбудованого середовища виконання OpenClaw, коли це зроблено навмисно./codex ...керує нативними розмовами app-server Codex із чату.- ACP/acpx — це окремий шлях зовнішнього середовища. Використовуйте його лише тоді, коли користувач просить ACP/acpx або адаптер зовнішнього середовища.
| Намір користувача | Використання |
|---|---|
| Приєднати поточний чат | /codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>] |
| Відновити наявну гілку Codex | /codex resume <thread-id> |
| Перелічити або відфільтрувати гілки Codex | /codex threads [filter] |
| Перелічити нативні плагіни Codex | /codex plugins list |
| Увімкнути або вимкнути налаштований нативний плагін Codex | /codex plugins enable <name>, /codex plugins disable <name> |
| Відновити збережений сеанс Codex CLI як хід спареного вузла | /codex sessions --host <node> [filter], потім /codex resume <session-id> --host <node> --bind here |
| Переглянути неархівовані сеанси Codex на різних комп’ютерах | Увімкніть нагляд за Codex і відкрийте Сеанси Codex |
| Змінити модель, швидкий режим або дозволи прив’язаної гілки | /codex model <model>, /codex fast [on|off|status], /codex permissions [default|yolo|status] |
| Зупинити або спрямувати активний хід | /codex stop, /codex steer <text> |
| Від’єднати поточну прив’язку | /codex detach (псевдонім /codex unbind) |
| Лише надіслати відгук про Codex | /codex diagnostics [note] |
| Запустити завдання ACP/acpx | Команди сеансів ACP/acpx, а не /codex |
| Сценарій використання | Налаштування | Перевірка | Примітки |
|---|---|---|---|
| Придатний маршрут OpenAI із нативним середовищем виконання Codex | Точний офіційний маршрут HTTPS Responses/ChatGPT без заданого автором перевизначення запиту, а також увімкнений плагін codex |
/status показує Runtime: OpenAI Codex |
Неявний шлях, коли середовище виконання не задано або має значення auto |
| Закрита відмова, якщо Codex недоступний | agentRuntime.id: "codex" провайдера або моделі |
Хід завершується помилкою замість переходу до вбудованого середовища | Використовуйте для розгортань лише з Codex |
| Прямий трафік із ключем API OpenAI через OpenClaw | agentRuntime.id: "openclaw" провайдера або моделі та звичайна автентифікація OpenAI |
/status показує середовище виконання OpenClaw |
Використовуйте лише тоді, коли OpenClaw обрано навмисно |
| Застаріла конфігурація | застарілі посилання Codex GPT | openclaw doctor --fix переписує її |
Не створюйте нову конфігурацію в такий спосіб |
| Адаптер Codex ACP/acpx | ACP sessions_spawn({ runtime: "acp" }) |
Стан завдання/сеансу ACP | Окремо від нативного середовища Codex |
agents.defaults.imageModel використовує такий самий поділ за префіксом. Використовуйте openai/gpt-*
для звичайного маршруту OpenAI, а codex/gpt-* — лише коли розуміння зображень
має виконуватися через обмежений хід app-server Codex. Doctor переписує застарілі
посилання Codex GPT на openai/gpt-*.
Шаблони розгортання
Базове розгортання Codex
Використовуйте конфігурацію швидкого старту для моделі OpenAI, фактичний офіційний HTTPS-маршрут якої придатний для неявного вибору Codex:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, },}Розгортання зі змішаними провайдерами
Залиште Claude агентом за замовчуванням і додайте іменований агент Codex:
{ plugins: { entries: { codex: { enabled: true, }, }, }, agents: { defaults: { model: "anthropic/claude-opus-4-6", }, list: [ { id: "main", default: true, model: "anthropic/claude-opus-4-6", }, { id: "codex", name: "Codex", model: "openai/gpt-5.6-sol", }, ], },}Агент main використовує свій звичайний шлях провайдера. Агент codex використовує
app-server Codex, доки його фактичний маршрут OpenAI залишається сумісним; додайте явний
agentRuntime.id: "codex" на рівні моделі, якщо це має бути
обов’язковою вимогою із закритою відмовою.
Розгортання Codex із закритою відмовою
Придатний точний офіційний HTTPS-маршрут OpenAI може вирішуватися в Codex, коли доступний вбудований плагін. Додайте явну політику середовища виконання для записаного правила закритої відмови:
{ models: { providers: { openai: { agentRuntime: { id: "codex", }, }, }, }, agents: { defaults: { model: "openai/gpt-5.6-sol", }, }, plugins: { entries: { codex: { enabled: true, }, }, },}Якщо Codex примусово задано, OpenClaw завершує роботу на ранньому етапі, якщо фактичний маршрут не оголошено сумісним із Codex, плагін вимкнено, версія app-server застаріла або app-server не може запуститися.
Політика app-server
За замовчуванням плагін локально запускає керований OpenClaw виконуваний файл Codex із
транспортом stdio. Задавайте appServer.command лише для навмисного запуску
іншого виконуваного файла. Використовуйте транспорт WebSocket лише тоді, коли app-server
уже працює в іншому місці:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { transport: "websocket", url: "ws://gateway-host:39175", authToken: "${CODEX_APP_SERVER_TOKEN}", }, }, }, }, },}Локальні сеанси app-server через stdio за замовчуванням використовують довірену модель
локального оператора: approvalPolicy: "never", approvalsReviewer: "user" і
sandbox: "danger-full-access". Якщо локальні вимоги Codex забороняють таку
неявну модель YOLO, OpenClaw натомість вибирає дозволені дозволи Guardian.
Коли для сеансу активна пісочниця OpenClaw, OpenClaw
вимикає нативний Code Mode Codex, користувацькі сервери MCP і виконання
плагінів на базі застосунків для цього ходу, замість того щоб покладатися на пісочницю Codex
на боці хоста. Натомість доступ до оболонки здійснюється через динамічні інструменти,
підтримувані пісочницею OpenClaw, як-от sandbox_exec і sandbox_process, коли доступні
звичайні інструменти exec/process.
Використовуйте нормалізований режим exec OpenClaw для нативного автоматичного огляду Codex перед виходом із пісочниці або наданням додаткових дозволів:
{ tools: { exec: { mode: "auto", }, }, plugins: { entries: { codex: { enabled: true, }, }, },}Для сеансів app-server Codex tools.exec.mode: "auto" зіставляється із затвердженнями,
перевіреними Codex Guardian: зазвичай approvalPolicy: "on-request",
approvalsReviewer: "auto_review" і sandbox: "workspace-write", коли
локальні вимоги дозволяють ці значення. У tools.exec.mode: "auto"
OpenClaw не зберігає застарілі небезпечні перевизначення Codex approvalPolicy: "never" або
sandbox: "danger-full-access"; використовуйте tools.exec.mode: "full" для
навмисної моделі Codex без затверджень. Застарілий
профіль plugins.entries.codex.config.appServer.mode: "guardian" досі
працює, але tools.exec.mode: "auto" є нормалізованою поверхнею OpenClaw.
Порівняння на рівні режимів із затвердженнями виконання на хості та дозволами ACPX див. у розділі Режими дозволів. Опис усіх полів app-server, порядку автентифікації, ізоляції середовища та поведінки тайм-аутів див. у Довіднику середовища Codex.
Команди та діагностика
Плагін codex реєструє /codex як slash-команду в будь-якому каналі, що
підтримує текстові команди OpenClaw.
Нативне виконання та керування потребують власника або клієнта Gateway
operator.admin: прив’язування або відновлення гілок, надсилання чи зупинення ходів,
зміна моделі, швидкого режиму або стану дозволів, ущільнення чи огляд, а також
від’єднання прив’язки. Інші авторизовані відправники зберігають команди лише для читання:
перегляд стану, довідки, облікового запису, моделі, гілки, сервера MCP, навички та прив’язки.
Поширені форми:
/codex statusперевіряє підключення до app-server, моделі, обліковий запис, обмеження частоти, сервери MCP і навички./codex modelsвиводить актуальні моделі app-server Codex./codex threads [filter]виводить останні гілки app-server Codex./codex resume <thread-id>приєднує поточний сеанс OpenClaw до наявної гілки Codex./codex bind [thread-id] [--cwd <path>] [--model <model>] [--provider <provider>]приєднує поточний чат./codex detach(або/codex unbind) від’єднує поточну прив’язку./codex bindingописує поточну прив’язку./codex stopзупиняє активний хід;/codex steer <text>спрямовує його./codex model <model>,/codex fast [on|off|status]і/codex permissions [default|yolo|status]змінюють стан окремої розмови./codex compactпросить app-server Codex виконати Compaction приєднаної гілки./codex reviewзапускає нативний огляд Codex для приєднаної гілки./codex diagnostics [note]запитує підтвердження перед надсиланням відгуку Codex для приєднаної гілки./codex accountпоказує стан облікового запису й обмежень частоти./codex mcpвиводить стан серверів MCP app-server Codex./codex skillsвиводить навички app-server Codex./codex plugins list,/codex plugins enable <name>і/codex plugins disable <name>керують налаштованими нативними плагінами Codex./codex computer-use [status|install]керує Codex Computer Use./codex helpвиводить повне дерево команд.
Для більшості звернень до служби підтримки почніть із /diagnostics [note] у
розмові, де виникла помилка. Ця команда створює один діагностичний звіт Gateway
і, для сеансів середовища Codex, запитує дозвіл на надсилання
відповідного пакета відгуків Codex. Модель конфіденційності та поведінку в групових
чатах описано в розділі Експорт діагностики.
Використовуйте /codex diagnostics [note] лише тоді, коли вам потрібне саме
вивантаження відгуків Codex для поточної прикріпленої гілки без
повного пакета діагностики Gateway.
Локальна перевірка гілок Codex
Найшвидший спосіб перевірити невдалий запуск Codex — часто відкрити відповідну вбудовану гілку Codex безпосередньо:
codex resume <thread-id>Ідентифікатор гілки можна отримати із завершеної відповіді /diagnostics, /codex binding
або /codex threads [filter].
Механізм вивантаження та межі діагностики на рівні середовища виконання описано в розділі Середовище виконання Codex.
Порядок автентифікації
У стандартному домашньому каталозі для окремого агента автентифікацію вибирають у такому порядку:
- Упорядковані профілі автентифікації OpenAI для агента, бажано в
auth.order.openai. Виконайтеopenclaw doctor --fix, щоб перенести старі застарілі ідентифікатори профілів автентифікації Codex і застарілий порядок автентифікації Codex. - Наявний обліковий запис сервера застосунків у домашньому каталозі Codex цього агента.
- Лише для локальних запусків сервера застосунків через stdio:
CODEX_API_KEY, потімOPENAI_API_KEY, якщо облікового запису сервера застосунків немає, а автентифікація OpenAI усе ще потрібна.
Коли OpenClaw виявляє профіль автентифікації Codex на основі підписки ChatGPT, він
видаляє CODEX_API_KEY і OPENAI_API_KEY із породженого дочірнього процесу Codex.
Завдяки цьому API-ключі рівня Gateway залишаються доступними для вбудовувань або
безпосередніх моделей OpenAI, але запити вбудованого сервера застосунків Codex
випадково не оплачуються через API. Явні профілі API-ключів Codex і локальний
резервний варіант із ключем у середовищі stdio використовують вхід на сервері застосунків замість
успадкованого середовища дочірнього процесу. З’єднання із сервером застосунків через WebSocket
не отримують резервного API-ключа із середовища Gateway; використовуйте явний профіль
автентифікації або власний обліковий запис віддаленого сервера застосунків.
Якщо профіль підписки досягає ліміту використання Codex, OpenClaw записує
час скидання, коли Codex його повідомляє, і пробує наступний упорядкований профіль автентифікації
для того самого запуску Codex. Після настання часу скидання профіль
підписки знову стає доступним без зміни вибраної моделі openai/gpt-*
або середовища виконання Codex.
Коли налаштовано вбудовані плагіни Codex, OpenClaw установлює або оновлює
їх через під’єднаний сервер застосунків, перш ніж надавати гілці Codex
доступ до застосунків плагінів. app/list залишається джерелом істини щодо
ідентифікаторів застосунків, доступності й метаданих, але рішення про ввімкнення
для окремої гілки належить OpenClaw: якщо політика дозволяє зазначений доступний застосунок,
OpenClaw надсилає thread/start.config.apps[appId].enabled = true, навіть коли app/list
наразі повідомляє, що цей застосунок вимкнено. Цей шлях не вигадує встановлення
застосунків для невідомих ідентифікаторів; OpenClaw активує лише плагіни з маркетплейсу
за допомогою plugin/install, а потім оновлює перелік.
Ізоляція середовища
Для локальних запусків сервера застосунків через stdio OpenClaw задає CODEX_HOME як
окремий каталог для кожного агента, щоб конфігурація Codex, файли автентифікації та облікового запису,
кеш і дані плагінів, а також стан вбудованих гілок за замовчуванням не читали та не записували
особистий ~/.codex оператора. OpenClaw зберігає звичайний HOME процесу;
підпроцеси запусків Codex усе ще можуть знаходити конфігурацію й токени в домашньому каталозі користувача,
а Codex може виявляти спільні записи $HOME/.agents/skills і
$HOME/.agents/plugins/marketplace.json. З
appServer.homeScope: "user" OpenClaw натомість використовує вбудований домашній каталог
Codex користувача та його наявний обліковий запис, не додаючи профіль автентифікації OpenClaw.
Якщо розгортанню потрібна додаткова ізоляція середовища, додайте ці
змінні до appServer.clearEnv:
{ plugins: { entries: { codex: { enabled: true, config: { appServer: { clearEnv: ["CODEX_API_KEY", "OPENAI_API_KEY"], }, }, }, }, },}appServer.clearEnv впливає лише на породжений дочірній процес
сервера застосунків Codex. Під час нормалізації локального запуску OpenClaw видаляє
CODEX_HOME і HOME із цього списку: CODEX_HOME надалі вказує
на вибрану область агента або користувача, а HOME успадковується, щоб підпроцеси могли
використовувати звичайний стан домашнього каталогу користувача.
Динамічні інструменти та вебпошук
Динамічні інструменти Codex за замовчуванням використовують завантаження searchable. OpenClaw зазвичай
не надає динамічні інструменти, які дублюють вбудовані операції Codex із робочим простором:
read, write, edit, apply_patch, exec, process, update_plan,
tool_call, tool_describe, tool_search і tool_search_code. Більшість
інших інструментів інтеграції OpenClaw, зокрема для повідомлень, медіа, cron,
браузера, вузлів, Gateway і heartbeat_respond, доступні через пошук
інструментів Codex у просторі імен openclaw, що зменшує початковий контекст
моделі. Резервна оболонка для обмеженого запиту є винятком для
exec і process, коли скінченний список дозволів вимикає вбудований Code Mode;
списки дозволів середовища виконання та codexDynamicToolsExclude усе одно застосовуються.
Інструменти з позначкою catalogMode: "direct-only", зокрема інструмент OpenClaw computer,
натомість використовують простір імен openclaw_direct. Codex розглядає цей простір імен
як DirectModelOnly, тому ці інструменти залишаються безпосередньо видимими моделі у звичайних
гілках і гілках лише з Code Mode, а не проходять через вкладені виклики Code Mode tools.*.
Коли пошук увімкнено й не вибрано керованого постачальника, вебпошук за замовчуванням
використовує розміщений інструмент Codex web_search. Вбудований розміщений пошук
і керований динамічний інструмент OpenClaw web_search взаємовиключні, щоб
керований пошук не міг обходити вбудовані обмеження доменів. OpenClaw використовує
керований інструмент, коли розміщений пошук недоступний, явно вимкнений або
замінений вибраним керованим постачальником. OpenClaw залишає окреме розширення
Codex web.run вимкненим, оскільки робочий трафік сервера застосунків відхиляє
його користувацький простір імен web. tools.web.search.enabled: false
вимикає обидва шляхи, як і запуски лише з LLM і вимкненими інструментами. Codex розглядає
"cached" як параметр і перетворює його на активний зовнішній доступ для
необмежених запитів сервера застосунків. Автоматичний керований резервний варіант завершується
відмовою, коли задано вбудовані allowedDomains, щоб список дозволів не можна було обійти.
Постійні зміни чинної політики пошуку змінюють прив’язану гілку Codex
перед наступним запитом; тимчасові обмеження для окремого запиту використовують тимчасову
обмежену гілку й зберігають наявну прив’язку для подальшого відновлення.
sessions_yield і відповіді джерел лише з інструментами повідомлень залишаються прямими, оскільки
це контракти керування запитом. sessions_spawn залишається доступним для пошуку, щоб
вбудований spawn_agent Codex залишався основним інтерфейсом субагентів Codex,
тоді як явне делегування через OpenClaw або ACP і далі доступне через
простір імен динамічного інструмента openclaw. Інструкції зі співпраці Heartbeat
вказують Codex шукати heartbeat_respond перед завершенням запиту Heartbeat,
якщо інструмент ще не завантажено.
Задавайте codexDynamicToolsLoading: "direct" лише під час підключення до спеціального
сервера застосунків Codex, який не може шукати відкладені динамічні інструменти, або під час
налагодження повного набору інструментів.
Поля конфігурації
Підтримувані поля верхнього рівня плагіна Codex:
| Поле | Значення за замовчуванням | Значення |
|---|---|---|
codexDynamicToolsLoading |
"searchable" |
Використовуйте "direct", щоб розмістити динамічні інструменти OpenClaw безпосередньо в початковому контексті інструментів Codex. |
codexDynamicToolsExclude |
[] |
Додаткові назви динамічних інструментів OpenClaw, які потрібно вилучити із запитів сервера застосунків Codex. |
codexPlugins |
вимкнено | Вбудована підтримка плагінів і застосунків Codex для перенесених рекомендованих плагінів, установлених із вихідного коду. |
sessionCatalog |
увімкнено | Виявлення на бічній панелі для вбудованих сеансів Codex на цьому Gateway і відповідних спарених вузлах. |
supervision |
вимкнено | Політика стенограм вбудованих сеансів і керування записом, доступна агенту. |
Підтримувані поля appServer:
| Поле | Типове значення | Значення |
|---|---|---|
transport |
"stdio" |
"stdio" запускає Codex; явне значення "unix" підключається до локального керувального сокета; "websocket" підключається до url. |
homeScope |
"agent" |
"agent" ізолює звичайний стан засобу тестування для кожного агента OpenClaw. "user" — це явна добровільна активація, яка надає спільний доступ до нативного $CODEX_HOME або ~/.codex, використовує нативну автентифікацію та вмикає керування потоками лише для власника. Область користувача підтримує локальний stdio або транспорт Unix. Для окремого з’єднання нагляду невстановлене значення визначається як "user" для stdio або Unix і як "agent" для WebSocket. |
command |
керований бінарний файл Codex | Виконуваний файл для транспорту stdio. Залиште невстановленим, щоб використовувати керований бінарний файл; установлюйте лише для явного перевизначення. |
args |
["app-server", "--listen", "stdio://"] |
Аргументи для транспорту stdio. |
url |
не встановлено | URL сервера застосунку WebSocket або URL unix://. Явно вказаний порожній шлях Unix вибирає канонічний керувальний сокет у домашньому каталозі користувача. |
authToken |
не встановлено | Bearer-токен для транспорту WebSocket. Приймає буквальний рядок або SecretInput, наприклад ${CODEX_APP_SERVER_TOKEN}. |
headers |
{} |
Додаткові заголовки WebSocket. Значення заголовків приймають буквальні рядки або значення SecretInput, наприклад x-codex-client-session-token: "${CODEX_CLIENT_SESSION_TOKEN}". |
clearEnv |
[] |
Імена додаткових змінних середовища, які видаляються із запущеного процесу сервера застосунку stdio після того, як OpenClaw формує успадковане середовище. Для локальних запусків OpenClaw зберігає вибраний CODEX_HOME та успадкований HOME. |
codeModeOnly |
false |
Активує лише кодовий режим поверхні інструментів Codex. Звичайні динамічні інструменти OpenClaw залишаються доступними через вкладені виклики tools.*; інструменти openclaw_direct залишаються безпосередньо видимими моделі. |
remoteWorkspaceRoot |
не встановлено | Кореневий каталог робочого простору віддаленого сервера застосунку Codex. Якщо його встановлено, OpenClaw визначає локальний кореневий каталог робочого простору з розв’язаного робочого простору OpenClaw, зберігає суфікс поточного cwd під цим віддаленим кореневим каталогом і надсилає Codex лише остаточний cwd сервера застосунку. Якщо cwd розташований поза розв’язаним кореневим каталогом робочого простору OpenClaw, OpenClaw завершує операцію із забороною, а не надсилає локальний для Gateway шлях віддаленому серверу застосунку. |
requestTimeoutMs |
60000 |
Час очікування викликів площини керування сервера застосунку. |
turnCompletionIdleTimeoutMs |
60000 |
Період тиші після того, як Codex приймає хід, або після запиту до сервера застосунку в межах ходу, поки OpenClaw очікує на turn/completed. |
postToolRawAssistantCompletionIdleTimeoutMs |
300000 |
Запобіжник простою завершення та поступу, який застосовується після передавання інструменту, завершення нативного інструменту, необробленого поступу асистента після інструменту, завершення необробленого міркування або поступу міркування, поки OpenClaw очікує на turn/completed. Використовуйте його для довірених або важких робочих навантажень, де синтез після інструменту може обґрунтовано залишатися без виведення довше, ніж бюджет остаточної відповіді асистента. |
mode |
"yolo", якщо локальні вимоги Codex не забороняють YOLO |
Передустановлення для виконання в режимі YOLO або з перевіркою guardian. Локальні вимоги stdio, у яких немає danger-full-access, схвалення never або рецензента user, роблять guardian неявним типовим значенням. |
approvalPolicy |
"never" або дозволена політика схвалення guardian |
Нативна політика схвалення Codex, яка надсилається під час запуску, відновлення потоку або ходу. Типові значення guardian надають перевагу "on-request", коли це дозволено. |
sandbox |
"danger-full-access" або дозволена пісочниця guardian |
Нативний режим пісочниці Codex, який надсилається під час запуску або відновлення потоку. Типові значення guardian надають перевагу "workspace-write", коли це дозволено, інакше — "read-only". Коли пісочниця OpenClaw активна, ходи danger-full-access використовують workspace-write Codex із доступом до мережі, визначеним налаштуванням вихідного трафіку пісочниці OpenClaw. |
approvalsReviewer |
"user" або дозволений рецензент guardian |
Використовуйте "auto_review", щоб дозволити Codex перевіряти нативні запити на схвалення, коли це дозволено; інакше — guardian_subagent або user. guardian_subagent залишається застарілим псевдонімом. |
serviceTier |
не встановлено | Необов’язковий рівень обслуговування сервера застосунку Codex. "priority" вмикає маршрутизацію швидкого режиму, "flex" запитує гнучке опрацювання, null скасовує перевизначення, а застаріле значення "fast" приймається як "priority". |
networkProxy |
вимкнено | Активує мережеву взаємодію профілю дозволів Codex для команд сервера застосунку. OpenClaw визначає вибрану конфігурацію permissions.<profile>.network і вибирає її за допомогою default_permissions замість надсилання sandbox. |
experimental.sandboxExecServer |
false |
Попередня добровільна активація, яка реєструє середовище Codex на основі пісочниці OpenClaw у підтримуваному сервері застосунку Codex, щоб нативне виконання Codex могло відбуватися всередині активної пісочниці OpenClaw. |
appServer.networkProxy є явним, оскільки змінює контракт пісочниці
Codex. Коли його ввімкнено, OpenClaw також установлює features.network_proxy.enabled
і default_permissions у конфігурації потоку Codex, щоб згенерований
профіль дозволів міг запускати керовану мережеву взаємодію Codex. Типово OpenClaw
генерує стійке до колізій ім’я профілю openclaw-network-<fingerprint>
з його вмісту; використовуйте profileName, лише коли потрібне стабільне локальне ім’я.
{ plugins: { entries: { codex: { config: { appServer: { sandbox: "workspace-write", networkProxy: { enabled: true, domains: { "api.openai.com": "allow", "blocked.example.com": "deny", }, unixSockets: { "/tmp/proxy.sock": "allow", "/tmp/blocked.sock": "none", }, allowUpstreamProxy: true, proxyUrl: "http://127.0.0.1:3128", }, }, }, }, }, },}Якщо звичайним середовищем виконання app-server було б danger-full-access, увімкнення
networkProxy використовує доступ до файлової системи в стилі робочого простору для згенерованого
профілю дозволів: кероване Codex застосування мережевих обмежень — це ізольоване
мережеве середовище, тому профіль повного доступу не захищав би вихідний трафік.
Записи доменів використовують allow або deny; записи сокетів Unix використовують значення Codex
allow або none.
Динамічні тайм-аути викликів інструментів
Динамічні виклики інструментів, якими володіє OpenClaw, обмежуються незалежно від
appServer.requestTimeoutMs: запити Codex item/tool/call типово використовують 90-секундний
сторожовий таймер OpenClaw. Додатний аргумент timeoutMs для окремого виклику
збільшує або зменшує бюджет саме цього інструмента з верхньою межею 600000 мс.
Інструмент image_generate використовує agents.defaults.imageGenerationModel.timeoutMs,
коли виклик інструмента не задає власного тайм-ауту, або в іншому разі типовий
120-секундний тайм-аут генерування зображень. Інструмент розпізнавання медіа image
використовує tools.media.image.timeoutSeconds або свій типовий 60-секундний тайм-аут для медіа; для
розпізнавання зображень цей тайм-аут застосовується до самого запиту й не
скорочується через попередню підготовчу роботу. У разі тайм-ауту OpenClaw перериває сигнал
інструмента, якщо це підтримується, і повертає Codex відповідь про невдалий динамічний виклик інструмента,
щоб хід міг продовжитися, а сеанс не залишався в processing.
Цей сторожовий таймер є зовнішнім бюджетом динамічного item/tool/call; специфічні для постачальника
тайм-аути запитів діють усередині цього виклику та зберігають власну семантику тайм-аутів.
Після того як Codex приймає хід, а також після того як OpenClaw відповідає на обмежений цим ходом
запит app-server, обв'язка очікує, що Codex просуватиме поточний хід
і зрештою завершить нативний хід за допомогою turn/completed. Якщо
app-server не проявляє активності протягом appServer.turnCompletionIdleTimeoutMs, OpenClaw
намагається перервати хід Codex, реєструє діагностичний тайм-аут і
звільняє смугу сеансу OpenClaw, щоб наступні повідомлення чату не
стояли в черзі за застарілим нативним ходом. Більшість нетермінальних сповіщень для
того самого ходу вимикають цей короткий сторожовий таймер, оскільки Codex підтвердив, що хід
іще активний.
Для передавання керування інструментам використовується довший бюджет бездіяльності після інструмента: після повернення OpenClaw
відповіді item/tool/call, після завершення нативних елементів інструментів, як-от
commandExecution, після необроблених завершень custom_tool_call_output,
а також після необробленого поступу асистента після інструмента, завершень міркування
або поступу міркування. Захисний механізм використовує
appServer.postToolRawAssistantCompletionIdleTimeoutMs, якщо це налаштовано, а інакше
типово — п'ять хвилин; цей самий бюджет також подовжує
сторожовий таймер поступу на період мовчазного синтезу до того, як Codex надішле
наступну подію поточного ходу. Глобальні сповіщення app-server, як-от
оновлення обмежень частоти, не скидають відлік бездіяльності ходу. За завершеннями міркування,
завершеннями commentary agentMessage та необробленим поступом міркування чи
асистента перед інструментом може йти автоматична фінальна відповідь, тому вони використовують
захисний механізм відповіді після поступу замість негайного звільнення смуги сеансу.
Лише завершені фінальні/не-commentary елементи agentMessage та необроблені
завершення асистента перед інструментом активують звільнення після виведення асистента: якщо Codex потім
не проявляє активності без turn/completed, OpenClaw намагається перервати нативний
хід і звільняє смугу сеансу. Якщо інший сторожовий механізм ходу перемагає в цій гонці за звільнення,
OpenClaw усе одно приймає завершений фінальний елемент асистента, щойно
не залишається активних нативних запитів, елементів або завершень динамічних інструментів, а
звільнення після виведення асистента досі належить останньому завершеному елементу
й немає пізнішого завершення елемента. Це може зберегти фінальну відповідь після
завершеної роботи інструмента без повторного відтворення ходу. Часткові дельти асистента,
застарілі попередні відповіді та порожні пізніші завершення не відповідають умовам.
Безпечні для повторного відтворення збої stdio app-server, зокрема тайм-аути бездіяльності завершення ходу без ознак асистента, інструмента, активного елемента або побічного ефекту, повторюються один раз у новій спробі app-server. Небезпечні тайм-аути все одно виводять з експлуатації завислий клієнт app-server і звільняють смугу сеансу OpenClaw; вони також очищують застарілу прив'язку нативного потоку замість автоматичного повторного відтворення. Тайм-аути очікування завершення показують специфічний для Codex текст про тайм-аут: у безпечних для повторного відтворення випадках зазначається, що відповідь може бути неповною, а в небезпечних користувачеві пропонується перевірити поточний стан перед повторною спробою. Загальнодоступна діагностика тайм-аутів містить структурні поля, як-от метод останнього сповіщення app-server, ідентифікатор/тип/роль елемента необробленої відповіді асистента, кількість активних запитів/елементів і стан активованого сторожового механізму; коли останнім сповіщенням є елемент необробленої відповіді асистента, вона також містить обмежений за розміром попередній перегляд тексту асистента. Вона не містить необробленого вмісту підказок або інструментів.
Локальні перевизначення середовища тестування
OPENCLAW_CODEX_APP_SERVER_BINобходить керований бінарний файл, колиappServer.commandне задано.OPENCLAW_CODEX_APP_SERVER_ARGSOPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardianOPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICYOPENCLAW_CODEX_APP_SERVER_SANDBOX
OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1 було вилучено. Натомість використовуйте
plugins.entries.codex.config.appServer.mode: "guardian" або
OPENCLAW_CODEX_APP_SERVER_MODE=guardian для одноразового локального тестування. Для
відтворюваних розгортань рекомендовано конфігурацію, оскільки вона зберігає поведінку плагіна
в тому самому перевіреному файлі, що й решта налаштувань обв'язки Codex.
Нативні плагіни Codex
Підтримка нативних плагінів Codex використовує власні можливості застосунків і плагінів
app-server Codex у тому самому потоці Codex, що й хід обв'язки OpenClaw. OpenClaw
не перетворює плагіни Codex на синтетичні динамічні інструменти OpenClaw
codex_plugin_*.
codexPlugins впливає лише на сеанси, які вибирають нативну обв'язку Codex.
Він не впливає на запуски вбудованої обв'язки, звичайні запуски постачальника OpenAI, прив'язки
розмов ACP або інші обв'язки.
Мінімальна перенесена конфігурація:
{ plugins: { entries: { codex: { enabled: true, config: { codexPlugins: { enabled: true, allow_destructive_actions: true, plugins: { "google-calendar": { enabled: true, marketplaceName: "openai-curated", pluginName: "google-calendar", }, }, }, }, }, }, },}Конфігурація застосунків потоку обчислюється, коли OpenClaw встановлює сеанс обв'язки Codex
або замінює застарілу прив'язку потоку Codex; вона не обчислюється повторно під час
кожного ходу. Після зміни codexPlugins використайте /new, /reset або перезапустіть
Gateway, щоб майбутні сеанси обв'язки Codex запускалися з оновленим набором
застосунків.
Докладніше про відповідність умовам перенесення, перелік застосунків, політику деструктивних дій, запити на уточнення та діагностику нативних плагінів див. у розділі Нативні плагіни Codex.
Доступ до застосунків і плагінів на стороні OpenAI контролюється обліковим записом Codex, у який виконано вхід, а для робочих просторів Business і Enterprise/Edu — засобами керування застосунками робочого простору. Огляд керування обліковим записом і робочим простором OpenAI див. у Використання Codex із планом ChatGPT.
Керування комп'ютером
Керування комп'ютером має власний посібник із налаштування: Керування комп'ютером за допомогою Codex.
Коротко: OpenClaw не постачає застосунок керування робочим столом і не виконує
дії на робочому столі самостійно. Він готує app-server Codex, перевіряє доступність
MCP-сервера computer-use, а потім дозволяє Codex керувати нативними
викликами інструментів MCP під час ходів у режимі Codex.
Межі середовища виконання
Обв'язка Codex змінює лише низькорівневий вбудований виконавець агента.
- Динамічні інструменти OpenClaw підтримуються. Codex просить OpenClaw виконати ці інструменти, тому OpenClaw залишається в ланцюжку виконання.
- Нативні інструменти оболонки, виправлень, MCP та застосунків Codex належать Codex. OpenClaw може спостерігати за вибраними нативними подіями або блокувати їх через підтримуваний ретранслятор, але не переписує аргументи нативних інструментів.
- Codex керує нативним Compaction. OpenClaw зберігає дзеркало стенограми для
історії каналів, пошуку,
/new,/resetі майбутнього перемикання моделі чи обв'язки, але не замінює Compaction Codex засобом узагальнення OpenClaw або рушія контексту. - Генерування медіа, розпізнавання медіа, TTS, схвалення та виведення інструментів обміну повідомленнями й надалі використовують відповідні налаштування постачальника/моделі OpenClaw.
tool_result_persistзастосовується до результатів інструментів стенограми, якими володіє OpenClaw, а не до записів результатів нативних інструментів Codex.
Докладніше про рівні хуків, підтримувані поверхні V1, оброблення нативних дозволів, керування чергою, механіку надсилання відгуків Codex і подробиці Compaction див. у розділі Середовище виконання обв'язки Codex.
Усунення несправностей
Codex не відображається як звичайний постачальник /model: це очікувано для нових
конфігурацій. Виберіть модель openai/gpt-*, увімкніть
plugins.entries.codex.enabled і перевірте, чи plugins.allow не виключає
codex.
OpenClaw використовує вбудовану обв'язку замість Codex: переконайтеся, що фактичний
маршрут є точним офіційним HTTPS-маршрутом Platform Responses або ChatGPT Responses,
не має створеного вручну перевизначення запиту, а плагін Codex установлено та
увімкнено. Одного префікса openai/gpt-* недостатньо. Для суворої перевірки під час
тестування задайте для постачальника або моделі agentRuntime.id: "codex"; примусовий Codex завершується
помилкою замість переходу на резервний варіант, коли маршрут або обв'язка несумісні.
Середовище виконання OpenAI Codex переходить на шлях із ключем API: зберіть редагований фрагмент журналу Gateway, який показує модель, середовище виконання, вибраного постачальника та помилку. Попросіть колег, яких це стосується, виконати цю команду лише для читання на їхньому хості OpenClaw:
( pattern='openai/gpt-5\.[45]|openai[-]codex|agentRuntime(\.id)?|harnessRuntime|Runtime: OpenAI Codex|legacy OpenAI Codex prefix|resolveSelectedOpenAIRuntimeProvider|candidateProvider[": ]+openai|status[": ]+401|Incorrect API key|No API key|api-key path|API-key path|OAuth' if ls /tmp/openclaw/openclaw-*.log >/dev/null 2>&1; then grep -E -i -n "$pattern" /tmp/openclaw/openclaw-*.log 2>/dev/null || true else journalctl --user -u openclaw-gateway --since today --no-pager 2>/dev/null \ | grep -E -i "$pattern" || true fi) | sed -E \ -e 's/(Authorization: Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \ -e 's/(Bearer )[A-Za-z0-9._~+\/-]+/\1[REDACTED]/Ig' \ -e 's/(api[_ -]?key[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \ -e 's/(OPENAI_API_KEY[=: ]+)[^ ,}"]+/\1[REDACTED]/Ig' \ -e 's/sk-[A-Za-z0-9_-]{12,}/sk-[REDACTED]/g' \ -e 's/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/[EMAIL-REDACTED]/g' \ | tail -200Корисні фрагменти зазвичай містять openai/gpt-5.6-sol або openai/gpt-5.6-luna,
Runtime: OpenAI Codex, agentRuntime.id або harnessRuntime,
candidateProvider: "openai" і результат 401, Incorrect API key або
No API key. Виправлений запуск має показувати шлях OAuth OpenAI
замість звичайної помилки ключа API OpenAI.
У конфігурації залишилися застарілі посилання на моделі Codex: виконайте openclaw doctor --fix.
Doctor переписує застарілі посилання на моделі на openai/*, видаляє застарілі закріплення середовища виконання
сеансу та всього агента й зберігає наявні перевизначення профілю автентифікації.
App-server відхилено: використовуйте app-server Codex 0.143.0 або новішої версії.
Попередні випуски тієї самої версії або версії із суфіксом збірки, як-от
0.143.0-alpha.2 чи 0.143.0+custom, відхиляються, оскільки OpenClaw перевіряє
стабільний мінімальний рівень протоколу 0.143.0.
/codex status не вдається підключитися: перевірте, чи ввімкнено плагін codex, чи включає його plugins.allow, коли налаштовано список дозволених елементів, і чи коректні всі користувацькі appServer.command, url, authToken або заголовки.
Виявлення моделей працює повільно: зменште
plugins.entries.codex.config.discovery.timeoutMs або вимкніть виявлення.
Див. довідник середовища виконання Codex.
Транспорт WebSocket одразу завершується помилкою: перевірте appServer.url,
authToken, заголовки, а також чи використовує віддалений сервер застосунку ту саму версію протоколу сервера застосунку Codex.
Власні інструменти оболонки або накладання виправлень заблоковано з Native hook relay unavailable: потік Codex усе ще намагається використовувати ідентифікатор власного ретранслятора хуків, який більше не зареєстровано в OpenClaw. Це проблема транспорту власних хуків Codex, а не збій бекенду ACP, постачальника, GitHub або команди оболонки. Розпочніть новий сеанс у відповідному чаті за допомогою /new або /reset, а потім повторіть безпечну команду. Якщо вона спрацює один раз, але наступний виклик власного інструмента знову завершиться помилкою, вважайте /new лише тимчасовим обхідним рішенням: скопіюйте запит у новий сеанс після перезапуску сервера застосунку Codex або OpenClaw Gateway, щоб старі потоки було видалено, а реєстрації власних хуків — створено заново.
Виклики інструментів Codex створюють забагато короткочасних процесів хуків: установіть
plugins.entries.codex.config.appServer.loopDetectionPreToolUseRelay: false
і перезапустіть Gateway. Це вимикає лише підпроцес Codex PreToolUse, який використовується для виявлення циклів OpenClaw, і його маркер відсутності політики. Обов’язкові ретранслятори before_tool_call і політик довірених інструментів залишаються ввімкненими.
Модель, відмінна від Codex, використовує вбудоване середовище виконання: це очікувана поведінка, якщо політика середовища виконання постачальника або моделі не спрямовує її до іншого середовища. Звичайні посилання на постачальників, відмінних від OpenAI, залишаються на своєму звичайному шляху постачальника в режимі auto.
Computer Use встановлено, але інструменти не запускаються: перевірте
/codex computer-use status у новому сеансі. Якщо інструмент повідомляє
Native hook relay unavailable, скористайтеся наведеною вище процедурою відновлення власного ретранслятора хуків.
Див. Codex Computer Use.