chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-10 23:18:49 +00:00
parent 63632de758
commit edb70acf47
3 changed files with 541 additions and 482 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,59 +1,66 @@
---
read_when:
- Ви хочете використовувати вбудований app-server harness Codex
- Ви хочете використовувати вбудований каркас app-server Codex
- Вам потрібні посилання на моделі Codex і приклади конфігурації
- Ви хочете вимкнути резервний перехід на PI для розгортань лише з Codex
summary: Запустіть ходи вбудованого агента OpenClaw через вбудований app-server harness Codex
title: Codex Harness
- Ви хочете вимкнути резервний перехід на Pi для розгортань лише з Codex
summary: Запускайте вбудовані ходи агента OpenClaw через вбудований каркас app-server Codex
title: Каркас Codex
x-i18n:
generated_at: "2026-04-10T22:09:02Z"
generated_at: "2026-04-10T23:15:03Z"
model: gpt-5.4
provider: openai
source_hash: 71f4f8e67cfc8f573ad8f082dd4fc36ce6524f7bf235e2757117d4653cbb3d71
source_hash: 60e1dcf4f1a00c63c3ef31d72feac44bce255421c032c58fa4fd67295b3daf23
source_path: plugins/codex-harness.md
workflow: 15
---
# Codex Harness
# Каркас Codex
Вбудований плагін `codex` дає OpenClaw змогу запускати ходи вбудованого агента через Codex app-server замість вбудованого harness PI.
Вбудований плагін `codex` дає OpenClaw змогу запускати вбудовані ходи агента через
app-server Codex замість вбудованого каркаса PI.
Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: виявленням моделей, нативним відновленням thread, нативною компакцією та виконанням app-server.
OpenClaw, як і раніше, керує каналами чату, файлами сесій, вибором моделей, інструментами, погодженнями, доставкою медіа та видимим дзеркалом транскрипту.
Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: виявленням
моделей, нативним відновленням потоку, нативною компакцією та виконанням через app-server.
OpenClaw і надалі керує каналами чату, файлами сесій, вибором моделі, інструментами,
погодженнями, доставкою медіа та видимим дзеркалом стенограми.
Harness вимкнений за замовчуванням. Він вибирається лише тоді, коли плагін `codex` увімкнено і визначена модель є моделлю `codex/*`, або коли ви явно примусово задаєте `embeddedHarness.runtime: "codex"` чи `OPENCLAW_AGENT_RUNTIME=codex`.
Якщо ви ніколи не налаштовуєте `codex/*`, наявні запуски PI, OpenAI, Anthropic, Gemini, local і custom-provider зберігають свою поточну поведінку.
Цей каркас вимкнений за замовчуванням. Його буде вибрано лише тоді, коли плагін `codex`
увімкнений і розв’язана модель є моделлю `codex/*`, або коли ви явно примусово задаєте
`embeddedHarness.runtime: "codex"` чи `OPENCLAW_AGENT_RUNTIME=codex`.
Якщо ви ніколи не налаштовуєте `codex/*`, наявні запуски PI, OpenAI, Anthropic, Gemini, local
і custom-provider зберігають свою поточну поведінку.
## Виберіть правильний префікс моделі
OpenClaw має окремі маршрути для доступу у форматі OpenAI та Codex:
OpenClaw має окремі маршрути для доступу у стилі OpenAI і Codex:
| Model ref | Шлях 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 без Codex app-server harness. |
| `codex/gpt-5.4` | Вбудований провайдер Codex плюс Codex harness | Ви хочете нативне виконання Codex app-server для ходу вбудованого агента. |
| Посилання на модель | Шлях середовища виконання | Використовуйте, коли |
| ------------------- | ------------------------------------------- | --------------------------------------------------------------------------- |
| `openai/gpt-5.4` | Провайдер OpenAI через конвеєр OpenClaw/PI | Вам потрібен прямий доступ до API OpenAI Platform з `OPENAI_API_KEY`. |
| `openai-codex/gpt-5.4` | Провайдер OpenAI Codex OAuth через PI | Вам потрібен ChatGPT/Codex OAuth без каркаса app-server Codex. |
| `codex/gpt-5.4` | Вбудований провайдер Codex плюс каркас Codex | Вам потрібне нативне виконання через app-server Codex для вбудованого ходу агента. |
Codex harness обробляє лише посилання на моделі `codex/*`. Наявні посилання `openai/*`,
Каркас Codex обробляє лише посилання на моделі `codex/*`. Наявні посилання `openai/*`,
`openai-codex/*`, Anthropic, Gemini, xAI, local і custom provider зберігають
свої звичайні шляхи.
## Вимоги
- OpenClaw із доступним вбудованим плагіном `codex`.
- Codex app-server `0.118.0` або новіший.
- Автентифікація Codex, доступна для процесу app-server.
- app-server Codex версії `0.118.0` або новішої.
- Доступна автентифікація Codex для процесу app-server.
Плагін блокує старіші або неверсійовані handshakes app-server. Це гарантує, що
OpenClaw працює з поверхнею протоколу, з якою його тестували.
Плагін блокує старіші або неверсіоновані узгодження app-server. Це утримує
OpenClaw на поверхні протоколу, з якою його було протестовано.
Для live- і Docker smoke-тестів автентифікація зазвичай надходить із `OPENAI_API_KEY`, а також
необов’язкових файлів Codex CLI, таких як `~/.codex/auth.json` і
`~/.codex/config.toml`. Використовуйте ті самі автентифікаційні матеріали, що й ваш локальний Codex app-server.
Для живих і Docker smoke-тестів автентифікація зазвичай надходить із `OPENAI_API_KEY`, а також
з необов’язкових файлів Codex CLI, таких як `~/.codex/auth.json` і
`~/.codex/config.toml`. Використовуйте ті самі автентифікаційні матеріали, які використовує
ваш локальний app-server Codex.
## Мінімальна конфігурація
Використовуйте `codex/gpt-5.4`, увімкніть вбудований плагін і примусово задайте harness `codex`:
Використовуйте `codex/gpt-5.4`, увімкніть вбудований плагін і примусово задайте каркас `codex`:
```json5
{
@ -76,7 +83,7 @@ OpenClaw працює з поверхнею протоколу, з якою йо
}
```
Якщо у вашій конфігурації використовується `plugins.allow`, додайте туди також `codex`:
Якщо ваша конфігурація використовує `plugins.allow`, додайте туди також `codex`:
```json5
{
@ -91,13 +98,13 @@ OpenClaw працює з поверхнею протоколу, з якою йо
}
```
Встановлення `agents.defaults.model` або моделі агента в `codex/<model>` також
Установлення `agents.defaults.model` або моделі агента в `codex/<model>` також
автоматично вмикає вбудований плагін `codex`. Явний запис плагіна все одно
корисний у спільних конфігураціях, оскільки робить намір розгортання очевидним.
## Додати Codex без заміни інших моделей
## Додайте Codex без заміни інших моделей
Залишайте `runtime: "auto"`, якщо хочете використовувати Codex для моделей `codex/*`, а PI для
Залиште `runtime: "auto"`, якщо хочете використовувати Codex для моделей `codex/*`, а PI для
всього іншого:
```json5
@ -130,17 +137,17 @@ OpenClaw працює з поверхнею протоколу, з якою йо
}
```
За такої конфігурації:
Із такою структурою:
- `/model codex` або `/model codex/gpt-5.4` використовує Codex app-server harness.
- `/model codex` або `/model codex/gpt-5.4` використовує каркас app-server Codex.
- `/model gpt` або `/model openai/gpt-5.4` використовує шлях провайдера OpenAI.
- `/model opus` використовує шлях провайдера Anthropic.
- Якщо вибрано не-Codex модель, PI залишається harness сумісності.
- Якщо вибрано не-Codex модель, PI залишається каркасом сумісності.
## Розгортання лише з Codex
Вимкніть резервний перехід на PI, якщо вам потрібно підтвердити, що кожен хід вбудованого агента використовує
Codex harness:
Вимкніть резервний перехід на PI, якщо вам потрібно підтвердити, що кожен вбудований хід агента використовує
каркас Codex:
```json5
{
@ -166,11 +173,11 @@ openclaw gateway run
Якщо резервний перехід вимкнено, OpenClaw завершується з помилкою на ранньому етапі, якщо плагін Codex вимкнено,
потрібна модель не є посиланням `codex/*`, app-server надто старий або
app-server не вдається запустити.
app-server не може запуститися.
## Codex для окремого агента
Ви можете зробити одного агента Codex-only, а для агента за замовчуванням залишити звичайний
Ви можете зробити одного агента лише для Codex, тоді як агент за замовчуванням зберігатиме звичайний
автовибір:
```json5
@ -203,13 +210,13 @@ app-server не вдається запустити.
```
Використовуйте звичайні команди сесії, щоб перемикати агентів і моделі. `/new` створює нову
сесію OpenClaw, а Codex harness за потреби створює або відновлює свій sidecar app-server
thread. `/reset` очищає прив’язку сесії OpenClaw для цього thread.
сесію OpenClaw, а каркас Codex за потреби створює або відновлює свій побічний потік app-server.
`/reset` очищає прив’язку сесії OpenClaw для цього потоку.
## Виявлення моделей
За замовчуванням плагін Codex запитує app-server про доступні моделі. Якщо
виявлення завершується помилкою або перевищує час очікування, він використовує вбудований резервний каталог:
виявлення завершується помилкою або перевищує час очікування, використовується вбудований резервний каталог:
- `codex/gpt-5.4`
- `codex/gpt-5.4-mini`
@ -235,7 +242,7 @@ thread. `/reset` очищає прив’язку сесії OpenClaw для ц
}
```
Вимкніть виявлення, якщо хочете, щоб під час запуску не виконувалась перевірка Codex і використовувався
Вимкніть виявлення, якщо хочете, щоб під час запуску не виконувалася перевірка Codex і використовувався
резервний каталог:
```json5
@ -255,9 +262,9 @@ thread. `/reset` очищає прив’язку сесії OpenClaw для ц
}
```
## Підключення app-server і політика
## Підключення до app-server і політика
За замовчуванням плагін локально запускає Codex командою:
За замовчуванням плагін локально запускає Codex так:
```bash
codex app-server --listen stdio://
@ -308,22 +315,22 @@ codex app-server --listen stdio://
Підтримувані поля `appServer`:
| Field | Default | Значення |
| ------------------- | ---------------------------------------- | ------------------------------------------------------------------------ |
| `transport` | `"stdio"` | `"stdio"` запускає Codex; `"websocket"` підключається до `url`. |
| `command` | `"codex"` | Виконуваний файл для транспорту stdio. |
| `args` | `["app-server", "--listen", "stdio://"]` | Аргументи для транспорту stdio. |
| `url` | unset | URL WebSocket app-server. |
| `authToken` | unset | Bearer-токен для транспорту WebSocket. |
| `headers` | `{}` | Додаткові заголовки WebSocket. |
| `requestTimeoutMs` | `60000` | Тайм-аут для викликів control-plane app-server. |
| `approvalPolicy` | `"never"` | Нативна політика погодження Codex, що надсилається до start/resume/turn thread. |
| `sandbox` | `"workspace-write"` | Нативний режим sandbox Codex, що надсилається до start/resume thread. |
| `approvalsReviewer` | `"user"` | Використовуйте `"guardian_subagent"`, щоб Codex guardian перевіряв нативні погодження. |
| `serviceTier` | unset | Необов’язковий рівень сервісу Codex, наприклад `"priority"`. |
| Поле | За замовчуванням | Значення |
| ------------------- | ---------------------------------------- | ------------------------------------------------------------------------- |
| `transport` | `"stdio"` | `"stdio"` запускає Codex; `"websocket"` підключається до `url`. |
| `command` | `"codex"` | Виконуваний файл для транспорту stdio. |
| `args` | `["app-server", "--listen", "stdio://"]` | Аргументи для транспорту stdio. |
| `url` | unset | URL WebSocket app-server. |
| `authToken` | unset | Bearer-токен для транспорту WebSocket. |
| `headers` | `{}` | Додаткові заголовки WebSocket. |
| `requestTimeoutMs` | `60000` | Час очікування для викликів площини керування app-server. |
| `approvalPolicy` | `"never"` | Нативна політика погодження Codex, що надсилається до start/resume/turn потоку. |
| `sandbox` | `"workspace-write"` | Нативний режим sandbox Codex, що надсилається до start/resume потоку. |
| `approvalsReviewer` | `"user"` | Використовуйте `"guardian_subagent"`, щоб нативні погодження переглядав guardian Codex. |
| `serviceTier` | unset | Необов’язковий рівень сервісу Codex, наприклад `"priority"`. |
Старі змінні середовища все ще працюють як резервні значення для локального тестування, коли
відповідне поле конфігурації не задано:
відповідне поле конфігурації не задане:
- `OPENCLAW_CODEX_APP_SERVER_BIN`
- `OPENCLAW_CODEX_APP_SERVER_ARGS`
@ -335,7 +342,7 @@ codex app-server --listen stdio://
## Поширені рецепти
Локальний Codex зі стандартним транспортом stdio:
Локальний Codex із типовим транспортом stdio:
```json5
{
@ -349,7 +356,7 @@ codex app-server --listen stdio://
}
```
Перевірка harness лише для Codex, з вимкненим резервним переходом на PI:
Перевірка каркаса лише Codex, із вимкненим резервним переходом на PI:
```json5
{
@ -366,7 +373,7 @@ codex app-server --listen stdio://
}
```
Погодження Codex, що перевіряються guardian:
Погодження Codex із переглядом guardian:
```json5
{
@ -387,7 +394,7 @@ codex app-server --listen stdio://
}
```
Віддалений app-server з явними заголовками:
Віддалений app-server із явними заголовками:
```json5
{
@ -410,78 +417,79 @@ codex app-server --listen stdio://
}
```
Перемикання моделей залишається під керуванням OpenClaw. Коли сесію OpenClaw прив’язано
до наявного Codex thread, наступний хід знову надсилає до
app-server поточну вибрану модель `codex/*`, провайдера, політику погодження, sandbox і service tier.
Перехід з `codex/gpt-5.4` на `codex/gpt-5.2` зберігає прив’язку до
thread, але просить Codex продовжити з новою вибраною моделлю.
Перемикання моделей і далі контролює OpenClaw. Коли сесію OpenClaw прив’язано
до наявного потоку Codex, наступний хід знову надсилає до
app-server поточні вибрані `codex/*` модель, провайдера, політику погодження, sandbox і service tier.
Перемикання з `codex/gpt-5.4` на `codex/gpt-5.2` зберігає прив’язку
до потоку, але просить Codex продовжити з нововибраною моделлю.
## Команда Codex
Вбудований плагін реєструє `/codex` як авторизовану slash-команду. Вона є
універсальною і працює на будь-якому каналі, що підтримує текстові команди OpenClaw.
загальною і працює в будь-якому каналі, який підтримує текстові команди OpenClaw.
Поширені форми:
- `/codex status` показує в реальному часі підключення до app-server, моделі, обліковий запис, ліміти швидкості, MCP servers і skills.
- `/codex models` виводить список моделей Codex app-server у реальному часі.
- `/codex threads [filter]` виводить список нещодавніх thread Codex.
- `/codex resume <thread-id>` прив’язує поточну сесію OpenClaw до наявного thread Codex.
- `/codex compact` просить Codex app-server виконати компакцію прив’язаного thread.
- `/codex review` запускає нативну перевірку Codex для прив’язаного thread.
- `/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 виконати компакцію прив’язаного потоку.
- `/codex review` запускає нативну перевірку Codex для прив’язаного потоку.
- `/codex account` показує стан облікового запису та лімітів швидкості.
- `/codex mcp` показує стан MCP server Codex app-server.
- `/codex skills` виводить список skills Codex app-server.
- `/codex mcp` перелічує стан серверів MCP app-server Codex.
- `/codex skills` перелічує Skills app-server Codex.
`/codex resume` записує той самий sidecar-файл прив’язки, який harness використовує для
звичайних ходів. У наступному повідомленні OpenClaw відновлює цей thread Codex, передає
поточну вибрану в OpenClaw модель `codex/*` до app-server і зберігає
увімкнену розширену історію.
`/codex resume` записує той самий файл побічної прив’язки, який каркас використовує для
звичайних ходів. У наступному повідомленні OpenClaw відновлює цей потік Codex, передає поточну
вибрану в OpenClaw модель `codex/*` до app-server і зберігає ввімкнену
розширену історію.
Поверхня команд вимагає Codex app-server `0.118.0` або новішої версії. Для окремих
методів керування повідомляється `unsupported by this Codex app-server`, якщо
Поверхня команд вимагає app-server Codex версії `0.118.0` або новішої. Для окремих
методів керування буде показано `unsupported by this Codex app-server`, якщо
майбутній або кастомний app-server не надає цей метод JSON-RPC.
## Інструменти, медіа та компакція
Codex harness змінює лише низькорівневий виконавець вбудованого агента.
Каркас Codex змінює лише низькорівневий виконавець вбудованого агента.
OpenClaw, як і раніше, формує список інструментів і отримує динамічні результати інструментів від
harness. Текст, зображення, відео, музика, TTS, погодження та вивід інструментів обміну повідомленнями
каркаса. Текст, зображення, відео, музика, TTS, погодження та вивід інструментів обміну повідомленнями
і далі проходять через звичайний шлях доставки OpenClaw.
Коли вибрана модель використовує Codex harness, нативна компакція thread делегується
Codex app-server. OpenClaw зберігає дзеркало транскрипту для історії каналу,
пошуку, `/new`, `/reset` і майбутнього перемикання моделі або harness.
Коли вибрана модель використовує каркас Codex, нативна компакція потоку делегується app-server Codex.
OpenClaw зберігає дзеркало стенограми для історії каналу, пошуку, `/new`, `/reset` і майбутнього
перемикання моделі або каркаса. Дзеркало включає запит користувача, фінальний текст помічника та
полегшені записи міркувань або плану Codex, коли app-server їх надсилає.
Генерація медіа не потребує PI. Генерація зображень, відео, музики, PDF, TTS і
розуміння медіа продовжують використовувати відповідні налаштування провайдера/моделі, такі як
аналіз медіа й надалі використовують відповідні налаштування провайдера/моделі, такі як
`agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` і
`messages.tts`.
## Усунення неполадок
## Усунення несправностей
**Codex не з’являється в `/model`:** увімкніть `plugins.entries.codex.enabled`,
задайте посилання на модель `codex/*` або перевірте, чи `plugins.allow` не виключає `codex`.
задайте посилання на модель `codex/*` або перевірте, чи не виключає `plugins.allow` `codex`.
**OpenClaw переходить на PI:** задайте `embeddedHarness.fallback: "none"` або
**OpenClaw переходить на PI:** установіть `embeddedHarness.fallback: "none"` або
`OPENCLAW_AGENT_HARNESS_FALLBACK=none` під час тестування.
**app-server відхиляється:** оновіть Codex, щоб handshake app-server
повідомляв версію `0.118.0` або новішу.
**app-server відхиляється:** оновіть Codex, щоб узгодження app-server
повідомляло версію `0.118.0` або новішу.
**Виявлення моделей повільне:** зменште `plugins.entries.codex.config.discovery.timeoutMs`
або вимкніть виявлення.
**Транспорт WebSocket відразу завершується помилкою:** перевірте `appServer.url`, `authToken`
і те, що віддалений app-server використовує ту саму версію протоколу Codex app-server.
**Транспорт WebSocket одразу завершується з помилкою:** перевірте `appServer.url`, `authToken`
і що віддалений app-server використовує ту саму версію протоколу app-server Codex.
**Не-Codex модель використовує PI:** це очікувана поведінка. Codex harness обробляє лише
**Не-Codex модель використовує PI:** це очікувана поведінка. Каркас Codex обробляє лише
посилання на моделі `codex/*`.
## Пов’язане
- [Плагіни Agent Harness](/uk/plugins/sdk-agent-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,60 @@
---
read_when:
- Ви змінюєте вбудований рантайм агента або реєстр harnessів
- Ви змінюєте вбудоване середовище виконання агента або реєстр harness агентів
- Ви реєструєте harness агента з вбудованого або довіреного плагіна
- Вам потрібно зрозуміти, як плагін Codex пов’язаний із постачальниками моделей
sidebarTitle: Agent Harness
summary: Експериментальна поверхня SDK для плагінів, які замінюють низькорівневий вбудований виконавець агентів
summary: Експериментальна поверхня SDK для плагінів, які замінюють низькорівневий вбудований виконавець агента
title: Плагіни Agent Harness
x-i18n:
generated_at: "2026-04-10T21:05:18Z"
generated_at: "2026-04-10T23:15:01Z"
model: gpt-5.4
provider: openai
source_hash: 3abada0b89609c80edf3b66dfbd5951e812523c31d758643edb92e01f86e6dae
source_hash: 43c1f2c087230398b0162ed98449f239c8db1e822e51c7dcd40c54fa6c3374e1
source_path: plugins/sdk-agent-harness.md
workflow: 15
---
# Плагіни Agent Harness
**Agent harness** — це низькорівневий виконавець для одного підготовленого ходу агента OpenClaw. Це не постачальник моделей, не канал і не реєстр інструментів.
**Agent harness** — це низькорівневий виконавець для одного підготовленого ходу
агента OpenClaw. Це не постачальник моделей, не канал і не реєстр інструментів.
Використовуйте цю поверхню лише для вбудованих або довірених нативних плагінів. Контракт усе ще є експериментальним, оскільки типи параметрів навмисно віддзеркалюють поточний вбудований раннер.
Використовуйте цю поверхню лише для вбудованих або довірених нативних плагінів. Контракт
досі є експериментальним, оскільки типи параметрів навмисно віддзеркалюють поточний
вбудований виконавець.
## Коли використовувати harness
Реєструйте agent harness, коли сімейство моделей має власний нативний рантайм сесій і звичайний транспорт постачальника OpenClaw є хибною абстракцією.
Реєструйте agent harness, коли сімейство моделей має власне нативне середовище
виконання сесії, а звичайний транспорт постачальника OpenClaw є хибною абстракцією.
Приклади:
- нативний сервер coding-agent, який керує потоками й компакцією
- локальний CLI або демон, який має транслювати нативні події плану/міркування/інструментів
- рантайм моделі, якому потрібен власний resume id на додачу до транскрипту сесії OpenClaw
- нативний сервер coding-agent, який керує потоками та компакцією
- локальний CLI або демон, який має потоково передавати нативні події плану/міркувань/інструментів
- середовище виконання моделі, якому потрібен власний id відновлення на додачу до
транскрипту сесії OpenClaw
**Не** реєструйте harness лише для того, щоб додати новий LLM API. Для звичайних HTTP або WebSocket API моделей створіть [плагін постачальника](/uk/plugins/sdk-provider-plugins).
**Не** реєструйте harness лише для додавання нового API LLM. Для звичайних HTTP- або
WebSocket-API моделей створіть [плагін постачальника](/uk/plugins/sdk-provider-plugins).
## Чим і далі керує ядро
## Що все ще належить core
Перш ніж буде вибрано harness, OpenClaw уже визначив:
- постачальника й модель
- стан автентифікації рантайму
- рівень міркування й бюджет контексту
- транскрипт OpenClaw/файл сесії
- постачальника і модель
- стан автентифікації середовища виконання
- рівень thinking і бюджет контексту
- файл транскрипту/сесії OpenClaw
- робочий простір, sandbox і політику інструментів
- колбеки відповіді каналу та колбеки потокової передачі
- політику резервного переходу між моделями й перемикання на живу модель
- зворотні виклики відповіді каналу та потокові зворотні виклики
- резервну модель і політику перемикання live-моделей
Такий поділ є навмисним. Harness виконує підготовлену спробу; він не вибирає постачальників, не замінює доставку через канали й не перемикає моделі непомітно.
Цей розподіл є навмисним. Harness виконує підготовлену спробу; він не вибирає
постачальників, не замінює доставку через канал і не перемикає моделі непомітно.
## Зареєструвати harness
## Реєстрація harness
**Імпорт:** `openclaw/plugin-sdk/agent-harness`
@ -87,38 +94,61 @@ export default definePluginEntry({
OpenClaw вибирає harness після визначення постачальника/моделі:
1. `OPENCLAW_AGENT_RUNTIME=<id>` примусово вибирає зареєстрований harness з таким id.
2. `OPENCLAW_AGENT_RUNTIME=pi` примусово вибирає вбудований harness PI.
3. `OPENCLAW_AGENT_RUNTIME=auto` запитує зареєстровані harness-и, чи підтримують вони визначеного постачальника/модель.
4. Якщо жоден зареєстрований harness не підходить, OpenClaw використовує PI, якщо резервний перехід до PI не вимкнено.
1. `OPENCLAW_AGENT_RUNTIME=<id>` примусово вказує зареєстрований harness із цим id.
2. `OPENCLAW_AGENT_RUNTIME=pi` примусово вказує вбудований harness PI.
3. `OPENCLAW_AGENT_RUNTIME=auto` запитує зареєстровані harness, чи підтримують вони
визначеного постачальника/модель.
4. Якщо жоден зареєстрований harness не підходить, OpenClaw використовує PI, якщо резервний варіант PI не вимкнено.
Помилки примусово вибраного harness плагіна відображаються як помилки виконання. У режимі `auto` OpenClaw може повернутися до PI, якщо вибраний harness плагіна зазнає збою до того, як хід створить побічні ефекти. Встановіть `OPENCLAW_AGENT_HARNESS_FALLBACK=none` або `embeddedHarness.fallback: "none"`, щоб зробити такий резервний перехід жорсткою помилкою.
Збої примусово вказаного harness плагіна відображаються як збої виконання. У режимі `auto`
OpenClaw може перейти на PI, якщо вибраний harness плагіна зазнає збою до того,
як хід спричинить побічні ефекти. Установіть `OPENCLAW_AGENT_HARNESS_FALLBACK=none` або
`embeddedHarness.fallback: "none"`, щоб зробити такий перехід жорсткою помилкою.
Вбудований плагін Codex реєструє `codex` як id свого harness. Для сумісності `codex-app-server` і `app-server` також указують на цей самий harness, коли ви вручну встановлюєте `OPENCLAW_AGENT_RUNTIME`.
Вбудований плагін Codex реєструє `codex` як свій id harness. Core розглядає його
як звичайний id harness плагіна; специфічні для Codex псевдоніми мають належати
плагіну або конфігурації оператора, а не спільному селектору середовища виконання.
## Поєднання постачальника й harness
## Зіставлення постачальника та harness
Більшість harness-ів також мають реєструвати постачальника. Постачальник робить посилання на моделі, статус автентифікації, метадані моделей і вибір `/model` видимими для решти OpenClaw. Потім harness заявляє про цей постачальник у `supports(...)`.
Більшість harness також мають реєструвати постачальника. Постачальник робить
посилання на моделі, стан автентифікації, метадані моделей і вибір `/model`
видимими для решти OpenClaw. Потім harness заявляє цей постачальник у `supports(...)`.
Вбудований плагін Codex дотримується цього шаблону:
- id постачальника: `codex`
- посилання користувача на моделі: `codex/gpt-5.4`, `codex/gpt-5.2` або інша модель, яку повертає сервер застосунку Codex
- посилання користувача на моделі: `codex/gpt-5.4`, `codex/gpt-5.2` або інша модель, яку повертає
сервер застосунку Codex
- id harness: `codex`
- автентифікація: синтетична доступність постачальника, оскільки harness Codex керує нативним входом/сесією Codex
- запит до app-server: OpenClaw надсилає до Codex лише id моделі й дозволяє harness-у взаємодіяти з нативним протоколом app-server
- автентифікація: синтетична доступність постачальника, оскільки harness Codex керує
нативним входом/сесією Codex
- запит до app-server: OpenClaw надсилає до Codex базовий id моделі й дозволяє
harness взаємодіяти з нативним протоколом app-server
Плагін Codex є доповненням. Звичайні посилання `openai/gpt-*` залишаються посиланнями постачальника OpenAI й продовжують використовувати звичайний шлях постачальника OpenClaw. Вибирайте `codex/gpt-*`, коли вам потрібні автентифікація під керуванням Codex, виявлення моделей Codex, нативні потоки та виконання через app-server Codex. `/model` може перемикатися між моделями Codex, які повертає app-server Codex, без потреби в облікових даних постачальника OpenAI.
Плагін Codex є доповнювальним. Звичайні посилання `openai/gpt-*` залишаються
посиланнями постачальника OpenAI і продовжують використовувати звичайний шлях
постачальника OpenClaw. Вибирайте `codex/gpt-*`, коли вам потрібні автентифікація під керуванням Codex,
виявлення моделей Codex, нативні потоки та виконання через app-server Codex. `/model` може перемикатися між моделями Codex, які повертає app server Codex, не вимагаючи облікових даних постачальника OpenAI.
Налаштування оператором, приклади префіксів моделей і конфігурації лише для Codex дивіться в [Codex Harness](/uk/plugins/codex-harness).
Налаштування для операторів, приклади префіксів моделей і конфігурації лише для Codex див. у
[Codex Harness](/uk/plugins/codex-harness).
OpenClaw вимагає Codex app-server версії `0.118.0` або новішої. Плагін Codex перевіряє initialize-handshake app-server і блокує старіші сервери або сервери без версії, щоб OpenClaw працював лише з тією поверхнею протоколу, з якою його було протестовано.
OpenClaw вимагає Codex app-server версії `0.118.0` або новішої. Плагін Codex перевіряє
ініціалізаційне рукостискання app-server і блокує старіші сервери або сервери без версії, щоб
OpenClaw працював лише з тією поверхнею протоколу, з якою його було протестовано.
## Вимкнення резервного переходу до PI
## Вимкнення резервного PI
Типово OpenClaw запускає вбудованих агентів із `agents.defaults.embeddedHarness`, установленим у `{ runtime: "auto", fallback: "pi" }`. У режимі `auto` зареєстровані harness-и плагінів можуть заявити підтримку пари постачальник/модель. Якщо жоден не підходить або якщо автоматично вибраний harness плагіна зазнає збою до створення виводу, OpenClaw повертається до PI.
За замовчуванням OpenClaw запускає вбудованих агентів із `agents.defaults.embeddedHarness`,
встановленим у `{ runtime: "auto", fallback: "pi" }`. У режимі `auto` зареєстровані
harness плагінів можуть заявляти пари постачальник/модель. Якщо жоден не підходить
або якщо автоматично вибраний harness плагіна зазнає збою до створення виводу,
OpenClaw переходить на PI.
Установіть `fallback: "none"`, якщо вам потрібно довести, що виконується лише рантайм harness плагіна. Це вимикає автоматичний резервний перехід до PI; це не блокує явний `runtime: "pi"` або `OPENCLAW_AGENT_RUNTIME=pi`.
Установіть `fallback: "none"`, коли потрібно довести, що єдиним середовищем
виконання, яке використовується, є harness плагіна. Це вимикає автоматичний резервний перехід на PI;
це не блокує явний `runtime: "pi"` або `OPENCLAW_AGENT_RUNTIME=pi`.
Для вбудованих запусків лише з Codex:
@ -136,7 +166,9 @@ OpenClaw вимагає Codex app-server версії `0.118.0` або нові
}
```
Якщо ви хочете, щоб будь-який зареєстрований harness плагіна міг заявити підтримку відповідних моделей, але ніколи не хочете, щоб OpenClaw непомітно повертався до PI, залиште `runtime: "auto"` і вимкніть резервний перехід:
Якщо ви хочете, щоб будь-який зареєстрований harness плагіна міг заявляти
відповідні моделі, але ніколи не хочете, щоб OpenClaw непомітно переходив на PI, залиште
`runtime: "auto"` і вимкніть резервний перехід:
```json
{
@ -151,7 +183,7 @@ OpenClaw вимагає Codex app-server версії `0.118.0` або нові
}
```
Перевизначення на рівні окремого агента використовують ту саму форму:
Перевизначення для окремого агента використовують ту саму форму:
```json
{
@ -176,7 +208,9 @@ OpenClaw вимагає Codex app-server версії `0.118.0` або нові
}
```
`OPENCLAW_AGENT_RUNTIME` усе ще перевизначає налаштований рантайм. Використайте `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб вимкнути резервний перехід до PI через середовище.
`OPENCLAW_AGENT_RUNTIME` усе ще перевизначає налаштоване середовище виконання. Використовуйте
`OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб вимкнути резервний перехід на PI через
змінну середовища.
```bash
OPENCLAW_AGENT_RUNTIME=codex \
@ -184,39 +218,53 @@ OPENCLAW_AGENT_HARNESS_FALLBACK=none \
openclaw gateway run
```
Якщо резервний перехід вимкнено, сесія завершується помилкою на ранньому етапі, коли запитаний harness не зареєстровано, не підтримує визначеного постачальника/модель або зазнає збою до створення побічних ефектів ходу. Це зроблено навмисно для середовищ лише з Codex і для live-тестів, які мають довести, що фактично використовується шлях app-server Codex.
Із вимкненим резервним переходом сесія завершується помилкою на ранньому етапі, якщо запитаний harness не
зареєстровано, не підтримує визначеного постачальника/модель або зазнає збою до
створення побічних ефектів ходу. Це навмисно для розгортань лише з Codex і
для live-тестів, які мають довести, що шлях через app-server Codex справді використовується.
Цей параметр керує лише вбудованим agent harness. Він не вимикає маршрутизацію моделей, специфічну для постачальника, для зображень, відео, музики, TTS, PDF або інших типів.
Цей параметр керує лише вбудованим harness агента. Він не вимикає маршрутизацію
зображень, відео, музики, TTS, PDF або інших специфічних для постачальника моделей.
## Нативні сесії та дзеркалення транскрипту
## Нативні сесії та дзеркалювання транскрипту
Harness може зберігати нативний id сесії, id потоку або daemon-side токен відновлення. Явно пов’язуйте таку прив’язку із сесією OpenClaw і продовжуйте віддзеркалювати видимий користувачу вивід помічника/інструментів у транскрипт OpenClaw.
Harness може зберігати нативний id сесії, id потоку або токен відновлення на боці демона.
Явно пов’язуйте цю прив’язку із сесією OpenClaw і продовжуйте
дзеркалювати видимий користувачу вивід помічника/інструментів у транскрипт OpenClaw.
Транскрипт OpenClaw залишається шаром сумісності для:
- історії сесії, видимої в каналі
- пошуку та індексації транскрипту
- повернення до вбудованого harness PI на наступному ході
- узагальненої поведінки `/new`, `/reset` і видалення сесії
- пошуку та індексації транскриптів
- перемикання назад на вбудований harness PI у наступному ході
- загальної поведінки `/new`, `/reset` і видалення сесії
Якщо ваш harness зберігає sidecar-прив’язку, реалізуйте `reset(...)`, щоб OpenClaw міг очистити її, коли відповідну сесію OpenClaw буде скинуто.
Якщо ваш harness зберігає прив’язку sidecar, реалізуйте `reset(...)`, щоб OpenClaw міг
очищати її, коли пов’язану сесію OpenClaw скинуто.
## Результати інструментів і медіа
Ядро формує список інструментів OpenClaw і передає його в підготовлену спробу. Коли harness виконує динамічний виклик інструмента, повертайте результат інструмента через форму результату harness, а не надсилайте медіа в канал самостійно.
Core формує список інструментів OpenClaw і передає його в підготовлену спробу.
Коли harness виконує виклик динамічного інструмента, повертайте результат інструмента
назад через форму результату harness замість того, щоб самостійно надсилати медіа в канал.
Це дозволяє тексту, зображенням, відео, музиці, TTS, погодженням і результатам інструментів обміну повідомленнями проходити тим самим шляхом доставки, що й запуски на основі PI.
Це зберігає текст, зображення, відео, музику, TTS, погодження та виводи інструментів обміну повідомленнями
на тому самому шляху доставки, що й у запусках на основі PI.
## Поточні обмеження
- Публічний шлях імпорту є загальним, але деякі псевдоніми типів спроб/результатів усе ще містять назви `Pi` для сумісності.
- Встановлення сторонніх harness-ів є експериментальним. Надавайте перевагу плагінам постачальників, доки вам не знадобиться нативний рантайм сесій.
- Перемикання harness-ів між ходами підтримується. Не перемикайте harness посеред ходу після того, як уже почалися нативні інструменти, погодження, текст помічника або надсилання повідомлень.
- Публічний шлях імпорту є узагальненим, але деякі псевдоніми типів спроби/результату все ще
містять назви `Pi` для сумісності.
- Встановлення сторонніх harness є експериментальним. Надавайте перевагу плагінам постачальників,
доки вам не знадобиться нативне середовище виконання сесії.
- Перемикання harness між ходами підтримується. Не перемикайте harness посеред
ходу після того, як уже почалися нативні інструменти, погодження, текст помічника або
надсилання повідомлень.
## Пов’язане
- [Огляд SDK](/uk/plugins/sdk-overview)
- [Допоміжні засоби рантайму](/uk/plugins/sdk-runtime)
- [Допоміжні засоби середовища виконання](/uk/plugins/sdk-runtime)
- [Плагіни постачальників](/uk/plugins/sdk-provider-plugins)
- [Codex Harness](/uk/plugins/codex-harness)
- [Постачальники моделей](/uk/concepts/model-providers)