chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-22 05:44:25 +00:00
parent 9b04ae2a26
commit 237560254b
3 changed files with 853 additions and 904 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,62 +1,49 @@
---
read_when:
- Ви хочете використовувати комплектний app-server harness Codex
- Вам потрібні посилання на модель Codex і приклади конфігурації
- Ви хочете вимкнути резервний перехід до PI для розгортань лише з Codex
- Вам потрібні посилання на моделі Codex і приклади конфігурації
- Ви хочете вимкнути резервне перемикання на PI для розгортань лише з Codex
summary: Запускайте вбудовані ходи агента OpenClaw через комплектний app-server harness Codex
title: Harness Codex
x-i18n:
generated_at: "2026-04-21T00:08:16Z"
generated_at: "2026-04-22T05:35:01Z"
model: gpt-5.4
provider: openai
source_hash: 3f0cdaf68be3b2257de1046103ff04f53f9d3a65ffc15ab7af5ab1f425643d6c
source_hash: d45dbd39a7d8ebb3a39d8dca3a5125c07b7168d1658ca07b85792645fb98613c
source_path: plugins/codex-harness.md
workflow: 15
---
# Harness Codex
Комплектний plugin `codex` дає OpenClaw змогу запускати вбудовані ходи агента через
app-server Codex замість вбудованого harness PI.
Комплектний plugin `codex` дає OpenClaw змогу запускати вбудовані ходи агента через app-server Codex замість вбудованого harness PI.
Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: виявленням
моделей, нативним відновленням потоку, нативною Compaction і виконанням app-server.
OpenClaw і далі керує каналами чату, файлами сесії, вибором моделі, інструментами,
схваленнями, доставкою медіа та видимим дзеркалом транскрипту.
Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: виявленням моделей, нативним відновленням потоку, нативною Compaction і виконанням app-server. OpenClaw, як і раніше, керує чат-каналами, файлами сесії, вибором моделі, інструментами, погодженнями, доставкою медіа та видимим дзеркалом транскрипту.
За замовчуванням harness вимкнений. Він вибирається лише тоді, коли plugin `codex`
увімкнений і розв’язана модель є моделлю `codex/*`, або коли ви явно
примусово задаєте `embeddedHarness.runtime: "codex"` чи `OPENCLAW_AGENT_RUNTIME=codex`.
Якщо ви ніколи не налаштовуєте `codex/*`, наявні запуски PI, OpenAI, Anthropic, Gemini, local
і custom-provider зберігають свою поточну поведінку.
За замовчуванням harness вимкнений. Він вибирається лише тоді, коли plugin `codex` увімкнено і визначена модель є моделлю `codex/*`, або коли ви явно примусово задаєте `embeddedHarness.runtime: "codex"` чи `OPENCLAW_AGENT_RUNTIME=codex`.
Якщо ви ніколи не налаштовуєте `codex/*`, наявні запуски PI, OpenAI, Anthropic, Gemini, local і custom-provider зберігають поточну поведінку.
## Виберіть правильний префікс моделі
OpenClaw має окремі маршрути для доступу у формі OpenAI та Codex:
OpenClaw має окремі маршрути для доступу у форматі OpenAI і Codex:
| Посилання на модель | Шлях runtime | Використовуйте, коли |
| --------------------- | ------------------------------------------- | ------------------------------------------------------------------------ |
| `openai/gpt-5.4` | Провайдер OpenAI через конвеєр OpenClaw/PI | Вам потрібен прямий доступ до OpenAI Platform API з `OPENAI_API_KEY`. |
| `openai-codex/gpt-5.4` | Провайдер OpenAI Codex OAuth через PI | Вам потрібен ChatGPT/Codex OAuth без harness app-server Codex. |
| Посилання на модель | Шлях виконання | Використовуйте, коли |
| --------------------- | ------------------------------------------- | ----------------------------------------------------------------------- |
| `openai/gpt-5.4` | Провайдер OpenAI через інфраструктуру OpenClaw/PI | Вам потрібен прямий доступ до OpenAI Platform API за допомогою `OPENAI_API_KEY`. |
| `openai-codex/gpt-5.4` | Провайдер OpenAI Codex OAuth через PI | Вам потрібен ChatGPT/Codex OAuth без harness app-server Codex. |
| `codex/gpt-5.4` | Комплектний провайдер Codex плюс harness Codex | Вам потрібне нативне виконання app-server Codex для вбудованого ходу агента. |
Harness Codex обробляє лише посилання на моделі `codex/*`. Наявні посилання `openai/*`,
`openai-codex/*`, Anthropic, Gemini, xAI, local і custom provider зберігають
свої звичайні шляхи.
Harness Codex обробляє лише посилання на моделі `codex/*`. Наявні посилання на провайдери `openai/*`, `openai-codex/*`, Anthropic, Gemini, xAI, local і custom зберігають свої звичайні шляхи.
## Вимоги
- OpenClaw із доступним комплектним plugin `codex`.
- app-server Codex `0.118.0` або новіший.
- Доступна автентифікація Codex для процесу app-server.
- Codex app-server `0.118.0` або новіший.
- Автентифікація Codex, доступна для процесу app-server.
Plugin блокує старіші або безверсійні handshake app-server. Це утримує
OpenClaw на поверхні протоколу, з якою його тестували.
Plugin блокує старі або неверсіоновані handshake app-server. Це гарантує, що OpenClaw працює на поверхні протоколу, з якою його було протестовано.
Для live і Docker smoke-тестів автентифікація зазвичай надходить із `OPENAI_API_KEY`, а також
необов’язкових файлів Codex CLI, таких як `~/.codex/auth.json` і
`~/.codex/config.toml`. Використовуйте ті самі дані автентифікації, що й ваш локальний
app-server Codex.
Для live- і Docker-smoke-тестів автентифікація зазвичай надходить із `OPENAI_API_KEY`, а також з необов’язкових файлів Codex CLI, таких як `~/.codex/auth.json` і `~/.codex/config.toml`. Використовуйте ті самі автентифікаційні матеріали, які застосовує ваш локальний app-server Codex.
## Мінімальна конфігурація
@ -83,7 +70,7 @@ app-server Codex.
}
```
Якщо у вашій конфігурації використовується `plugins.allow`, додайте туди також `codex`:
Якщо ваша конфігурація використовує `plugins.allow`, додайте туди також `codex`:
```json5
{
@ -98,14 +85,11 @@ app-server Codex.
}
```
Установлення `agents.defaults.model` або моделі агента в `codex/<model>` також
автоматично вмикає комплектний plugin `codex`. Явний запис plugin усе ще
корисний у спільних конфігураціях, бо робить намір розгортання очевидним.
Установлення `agents.defaults.model` або моделі агента в `codex/<model>` також автоматично вмикає комплектний plugin `codex`. Явний запис plugin усе одно корисний у спільних конфігураціях, тому що він робить намір розгортання очевидним.
## Додайте Codex без заміни інших моделей
Залишайте `runtime: "auto"`, якщо хочете використовувати Codex для моделей `codex/*`, а PI — для
всього іншого:
Залиште `runtime: "auto"`, якщо хочете використовувати Codex для моделей `codex/*`, а PI — для всього іншого:
```json5
{
@ -137,17 +121,16 @@ app-server Codex.
}
```
З такою структурою:
За такої конфігурації:
- `/model codex` або `/model codex/gpt-5.4` використовує harness app-server Codex.
- `/model gpt` або `/model openai/gpt-5.4` використовує шлях провайдера OpenAI.
- `/model opus` використовує шлях провайдера Anthropic.
- Якщо вибрано модель не Codex, PI залишається harness сумісності.
- Якщо вибрано не-Codex-модель, PI залишається harness сумісності.
## Розгортання лише з Codex
Вимкніть резервний перехід до PI, якщо вам потрібно довести, що кожен вбудований хід агента використовує
harness Codex:
Вимкніть резервний перехід на PI, якщо вам потрібно підтвердити, що кожен вбудований хід агента використовує harness Codex:
```json5
{
@ -171,14 +154,11 @@ OPENCLAW_AGENT_HARNESS_FALLBACK=none \
openclaw gateway run
```
Коли резервний перехід вимкнено, OpenClaw завершується з помилкою на ранньому етапі, якщо plugin Codex вимкнений,
потрібна модель не є посиланням `codex/*`, app-server надто старий або
app-server не може запуститися.
Якщо резервний перехід вимкнено, OpenClaw завершується з помилкою на ранньому етапі, якщо plugin Codex вимкнено, запитувана модель не є посиланням `codex/*`, app-server надто старий або app-server не вдається запустити.
## Codex для окремого агента
Ви можете зробити одного агента лише Codex, а для агента за замовчуванням залишити звичайний
автовибір:
Ви можете зробити один агент лише для Codex, тоді як агент за замовчуванням зберігатиме звичайний автоматичний вибір:
```json5
{
@ -209,14 +189,11 @@ app-server не може запуститися.
}
```
Використовуйте звичайні команди сесії для перемикання агентів і моделей. `/new` створює нову
сесію OpenClaw, а harness Codex за потреби створює або відновлює свій sidecar app-server
потік. `/reset` очищає прив’язку сесії OpenClaw для цього потоку.
Використовуйте звичайні команди сесії для перемикання агентів і моделей. `/new` створює нову сесію OpenClaw, а harness Codex створює або відновлює свій sidecar-потік app-server за потреби. `/reset` очищає прив’язку сесії OpenClaw для цього потоку.
## Виявлення моделей
За замовчуванням plugin Codex запитує app-server про доступні моделі. Якщо
виявлення завершується помилкою або спливає час очікування, він використовує комплектний резервний каталог:
За замовчуванням plugin Codex запитує app-server про доступні моделі. Якщо виявлення не вдається або завершується за тайм-аутом, він використовує комплектний резервний каталог:
- `codex/gpt-5.4`
- `codex/gpt-5.4-mini`
@ -242,8 +219,7 @@ app-server не може запуститися.
}
```
Вимкніть виявлення, якщо хочете, щоб під час запуску не виконувалася перевірка Codex і використовувався
резервний каталог:
Вимкніть виявлення, якщо хочете, щоб під час запуску не було перевірки Codex і використовувався лише резервний каталог:
```json5
{
@ -264,15 +240,13 @@ app-server не може запуститися.
## Підключення до app-server і політика
За замовчуванням plugin локально запускає Codex командою:
За замовчуванням plugin запускає Codex локально так:
```bash
codex app-server --listen stdio://
```
За замовчуванням OpenClaw просить Codex запитувати нативні схвалення. Ви можете додатково
налаштувати цю політику, наприклад посилити її та направляти перевірки через
guardian:
За замовчуванням OpenClaw просить Codex запитувати нативні погодження. Ви можете додатково налаштувати цю політику, наприклад зробити її суворішою та спрямовувати перевірки через guardian:
```json5
{
@ -326,14 +300,13 @@ guardian:
| `url` | не задано | URL app-server WebSocket. |
| `authToken` | не задано | Bearer token для транспорту WebSocket. |
| `headers` | `{}` | Додаткові заголовки WebSocket. |
| `requestTimeoutMs` | `60000` | Час очікування для викликів control-plane app-server. |
| `approvalPolicy` | `"on-request"` | Нативна політика схвалення Codex, що надсилається до запуску/відновлення/ходу потоку. |
| `sandbox` | `"workspace-write"` | Нативний режим sandbox Codex, що надсилається до запуску/відновлення потоку. |
| `approvalsReviewer` | `"user"` | Використовуйте `"guardian_subagent"`, щоб guardian Codex перевіряв нативні схвалення. |
| `requestTimeoutMs` | `60000` | Тайм-аут для викликів control plane app-server. |
| `approvalPolicy` | `"on-request"` | Нативна політика погодження Codex, що надсилається під час start/resume/turn потоку. |
| `sandbox` | `"workspace-write"` | Нативний режим sandbox Codex, що надсилається під час start/resume потоку. |
| `approvalsReviewer` | `"user"` | Використовуйте `"guardian_subagent"`, щоб дозволити guardian Codex перевіряти нативні погодження. |
| `serviceTier` | не задано | Необов’язковий рівень сервісу Codex, наприклад `"priority"`. |
Старіші змінні середовища все ще працюють як резервні варіанти для локального тестування, коли
відповідне поле конфігурації не задане:
Старі змінні середовища все ще працюють як резервний варіант для локального тестування, коли відповідне поле конфігурації не задано:
- `OPENCLAW_CODEX_APP_SERVER_BIN`
- `OPENCLAW_CODEX_APP_SERVER_ARGS`
@ -341,11 +314,11 @@ guardian:
- `OPENCLAW_CODEX_APP_SERVER_SANDBOX`
- `OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1`
Для відтворюваних розгортань рекомендовано використовувати конфігурацію.
Для відтворюваних розгортань перевага надається конфігурації.
## Поширені рецепти
Локальний Codex зі стандартним транспортом stdio:
Локальний Codex із транспортом stdio за замовчуванням:
```json5
{
@ -359,7 +332,7 @@ guardian:
}
```
Перевірка harness лише Codex із вимкненим резервним переходом до PI:
Перевірка harness лише з Codex, із вимкненим резервним переходом на PI:
```json5
{
@ -376,7 +349,7 @@ guardian:
}
```
Схвалення Codex із перевіркою guardian:
Погодження Codex, перевірені guardian:
```json5
{
@ -397,7 +370,7 @@ guardian:
}
```
Віддалений app-server із явними заголовками:
Віддалений app-server з явними заголовками:
```json5
{
@ -420,80 +393,55 @@ guardian:
}
```
Перемикання моделей залишається під контролем OpenClaw. Коли сесію OpenClaw приєднано
до наявного потоку Codex, наступний хід знову надсилає до
app-server поточні вибрані `codex/*` модель, провайдера, політику схвалення, sandbox і рівень сервісу.
Перемикання з `codex/gpt-5.4` на `codex/gpt-5.2` зберігає прив’язку до потоку, але просить Codex
продовжити роботу з новою вибраною моделлю.
Перемикання моделей залишається під контролем OpenClaw. Коли сесію OpenClaw приєднано до наявного потоку Codex, наступний хід знову надсилає в app-server поточно вибрану модель `codex/*`, провайдера, політику погодження, sandbox і рівень сервісу. Перемикання з `codex/gpt-5.4` на `codex/gpt-5.2` зберігає прив’язку до потоку, але просить Codex продовжити роботу з нововибраною моделлю.
## Команда Codex
Комплектний plugin реєструє `/codex` як авторизовану slash-команду. Вона
є загальною і працює на будь-якому каналі, що підтримує текстові команди OpenClaw.
Комплектний plugin реєструє `/codex` як авторизовану slash-команду. Вона універсальна й працює в будь-якому каналі, який підтримує текстові команди 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 <thread-id>` приєднує поточну сесію OpenClaw до наявного потоку Codex.
- `/codex compact` просить app-server Codex виконати Compaction для приєднаного потоку.
- `/codex review` запускає нативну перевірку Codex для приєднаного потоку.
- `/codex account` показує стан облікового запису та лімітів швидкості.
- `/codex mcp` перелічує стан серверів MCP app-server Codex.
- `/codex skills` перелічує skills app-server Codex.
- `/codex mcp` перелічує стан MCP-серверів app-server Codex.
- `/codex skills` перелічує Skills app-server Codex.
`/codex resume` записує той самий файл sidecar binding, який harness використовує для
звичайних ходів. У наступному повідомленні OpenClaw відновлює цей потік Codex, передає
поточну вибрану в OpenClaw модель `codex/*` до app-server і залишає розширену
історію увімкненою.
`/codex resume` записує той самий sidecar-файл прив’язки, який harness використовує для звичайних ходів. У наступному повідомленні OpenClaw відновлює цей потік Codex, передає в app-server поточну вибрану модель OpenClaw `codex/*` і зберігає розширену історію увімкненою.
Поверхня команд потребує app-server Codex `0.118.0` або новішого. Окремі
методи керування позначаються як `unsupported by this Codex app-server`, якщо
майбутній або custom app-server не надає цей метод JSON-RPC.
Поверхня команд вимагає Codex app-server `0.118.0` або новішої версії. Окремі методи керування позначаються як `unsupported by this Codex app-server`, якщо майбутній або custom app-server не надає цей JSON-RPC-метод.
## Інструменти, медіа та Compaction
Harness Codex змінює лише низькорівневий виконавець вбудованого агента.
OpenClaw і далі будує список інструментів і отримує динамічні результати інструментів від
harness. Текст, зображення, відео, музика, TTS, схвалення та вивід інструментів обміну повідомленнями
і далі проходять через звичайний шлях доставки OpenClaw.
OpenClaw, як і раніше, формує список інструментів і отримує динамічні результати інструментів від harness. Текст, зображення, відео, музика, TTS, погодження та вивід інструментів обміну повідомленнями продовжують проходити через звичайний шлях доставки OpenClaw.
Коли вибрана модель використовує harness Codex, нативна Compaction потоку
делегується app-server Codex. OpenClaw зберігає дзеркало транскрипту для історії каналу,
пошуку, `/new`, `/reset` і майбутнього перемикання моделі або harness. Дзеркало
включає запит користувача, фінальний текст асистента та полегшені записи міркувань або плану Codex,
коли їх видає app-server.
Коли вибрана модель використовує harness Codex, нативна Compaction потоку делегується app-server Codex. OpenClaw зберігає дзеркало транскрипту для історії каналу, пошуку, `/new`, `/reset` і майбутнього перемикання моделі або harness. Дзеркало містить запит користувача, фінальний текст асистента та полегшені записи міркувань або плану Codex, коли app-server їх надсилає.
Генерація медіа не потребує PI. Генерація зображень, відео, музики, PDF, TTS і
розуміння медіа й далі використовують відповідні налаштування провайдера/моделі, такі як
`agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` і
`messages.tts`.
Генерація медіа не потребує PI. Генерація зображень, відео, музики, PDF, TTS і розуміння медіа й надалі використовують відповідні налаштування провайдера/моделі, такі як `agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` і `messages.tts`.
## Усунення несправностей
**Codex не з’являється в `/model`:** увімкніть `plugins.entries.codex.enabled`,
задайте посилання на модель `codex/*` або перевірте, чи `plugins.allow` не виключає `codex`.
**Codex не з’являється в `/model`:** увімкніть `plugins.entries.codex.enabled`, задайте посилання на модель `codex/*` або перевірте, чи не виключає `plugins.allow` значення `codex`.
**OpenClaw переходить до PI:** задайте `embeddedHarness.fallback: "none"` або
`OPENCLAW_AGENT_HARNESS_FALLBACK=none` під час тестування.
**OpenClaw використовує PI замість Codex:** якщо жоден harness Codex не обробляє запуск, OpenClaw може використовувати PI як backend сумісності. Установіть `embeddedHarness.runtime: "codex"`, щоб примусово вибрати Codex під час тестування, або `embeddedHarness.fallback: "none"`, щоб отримувати помилку, коли жоден plugin harness не підходить. Щойно вибрано app-server Codex, його збої відображаються безпосередньо без додаткового налаштування резервного переходу.
**app-server відхиляється:** оновіть Codex, щоб handshake app-server
повідомляв версію `0.118.0` або новішу.
**app-server відхиляється:** оновіть Codex, щоб handshake app-server повідомляв версію `0.118.0` або новішу.
**Виявлення моделей повільне:** зменште `plugins.entries.codex.config.discovery.timeoutMs`
або вимкніть виявлення.
**Виявлення моделей повільне:** зменште `plugins.entries.codex.config.discovery.timeoutMs` або вимкніть виявлення.
**Транспорт WebSocket одразу завершується з помилкою:** перевірте `appServer.url`, `authToken`
і що віддалений app-server використовує ту саму версію протоколу app-server Codex.
**Транспорт WebSocket відразу завершується помилкою:** перевірте `appServer.url`, `authToken` і що віддалений app-server використовує ту саму версію протоколу app-server Codex.
**Модель не Codex використовує PI:** це очікувана поведінка. Harness Codex обробляє лише
посилання на моделі `codex/*`.
**Не-Codex-модель використовує PI:** це очікувана поведінка. Harness Codex обробляє лише посилання на моделі `codex/*`.
## Пов’язане
- [Plugins harness агента](/uk/plugins/sdk-agent-harness)
- [Plugins Harness агента](/uk/plugins/sdk-agent-harness)
- [Провайдери моделей](/uk/concepts/model-providers)
- [Довідник із конфігурації](/uk/gateway/configuration-reference)
- [Тестування](/uk/help/testing#live-codex-app-server-harness-smoke)

View File

@ -1,53 +1,53 @@
---
read_when:
- Ви змінюєте вбудоване середовище виконання агента або реєстр harness агента
- Ви реєструєте harness агента з вбудованого або довіреного плагіна
- Вам потрібно зрозуміти, як плагін Codex пов’язаний із постачальниками моделей
- Ви змінюєте вбудоване середовище виконання агента або реєстр обв’язки агента
- Ви реєструєте обв’язку агента з bundled або trusted plugin
- Вам потрібно зрозуміти, як plugin Codex пов’язаний із постачальниками моделей
sidebarTitle: Agent Harness
summary: Експериментальна поверхня SDK для плагінів, які замінюють низькорівневий вбудований виконавець агента
title: Плагіни Agent Harness
summary: Експериментальна поверхня SDK для plugin, які замінюють низькорівневий вбудований виконавець агента
title: Plugin обв’язки агента
x-i18n:
generated_at: "2026-04-11T16:15:07Z"
generated_at: "2026-04-22T05:35:02Z"
model: gpt-5.4
provider: openai
source_hash: 62b88fd24ce8b600179db27e16e8d764a2cd7a14e5c5df76374c33121aa5e365
source_hash: 728fef59ae3cce29a3348842820f1f71a2eac98ae6b276179bce6c85d16613df
source_path: plugins/sdk-agent-harness.md
workflow: 15
---
# Плагіни Agent Harness
# Plugin обв’язки агента
**Agent harness** — це низькорівневий виконавець для одного підготовленого ходу агента OpenClaw. Це не постачальник моделей, не канал і не реєстр інструментів.
**Обв’язка агента** — це низькорівневий виконавець одного підготовленого ходу агента OpenClaw. Це не постачальник моделей, не канал і не реєстр інструментів.
Використовуйте цю поверхню лише для вбудованих або довірених нативних плагінів. Контракт усе ще є експериментальним, оскільки типи параметрів навмисно віддзеркалюють поточний вбудований виконавець.
Використовуйте цю поверхню лише для bundled або trusted native plugin. Контракт усе ще експериментальний, оскільки типи параметрів навмисно віддзеркалюють поточний вбудований виконавець.
## Коли використовувати harness
## Коли використовувати обв’язку
Реєструйте harness агента, коли сімейство моделей має власне нативне середовище виконання сесій, а звичайний транспорт постачальника OpenClaw є хибною абстракцією.
Реєструйте обв’язку агента, коли сімейство моделей має власне native середовище виконання сесії і звичайний транспорт постачальника OpenClaw є хибною абстракцією.
Приклади:
- нативний сервер coding-agent, який керує потоками та компакцією
- локальний CLI або демон, який має потоково передавати нативні події плану/міркувань/інструментів
- native сервер coding-agent, який керує потоками та Compaction
- локальний CLI або демон, який має транслювати native події плану/міркувань/інструментів
- середовище виконання моделі, якому потрібен власний resume id на додачу до транскрипту сесії OpenClaw
**Не** реєструйте harness лише для того, щоб додати новий API LLM. Для звичайних HTTP- або WebSocket-API моделей створіть [плагін постачальника](/uk/plugins/sdk-provider-plugins).
**Не** реєструйте обв’язку лише для того, щоб додати новий API LLM. Для звичайних HTTP або WebSocket API моделей створіть [plugin постачальника](/uk/plugins/sdk-provider-plugins).
## Чим усе ще керує ядро
## Що все ще належить core
До вибору harness OpenClaw уже визначив:
Перш ніж буде вибрано обв’язку, OpenClaw уже визначив:
- постачальника й модель
- стан автентифікації середовища виконання
- постачальника і модель
- стан auth середовища виконання
- рівень thinking і бюджет контексту
- файл транскрипту/сесії OpenClaw
- робочий простір, sandbox і політику інструментів
- зворотні виклики відповідей каналу та потокові зворотні виклики
- політику резервного переходу між моделями та перемикання на живу модель
- workspace, sandbox і політику інструментів
- callback-функції відповіді каналу та callback-функції трансляції
- політику fallback моделі та живого перемикання моделі
Такий поділ є навмисним. Harness виконує підготовлену спробу; він не вибирає постачальників, не замінює доставлення через канал і не перемикає моделі непомітно.
Цей поділ є навмисним. Обв’язка виконує підготовлену спробу; вона не вибирає постачальників, не замінює доставку каналу і не перемикає моделі непомітно.
## Реєстрація harness
## Зареєструвати обв’язку
**Імпорт:** `openclaw/plugin-sdk/agent-harness`
@ -85,49 +85,49 @@ export default definePluginEntry({
## Політика вибору
OpenClaw вибирає harness після визначення постачальника/моделі:
OpenClaw вибирає обв’язку після визначення постачальника/моделі:
1. `OPENCLAW_AGENT_RUNTIME=<id>` примусово вибирає зареєстрований harness з цим id.
2. `OPENCLAW_AGENT_RUNTIME=pi` примусово вибирає вбудований PI harness.
3. `OPENCLAW_AGENT_RUNTIME=auto` запитує зареєстровані harness, чи підтримують вони визначеного постачальника/модель.
4. Якщо жоден зареєстрований harness не підходить, OpenClaw використовує PI, якщо резервний перехід на PI не вимкнено.
1. `OPENCLAW_AGENT_RUNTIME=<id>` примусово вибирає зареєстровану обв’язку з цим id.
2. `OPENCLAW_AGENT_RUNTIME=pi` примусово вибирає вбудовану обв’язку PI.
3. `OPENCLAW_AGENT_RUNTIME=auto` запитує зареєстровані обв’язки, чи підтримують вони визначеного постачальника/модель.
4. Якщо жодна зареєстрована обв’язка не підходить, OpenClaw використовує PI, якщо fallback до PI не вимкнено.
Помилки примусово вибраного harness плагіна відображаються як помилки виконання. У режимі `auto` OpenClaw може перейти на PI, якщо вибраний harness плагіна завершується помилкою до того, як хід породить побічні ефекти. Установіть `OPENCLAW_AGENT_HARNESS_FALLBACK=none` або `embeddedHarness.fallback: "none"`, щоб зробити такий резервний перехід жорсткою помилкою.
Збої обв’язок plugin відображаються як збої виконання. У режимі `auto` fallback до PI використовується лише тоді, коли жодна зареєстрована обв’язка plugin не підтримує визначеного постачальника/модель. Щойно обв’язка plugin заявила про виконання, OpenClaw не повторює той самий хід через PI, оскільки це може змінити семантику auth/середовища виконання або продублювати побічні ефекти.
Вбудований плагін Codex реєструє `codex` як id свого harness. Ядро обробляє його як звичайний id harness плагіна; специфічні для Codex псевдоніми мають належати плагіну або конфігурації оператора, а не спільному селектору середовища виконання.
Bundled plugin Codex реєструє `codex` як свій id обв’язки. Core розглядає це як звичайний id обв’язки plugin; специфічні для Codex псевдоніми мають належати plugin або конфігурації оператора, а не спільному селектору середовища виконання.
## Поєднання постачальника й harness
## Поєднання постачальника й обв’язки
Більшість harness також мають реєструвати постачальника. Постачальник робить посилання на моделі, статус автентифікації, метадані моделей і вибір `/model` видимими для решти OpenClaw. Потім harness заявляє про цей постачальник у `supports(...)`.
Більшість обв’язок також мають реєструвати постачальника. Постачальник робить посилання на моделі, стан auth, метадані моделі й вибір `/model` видимими для решти OpenClaw. Потім обв’язка заявляє про цей постачальник у `supports(...)`.
Вбудований плагін Codex дотримується цього шаблону:
Bundled plugin Codex дотримується цього шаблону:
- id постачальника: `codex`
- посилання користувача на моделі: `codex/gpt-5.4`, `codex/gpt-5.2` або інша модель, повернена сервером застосунку Codex
- id harness: `codex`
- автентифікація: синтетична доступність постачальника, оскільки harness Codex керує нативним входом/сесією Codex
- запит до app-server: OpenClaw надсилає до Codex чистий id моделі й дозволяє harness взаємодіяти з нативним протоколом app-server
- посилання користувацьких моделей: `codex/gpt-5.4`, `codex/gpt-5.2` або інша модель, яку повертає сервер застосунку Codex
- id обв’язки: `codex`
- auth: синтетична доступність постачальника, оскільки обв’язка Codex керує native входом/сесією Codex
- запит до app-server: OpenClaw надсилає Codex базовий id моделі й дозволяє обв’язці спілкуватися з native протоколом app-server
Плагін Codex є додатковим. Звичайні посилання `openai/gpt-*` залишаються посиланнями постачальника OpenAI й продовжують використовувати звичайний шлях постачальника OpenClaw. Вибирайте `codex/gpt-*`, коли вам потрібні автентифікація під керуванням Codex, виявлення моделей Codex, нативні потоки та виконання через app-server Codex. `/model` може перемикатися між моделями Codex, які повертає app-server Codex, без потреби в облікових даних постачальника OpenAI.
Plugin Codex є адитивним. Звичайні посилання `openai/gpt-*` залишаються посиланнями постачальника OpenAI і продовжують використовувати звичайний шлях постачальника OpenClaw. Вибирайте `codex/gpt-*`, коли вам потрібні auth під керуванням Codex, виявлення моделей Codex, native потоки та виконання через app-server Codex. `/model` може перемикатися між моделями Codex, які повертає app-server Codex, без потреби в облікових даних постачальника OpenAI.
Налаштування для операторів, приклади префіксів моделей і конфігурації лише для Codex див. у [Codex Harness](/uk/plugins/codex-harness).
Щоб дізнатися про налаштування оператора, приклади префіксів моделей і конфігурації лише для Codex, див. [Обв’язка Codex](/uk/plugins/codex-harness).
OpenClaw вимагає Codex app-server версії `0.118.0` або новішої. Плагін Codex перевіряє handshake ініціалізації app-server і блокує старіші сервери або сервери без версії, щоб OpenClaw працював лише з тією поверхнею протоколу, з якою його було протестовано.
OpenClaw вимагає Codex app-server `0.118.0` або новішої версії. Plugin Codex перевіряє initialize handshake app-server і блокує старіші або неверсіоновані сервери, щоб OpenClaw працював лише з тією поверхнею протоколу, з якою його було протестовано.
### Режим нативного Codex harness
### Режим native обв’язки Codex
Вбудований harness `codex` — це нативний режим Codex для вбудованих ходів агента OpenClaw. Спочатку ввімкніть вбудований плагін `codex` і додайте `codex` до `plugins.allow`, якщо у вашій конфігурації використовується обмежувальний allowlist. Він відрізняється від `openai-codex/*`:
Bundled обв’язка `codex` — це native режим Codex для вбудованих ходів агента OpenClaw. Спочатку увімкніть bundled plugin `codex` і додайте `codex` у `plugins.allow`, якщо ваша конфігурація використовує обмежувальний allowlist. Він відрізняється від `openai-codex/*`:
- `openai-codex/*` використовує OAuth ChatGPT/Codex через звичайний шлях постачальника OpenClaw.
- `codex/*` використовує вбудований постачальник Codex і спрямовує хід через app-server Codex.
- `codex/*` використовує bundled постачальник Codex і маршрутизує хід через app-server Codex.
Коли цей режим працює, Codex керує нативним id потоку, поведінкою resume, компакцією та виконанням app-server. OpenClaw усе ще керує каналом чату, видимим дзеркалом транскрипту, політикою інструментів, підтвердженнями, доставленням медіа та вибором сесії. Використовуйте `embeddedHarness.runtime: "codex"` разом із `embeddedHarness.fallback: "none"`, коли потрібно довести, що використовується шлях app-server Codex і що резервний перехід на PI не приховує несправний нативний harness.
Коли цей режим працює, Codex керує native id потоку, поведінкою resume, Compaction і виконанням app-server. OpenClaw усе ще керує каналом чату, видимим дзеркалом транскрипту, політикою інструментів, схваленнями, доставкою медіа та вибором сесії. Використовуйте `embeddedHarness.runtime: "codex"` разом із `embeddedHarness.fallback: "none"`, коли вам потрібно довести, що лише шлях app-server Codex може заявити про виконання. Ця конфігурація є лише захистом вибору: збої app-server Codex і так завершуються помилкою напряму, а не повторною спробою через PI.
## Вимкнення резервного переходу на PI
## Вимкнути fallback до PI
За замовчуванням OpenClaw запускає вбудованих агентів із `agents.defaults.embeddedHarness`, установленим у `{ runtime: "auto", fallback: "pi" }`. У режимі `auto` зареєстровані harness плагінів можуть заявляти про пару постачальник/модель. Якщо жоден не підходить або якщо автоматично вибраний harness плагіна завершується помилкою до появи результату, OpenClaw переходить на PI.
За замовчуванням OpenClaw запускає вбудованих агентів із `agents.defaults.embeddedHarness`, встановленим у `{ runtime: "auto", fallback: "pi" }`. У режимі `auto` зареєстровані обв’язки plugin можуть заявляти про пару постачальник/модель. Якщо жодна не підходить, OpenClaw повертається до PI.
Установіть `fallback: "none"`, коли потрібно довести, що harness плагіна є єдиним середовищем виконання, яке використовується. Це вимикає автоматичний резервний перехід на PI; це не блокує явний `runtime: "pi"` або `OPENCLAW_AGENT_RUNTIME=pi`.
Установіть `fallback: "none"`, коли вам потрібно, щоб відсутність вибору обв’язки plugin завершувалася помилкою замість використання PI. Збої вже вибраних обв’язок plugin і так призводять до жорсткої помилки. Це не блокує явний `runtime: "pi"` або `OPENCLAW_AGENT_RUNTIME=pi`.
Для вбудованих запусків лише з Codex:
@ -145,7 +145,7 @@ OpenClaw вимагає Codex app-server версії `0.118.0` або нові
}
```
Якщо ви хочете, щоб будь-який зареєстрований harness плагіна міг заявляти про відповідні моделі, але ніколи не хочете, щоб OpenClaw непомітно переходив на PI, залиште `runtime: "auto"` і вимкніть резервний перехід:
Якщо ви хочете, щоб будь-яка зареєстрована обв’язка plugin могла заявляти про відповідні моделі, але ніколи не хочете, щоб OpenClaw непомітно повертався до PI, залиште `runtime: "auto"` і вимкніть fallback:
```json
{
@ -160,7 +160,7 @@ OpenClaw вимагає Codex app-server версії `0.118.0` або нові
}
```
Перевизначення для окремих агентів використовують ту саму форму:
Перевизначення для окремого агента використовують ту саму форму:
```json
{
@ -185,7 +185,7 @@ OpenClaw вимагає Codex app-server версії `0.118.0` або нові
}
```
`OPENCLAW_AGENT_RUNTIME` усе ще перевизначає налаштоване середовище виконання. Використовуйте `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб вимкнути резервний перехід на PI через середовище.
`OPENCLAW_AGENT_RUNTIME` усе ще перевизначає налаштоване середовище виконання. Використовуйте `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб вимкнути fallback до PI з оточення.
```bash
OPENCLAW_AGENT_RUNTIME=codex \
@ -193,39 +193,39 @@ OPENCLAW_AGENT_HARNESS_FALLBACK=none \
openclaw gateway run
```
Якщо резервний перехід вимкнено, сесія завершується помилкою на ранньому етапі, коли запитаний harness не зареєстрований, не підтримує визначеного постачальника/модель або завершується помилкою до появи побічних ефектів ходу. Це зроблено навмисно для розгортань лише з Codex і для live-тестів, які мають довести, що шлях app-server Codex справді використовується.
Якщо fallback вимкнено, сесія завершується помилкою рано, коли запитана обв’язка не зареєстрована, не підтримує визначеного постачальника/модель або завершується помилкою до створення побічних ефектів ходу. Це зроблено навмисно для розгортань лише з Codex і для live-тестів, які мають довести, що шлях app-server Codex справді використовується.
Це налаштування керує лише вбудованим harness агента. Воно не вимикає маршрутизацію моделей, специфічну для постачальників, для зображень, відео, музики, TTS, PDF або інших типів.
Це налаштування керує лише вбудованою обв’язкою агента. Воно не вимикає маршрутизацію моделей постачальників для image, video, music, TTS, PDF або інших специфічних для постачальника типів.
## Нативні сесії та дзеркало транскрипту
## Native сесії та дзеркало транскрипту
Harness може зберігати нативний id сесії, id потоку або токен resume на боці демона. Явно пов’язуйте таку прив’язку із сесією OpenClaw і продовжуйте дзеркалити видимий користувачу вивід асистента/інструментів у транскрипт OpenClaw.
Обв’язка може зберігати native id сесії, id потоку або токен resume на боці демона. Явно пов’язуйте цю прив’язку із сесією OpenClaw і продовжуйте віддзеркалювати видимий для користувача вивід assistant/tool у транскрипт OpenClaw.
Транскрипт OpenClaw залишається шаром сумісності для:
- видимої в каналі історії сесії
- пошуку та індексації транскриптів
- повернення до вбудованого PI harness на наступному ході
- загальної поведінки `/new`, `/reset` і видалення сесії
- пошуку та індексації транскрипту
- повернення до вбудованої обв’язки PI на пізнішому ході
- узагальненої поведінки `/new`, `/reset` і видалення сесії
Якщо ваш harness зберігає побічну прив’язку, реалізуйте `reset(...)`, щоб OpenClaw міг очищати її, коли пов’язану сесію OpenClaw скинуто.
Якщо ваша обв’язка зберігає sidecar-прив’язку, реалізуйте `reset(...)`, щоб OpenClaw міг очистити її, коли пов’язану сесію OpenClaw скинуто.
## Результати інструментів і медіа
Ядро формує список інструментів OpenClaw і передає його в підготовлену спробу. Коли harness виконує динамічний виклик інструмента, повертайте результат інструмента через форму результату harness, а не надсилайте медіа в канал самостійно.
Core формує список інструментів OpenClaw і передає його в підготовлену спробу. Коли обв’язка виконує динамічний виклик інструмента, повертайте результат інструмента назад через форму результату обв’язки замість того, щоб самостійно надсилати медіа в канал.
Це забезпечує, що текст, зображення, відео, музика, TTS, підтвердження та результати інструментів обміну повідомленнями доставляються тим самим шляхом, що й для запусків на основі PI.
Це зберігає text, image, video, music, TTS, approval і виводи інструментів обміну повідомленнями на тому самому шляху доставки, що й для запусків на базі PI.
## Поточні обмеження
- Публічний шлях імпорту є загальним, але деякі псевдоніми типів спроб/результатів досі містять назви `Pi` для сумісності.
- Установлення сторонніх harness є експериментальним. Віддавайте перевагу плагінам постачальників, доки вам не знадобиться нативне середовище виконання сесій.
- Перемикання harness між ходами підтримується. Не перемикайте harness посеред ходу після того, як уже почалися нативні інструменти, підтвердження, текст асистента або надсилання повідомлень.
- Публічний шлях імпорту є узагальненим, але деякі псевдоніми типів спроб/результатів усе ще містять назви `Pi` заради сумісності.
- Встановлення сторонніх обв’язок є експериментальним. Надавайте перевагу plugin постачальників, доки вам не знадобиться native середовище виконання сесії.
- Перемикання обв’язок між ходами підтримується. Не перемикайте обв’язки посеред ходу після того, як уже почалися native інструменти, схвалення, текст assistant або надсилання повідомлень.
## Пов’язані матеріали
## Пов’язане
- [Огляд SDK](/uk/plugins/sdk-overview)
- [Допоміжні засоби середовища виконання](/uk/plugins/sdk-runtime)
- [Плагіни постачальників](/uk/plugins/sdk-provider-plugins)
- [Codex Harness](/uk/plugins/codex-harness)
- [Runtime Helpers](/uk/plugins/sdk-runtime)
- [Plugin постачальника](/uk/plugins/sdk-provider-plugins)
- [Обв’язка Codex](/uk/plugins/codex-harness)
- [Постачальники моделей](/uk/concepts/model-providers)