Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Ця сторінка документує runtime-контракт для ходів Codex harness. Для налаштування й
маршрутизації почніть із Codex harness. Для полів конфігурації
див. Довідник Codex harness.
Огляд
Режим Codex — це не PI з іншим викликом моделі під капотом. Codex контролює більшу частину
нативного циклу моделі, а OpenClaw адаптує свої поверхні plugin, інструментів, сесій і
діагностики навколо цієї межі.
OpenClaw усе ще відповідає за маршрутизацію каналів, файли сесій, доставку видимих повідомлень,
динамічні інструменти OpenClaw, схвалення, доставку медіа та дзеркало транскрипту.
Codex відповідає за канонічний нативний тред, нативний цикл моделі, нативне продовження
інструментів і нативну Compaction.
Прив’язки тредів і зміни моделі
Коли сесію OpenClaw приєднано до наявного треду Codex, наступний хід знову надсилає
поточну вибрану модель OpenAI, політику схвалення, sandbox і рівень сервісу до app-server.
Перемикання з openai/gpt-5.5 на
openai/gpt-5.2 зберігає прив’язку треду, але просить Codex продовжити з
новою вибраною моделлю.
Видимі відповіді та Heartbeat
Коли хід із вихідного чату проходить через Codex harness, видимі відповіді за замовчуванням
використовують інструмент OpenClaw message, якщо розгортання явно не налаштувало
messages.visibleReplies. Агент усе ще може завершити свій хід Codex приватно;
він публікує в канал лише тоді, коли викликає message(action="send"). Установіть
messages.visibleReplies: "automatic", щоб зберегти фінальні відповіді в прямому чаті на
застарілому автоматичному шляху доставки.
Ходи Codex Heartbeat також за замовчуванням отримують heartbeat_respond у пошуковому каталозі
інструментів OpenClaw, щоб агент міг записати, чи пробудження має залишатися
тихим, чи сповістити, без кодування цього потоку керування у фінальному тексті.
Специфічні для Heartbeat інструкції щодо ініціативи надсилаються як developer-інструкція
режиму співпраці Codex у самому ході Heartbeat. Звичайні чат-ходи відновлюють
режим Codex Default замість перенесення філософії Heartbeat у свій звичайний
runtime-промпт.
Межі hooks
Codex harness має три рівні hooks:
| Рівень | Власник | Призначення |
|---|
| Hooks Plugin OpenClaw | OpenClaw | Сумісність product/plugin між PI і Codex harness. |
| Middleware розширень Codex app-server | Вбудовані plugins OpenClaw | Адаптерна поведінка на кожен хід навколо динамічних інструментів OpenClaw. |
| Нативні hooks Codex | Codex | Низькорівневий життєвий цикл Codex і нативна політика інструментів із конфігурації Codex. |
OpenClaw не використовує проєктні або глобальні файли Codex hooks.json для маршрутизації
поведінки plugin OpenClaw. Для підтримуваного мосту нативних інструментів і дозволів
OpenClaw інжектує конфігурацію Codex для кожного треду для PreToolUse, PostToolUse,
PermissionRequest і Stop.
Коли схвалення Codex app-server увімкнено, тобто approvalPolicy не є
"never", типова інжектована конфігурація нативних hooks пропускає PermissionRequest, щоб
рецензент app-server Codex і міст схвалень OpenClaw обробляли реальні
ескалації після перевірки. Оператори можуть явно додати permission_request до
nativeHookRelay.events, коли їм потрібен релей сумісності.
Інші hooks Codex, як-от SessionStart і UserPromptSubmit, залишаються
контролями рівня Codex. Вони не експонуються як hooks plugin OpenClaw у контракті v1.
Для динамічних інструментів OpenClaw виконує інструмент після того, як Codex запитує
виклик, тому OpenClaw запускає поведінку plugin і middleware, якою він володіє, в
адаптері harness. Для Codex-native інструментів Codex володіє канонічним записом інструменту.
OpenClaw може дзеркалити вибрані події, але не може переписувати нативний тред Codex,
якщо Codex не експонує цю операцію через app-server або callback-и нативних hooks.
Сповіщення item Codex app-server також надають асинхронні спостереження after_tool_call
для завершень нативних інструментів, які вже не покриті нативним релеєм PostToolUse.
Ці спостереження призначені лише для телеметрії та сумісності plugin; вони не можуть
блокувати, затримувати або змінювати нативний виклик інструменту.
Проєкції Compaction і життєвого циклу LLM надходять зі сповіщень Codex app-server
і стану адаптера OpenClaw, а не з команд нативних hooks Codex.
Події OpenClaw before_compaction, after_compaction, llm_input і
llm_output є спостереженнями рівня адаптера, а не побайтовими захопленнями
внутрішнього запиту Codex або payload-ів Compaction.
Нативні сповіщення Codex app-server hook/started і hook/completed
проєктуються як події агента codex_app_server.hook для траєкторії та налагодження.
Вони не викликають hooks plugin OpenClaw.
Контракт підтримки V1
Підтримується в runtime Codex v1:
| Поверхня | Підтримка | Чому |
|---|
| Цикл моделі OpenAI через Codex | Підтримується | Codex app-server володіє ходом OpenAI, відновленням нативного треду та нативним продовженням інструментів. |
| Маршрутизація та доставка каналів OpenClaw | Підтримується | Telegram, Discord, Slack, WhatsApp, iMessage та інші канали залишаються поза runtime моделі. |
| Динамічні інструменти OpenClaw | Підтримується | Codex просить OpenClaw виконати ці інструменти, тому OpenClaw залишається на шляху виконання. |
| Plugins промптів і контексту | Підтримується | OpenClaw будує накладення промптів і проєктує контекст у хід Codex перед запуском або відновленням треду. |
| Життєвий цикл context engine | Підтримується | Збирання, ingestion, обслуговування після ходу та координація Compaction context-engine виконуються для ходів Codex. |
| Hooks динамічних інструментів | Підтримується | before_tool_call, after_tool_call і middleware результатів інструментів виконуються навколо динамічних інструментів, якими володіє OpenClaw. |
| Hooks життєвого циклу | Підтримується як спостереження адаптера | llm_input, llm_output, agent_end, before_compaction і after_compaction спрацьовують із чесними payload-ами режиму Codex. |
| Шлюз ревізії фінальної відповіді | Підтримується через релей нативних hooks | Codex Stop ретранслюється до before_agent_finalize; revise просить Codex виконати ще один прохід моделі перед фіналізацією. |
| Блокування або спостереження нативних shell, patch і MCP | Підтримується через релей нативних hooks | Codex PreToolUse і PostToolUse ретранслюються для зафіксованих поверхонь нативних інструментів, включно з payload-ами MCP у Codex app-server 0.125.0 або новішому. Блокування підтримується; переписування аргументів — ні. |
| Нативна політика дозволів | Підтримується через схвалення Codex app-server і релей нативних hooks сумісності | Запити схвалення Codex app-server маршрутизуються через OpenClaw після перевірки Codex. Релей нативного hook PermissionRequest є opt-in для нативних режимів схвалення, оскільки Codex випускає його до перевірки guardian. |
| Захоплення траєкторії app-server | Підтримується | OpenClaw записує запит, який він надіслав до app-server, і сповіщення app-server, які він отримує. |
Не підтримується в runtime Codex v1:
| Поверхня | Межа V1 | Майбутній шлях |
|---|
| Мутація аргументів нативних інструментів | Нативні pre-tool hooks Codex можуть блокувати, але OpenClaw не переписує аргументи Codex-native інструментів. | Потрібна підтримка hooks/schema Codex для заміни вхідних даних інструменту. |
| Редагована історія Codex-native транскрипту | Codex володіє канонічною історією нативного треду. OpenClaw володіє дзеркалом і може проєктувати майбутній контекст, але не має змінювати непідтримувані internals. | Додати явні API Codex app-server, якщо потрібна хірургія нативного треду. |
tool_result_persist для записів Codex-native інструментів | Цей hook трансформує записи транскрипту, якими володіє OpenClaw, а не записи Codex-native інструментів. | Можна дзеркалити трансформовані записи, але канонічне переписування потребує підтримки Codex. |
| Багаті нативні метадані Compaction | OpenClaw спостерігає початок і завершення Compaction, але не отримує стабільний список збереженого/відкинутого, token delta або payload підсумку. | Потрібні багатші події Compaction у Codex. |
| Втручання в Compaction | Поточні hooks Compaction OpenClaw у режимі Codex мають рівень сповіщень. | Додати pre/post hooks Compaction у Codex, якщо plugins мають veto або переписувати нативну Compaction. |
| Побайтове захоплення запиту API моделі | OpenClaw може захоплювати запити app-server і сповіщення, але ядро Codex внутрішньо будує фінальний запит OpenAI API. | Потрібна подія трасування запиту моделі Codex або debug API. |
Нативні дозволи та MCP elicitations
Для PermissionRequest OpenClaw повертає явні рішення allow або deny лише
коли політика ухвалює рішення. Результат без рішення не є allow. Codex трактує його як відсутність
рішення hook і переходить до власного шляху guardian або схвалення користувача.
Режими схвалення Codex app-server за замовчуванням пропускають цей нативний хук. Ця поведінка
застосовується, коли permission_request явно включено до
nativeHookRelay.events або коли його встановлює сумісне середовище виконання.
Коли оператор вибирає allow-always для нативного запиту дозволу Codex,
OpenClaw запам’ятовує точний відбиток provider/session/tool input/cwd для
обмеженого вікна сесії. Запам’ятоване рішення навмисно працює лише для
точного збігу: змінена команда, аргументи, корисне навантаження інструмента або cwd створюють нове
схвалення.
Еліситації схвалення інструментів Codex MCP спрямовуються через потік схвалення Plugin
OpenClaw, коли Codex позначає _meta.codex_approval_kind як
"mcp_tool_call". Запити Codex request_user_input надсилаються назад до
початкового чату, а наступне поставлене в чергу подальше повідомлення відповідає на цей нативний
серверний запит замість того, щоб скеровуватися як додатковий контекст. Інші запити еліситації MCP
завершуються закритою відмовою.
Керування чергою
Керування чергою активного запуску відображається на Codex app-server turn/steer. З
типовим messages.queue.mode: "steer" OpenClaw групує повідомлення чату в черзі
протягом налаштованого тихого вікна й надсилає їх як один запит turn/steer у
порядку надходження. Застарілий режим queue надсилає окремі запити turn/steer.
Ходи Codex review і ручної Compaction можуть відхиляти керування в межах того самого ходу. У такому
випадку OpenClaw використовує чергу подальших повідомлень, коли вибраний режим дозволяє резервний варіант.
Див. Черга керування.
Завантаження відгуку Codex
Коли /diagnostics [note] схвалено для сесії, що використовує нативний harness Codex,
OpenClaw також викликає Codex app-server feedback/upload для відповідних
потоків Codex. Завантаження просить app-server включити журнали для кожного переліченого потоку
та породжених підпотоків Codex, коли вони доступні.
Завантаження проходить через звичайний шлях відгуків Codex до серверів OpenAI. Якщо відгуки Codex
вимкнено в цьому app-server, команда повертає помилку app-server.
Завершена відповідь діагностики перелічує канали, ідентифікатори сесій OpenClaw,
ідентифікатори потоків Codex і локальні команди codex resume <thread-id> для потоків,
які було надіслано.
Якщо ви відхилите або проігноруєте схвалення, OpenClaw не виводить ці ідентифікатори Codex і
не надсилає відгук Codex. Завантаження не замінює локальний діагностичний експорт Gateway.
Див. Експорт діагностики щодо схвалення, приватності, локального пакета
та поведінки групового чату.
Використовуйте /codex diagnostics [note] лише тоді, коли вам спеціально потрібне завантаження
відгуку Codex для поточного приєднаного потоку без повного діагностичного пакета Gateway.
Compaction і дзеркало транскрипту
Коли вибрана модель використовує harness Codex, нативна Compaction потоку
делегується Codex app-server. OpenClaw зберігає дзеркало транскрипту для історії каналів,
пошуку, /new, /reset і майбутнього перемикання моделі або harness.
Дзеркало містить запит користувача, фінальний текст асистента та полегшені записи міркувань
або плану Codex, коли app-server їх видає. Наразі OpenClaw записує лише сигнали
початку й завершення нативної Compaction. Він ще не надає придатний для читання людиною
підсумок Compaction або придатний для аудиту список записів, які Codex
зберіг після Compaction.
Оскільки Codex володіє канонічним нативним потоком, tool_result_persist наразі не
перезаписує записи результатів інструментів, нативні для Codex. Він застосовується лише тоді, коли
OpenClaw записує результат інструмента транскрипту сесії, що належить OpenClaw.
Медіа та доставка
OpenClaw і надалі володіє доставкою медіа та вибором постачальника медіа. Зображення,
відео, музика, PDF, TTS і розуміння медіа використовують відповідні налаштування provider/model,
такі як agents.defaults.imageGenerationModel, videoGenerationModel,
pdfModel і messages.tts.
Текст, зображення, відео, музика, TTS, схвалення та вивід інструмента обміну повідомленнями і надалі
проходять через звичайний шлях доставки OpenClaw. Генерація медіа не потребує PI.
Коли Codex видає нативний елемент генерації зображення з savedPath, OpenClaw
передає саме цей файл через звичайний шлях відповіді з медіа, навіть якщо хід Codex
не має тексту асистента.
Пов’язане