chore(i18n): refresh uk translations
This commit is contained in:
parent
4cdeca9fbe
commit
8177939bfb
File diff suppressed because it is too large
Load Diff
@ -1,70 +1,74 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви хочете використовувати комплектний каркас app-server Codex
|
||||
- Ви хочете використовувати комплектний harness app-server Codex
|
||||
- Вам потрібні посилання на моделі Codex і приклади конфігурації
|
||||
- Ви хочете вимкнути резервний перехід на PI для розгортань лише з Codex
|
||||
summary: Запускайте вбудовані ходи агента OpenClaw через комплектний каркас app-server Codex
|
||||
title: Каркас Codex
|
||||
summary: Запускайте вбудовані ходи агента OpenClaw через комплектний harness app-server Codex
|
||||
title: Harness Codex
|
||||
x-i18n:
|
||||
generated_at: "2026-04-22T23:11:34Z"
|
||||
generated_at: "2026-04-22T23:30:52Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 1807184a085f4b54e1b722e02c1f47f059dc393a0ba7ecb0ec5903f74495267f
|
||||
source_hash: ffd539ad6544284a31bc32f2e506fa46b7ba70d2994ef80eb422ae6cb459d8fa
|
||||
source_path: plugins/codex-harness.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Каркас Codex
|
||||
# Harness Codex
|
||||
|
||||
Комплектний plugin `codex` дає OpenClaw змогу запускати вбудовані ходи агента через
|
||||
app-server Codex замість вбудованого каркаса PI.
|
||||
app-server Codex замість вбудованого harness PI.
|
||||
|
||||
Використовуйте це, коли хочете, щоб Codex керував низькорівневою сесією агента: виявленням
|
||||
моделей, нативним відновленням потоку, нативною Compaction і виконанням через app-server.
|
||||
OpenClaw і далі керує каналами чату, файлами сесій, вибором моделей, інструментами,
|
||||
погодженнями, доставкою медіа та видимим дзеркалом транскрипту.
|
||||
Використовуйте це, коли ви хочете, щоб Codex керував низькорівневою сесією агента: виявленням
|
||||
моделей, нативним відновленням потоку, нативною Compaction і виконанням app-server.
|
||||
OpenClaw, як і раніше, керує каналами чату, файлами сесій, вибором моделей, інструментами,
|
||||
погодженнями, доставленням медіа та видимим дзеркалом стенограми.
|
||||
|
||||
Нативні ходи Codex також поважають спільні plugin-хуки `before_prompt_build`,
|
||||
`before_compaction` і `after_compaction`, тож шими prompt і автоматизація з урахуванням
|
||||
Compaction можуть залишатися узгодженими з каркасом PI.
|
||||
Нативні ходи Codex також підтримують спільні хоки plugin `before_prompt_build`,
|
||||
`before_compaction` і `after_compaction`, тож шими підказок і
|
||||
автоматизація з урахуванням Compaction можуть залишатися узгодженими з harness PI.
|
||||
Нативні ходи Codex також підтримують спільні хоки plugin `before_prompt_build`,
|
||||
`before_compaction`, `after_compaction`, `llm_input`, `llm_output` і
|
||||
`agent_end`, тож шими підказок, автоматизація з урахуванням Compaction і
|
||||
спостерігачі життєвого циклу можуть залишатися узгодженими з harness PI.
|
||||
|
||||
Каркас вимкнений типово. Він вибирається лише тоді, коли plugin `codex` увімкнено і
|
||||
визначена модель є моделлю `codex/*`, або коли ви явно примусово задаєте
|
||||
`embeddedHarness.runtime: "codex"` чи `OPENCLAW_AGENT_RUNTIME=codex`.
|
||||
Якщо ви взагалі не налаштовуєте `codex/*`, наявні запуски PI, OpenAI, Anthropic, Gemini, local
|
||||
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:
|
||||
|
||||
| Посилання на модель | Шлях середовища виконання | Використовуйте, коли |
|
||||
| -------------------- | ------------------------------------------ | ------------------------------------------------------------------------ |
|
||||
| `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 без каркаса app-server Codex. |
|
||||
| `codex/gpt-5.4` | Комплектний провайдер Codex плюс каркас Codex | Вам потрібне нативне виконання через app-server 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. |
|
||||
| `codex/gpt-5.4` | Комплектний провайдер Codex плюс harness Codex | Вам потрібне нативне виконання app-server Codex для вбудованого ходу агента. |
|
||||
|
||||
Каркас Codex обробляє лише посилання на моделі `codex/*`. Наявні посилання `openai/*`,
|
||||
Harness Codex працює лише з посиланнями на моделі `codex/*`. Наявні посилання `openai/*`,
|
||||
`openai-codex/*`, Anthropic, Gemini, xAI, local і custom provider зберігають
|
||||
свої звичайні шляхи.
|
||||
|
||||
## Вимоги
|
||||
|
||||
- OpenClaw із доступним комплектним plugin `codex`.
|
||||
- app-server Codex версії `0.118.0` або новішої.
|
||||
- Codex app-server `0.118.0` або новіший.
|
||||
- Автентифікація Codex, доступна процесу app-server.
|
||||
|
||||
Plugin блокує старіші або безверсійні рукостискання app-server. Це гарантує, що
|
||||
OpenClaw працює в межах поверхні протоколу, з якою його було протестовано.
|
||||
Plugin блокує старіші або неверсіоновані handshake app-server. Це утримує
|
||||
OpenClaw у межах поверхні протоколу, з якою його було протестовано.
|
||||
|
||||
Для live- і Docker-smoke-тестів автентифікація зазвичай надходить із `OPENAI_API_KEY`, а також
|
||||
за потреби з файлів CLI Codex, таких як `~/.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.
|
||||
|
||||
## Мінімальна конфігурація
|
||||
|
||||
Використайте `codex/gpt-5.4`, увімкніть комплектний plugin і примусово задайте каркас `codex`:
|
||||
Використайте `codex/gpt-5.4`, увімкніть комплектний plugin і примусово задайте harness `codex`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -87,7 +91,7 @@ app-server Codex.
|
||||
}
|
||||
```
|
||||
|
||||
Якщо у вашій конфігурації використовується `plugins.allow`, також додайте туди `codex`:
|
||||
Якщо у вашій конфігурації використовується `plugins.allow`, додайте туди також `codex`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -103,12 +107,12 @@ app-server Codex.
|
||||
```
|
||||
|
||||
Установлення `agents.defaults.model` або моделі агента в `codex/<model>` також
|
||||
автоматично вмикає комплектний plugin `codex`. Явний запис plugin усе одно
|
||||
автоматично вмикає комплектний plugin `codex`. Явний запис plugin усе ще
|
||||
корисний у спільних конфігураціях, бо робить намір розгортання очевидним.
|
||||
|
||||
## Додайте Codex без заміни інших моделей
|
||||
|
||||
Залиште `runtime: "auto"`, якщо хочете використовувати Codex для моделей `codex/*` і PI для
|
||||
Залишайте `runtime: "auto"`, якщо хочете використовувати Codex для моделей `codex/*`, а PI — для
|
||||
всього іншого:
|
||||
|
||||
```json5
|
||||
@ -141,17 +145,17 @@ app-server Codex.
|
||||
}
|
||||
```
|
||||
|
||||
З такою структурою:
|
||||
За такої конфігурації:
|
||||
|
||||
- `/model codex` або `/model codex/gpt-5.4` використовує каркас 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 залишається каркасом сумісності.
|
||||
- Якщо вибрано не-Codex модель, PI залишається harness сумісності.
|
||||
|
||||
## Розгортання лише з Codex
|
||||
|
||||
Вимкніть резервний перехід на PI, якщо вам потрібно довести, що кожен вбудований хід агента
|
||||
використовує каркас Codex:
|
||||
Вимкніть резервний перехід на PI, якщо потрібно підтвердити, що кожен вбудований хід агента використовує
|
||||
harness Codex:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -167,7 +171,7 @@ app-server Codex.
|
||||
}
|
||||
```
|
||||
|
||||
Перевизначення через середовище:
|
||||
Перевизначення через змінні середовища:
|
||||
|
||||
```bash
|
||||
OPENCLAW_AGENT_RUNTIME=codex \
|
||||
@ -175,13 +179,13 @@ OPENCLAW_AGENT_HARNESS_FALLBACK=none \
|
||||
openclaw gateway run
|
||||
```
|
||||
|
||||
За вимкненого fallback OpenClaw завершується з помилкою на ранньому етапі, якщо plugin Codex вимкнено,
|
||||
потрібна модель не є посиланням `codex/*`, app-server занадто старий або
|
||||
Коли резервний перехід вимкнено, OpenClaw завершує роботу на ранньому етапі, якщо plugin Codex вимкнено,
|
||||
потрібна модель не є посиланням `codex/*`, app-server надто старий або
|
||||
app-server не може запуститися.
|
||||
|
||||
## Codex для окремого агента
|
||||
|
||||
Ви можете зробити один агент лише-Codex, тоді як типовий агент зберігатиме звичайний
|
||||
Ви можете зробити одного агента лише з Codex, тоді як агент за замовчуванням зберігатиме звичайний
|
||||
автовибір:
|
||||
|
||||
```json5
|
||||
@ -213,14 +217,14 @@ app-server не може запуститися.
|
||||
}
|
||||
```
|
||||
|
||||
Використовуйте звичайні команди сесії, щоб перемикати агентів і моделі. `/new` створює нову
|
||||
сесію OpenClaw, а каркас 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`
|
||||
@ -246,8 +250,8 @@ app-server не може запуститися.
|
||||
}
|
||||
```
|
||||
|
||||
Вимкніть виявлення, якщо хочете, щоб під час запуску не виконувалося зондування Codex і
|
||||
використовувався резервний каталог:
|
||||
Вимкніть виявлення, якщо хочете, щоб під час запуску не виконувалося опитування Codex і використовувався
|
||||
лише резервний каталог:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -266,20 +270,22 @@ app-server не може запуститися.
|
||||
}
|
||||
```
|
||||
|
||||
## З’єднання app-server і політика
|
||||
## Підключення app-server і політика
|
||||
|
||||
Типово plugin локально запускає Codex так:
|
||||
За замовчуванням plugin запускає Codex локально за допомогою:
|
||||
|
||||
```bash
|
||||
codex app-server --listen stdio://
|
||||
```
|
||||
|
||||
Типово OpenClaw запускає локальні сесії каркаса Codex повністю без обмежень:
|
||||
`approvalPolicy: "never"` і `sandbox: "danger-full-access"`. Це відповідає
|
||||
позиції довіреного локального оператора, яку використовує CLI Codex, і дозволяє автономним
|
||||
Heartbeat використовувати мережеві та shell-інструменти без очікування на невидимий нативний
|
||||
шлях погодження. Ви можете посилити цю політику, наприклад, спрямовуючи перевірки
|
||||
через guardian:
|
||||
За замовчуванням OpenClaw запускає локальні сесії harness Codex у режимі YOLO:
|
||||
`approvalPolicy: "never"`, `approvalsReviewer: "user"` і
|
||||
`sandbox: "danger-full-access"`. Це позиція довіреного локального оператора, яка використовується
|
||||
для автономних Heartbeat: Codex може користуватися shell- та network-інструментами без
|
||||
зупинки на нативних запитах погодження, на які нікому відповідати.
|
||||
|
||||
Щоб увімкнути погодження Codex із перевіркою Guardian, задайте `appServer.mode:
|
||||
"guardian"`:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -289,9 +295,7 @@ Heartbeat використовувати мережеві та shell-інстр
|
||||
enabled: true,
|
||||
config: {
|
||||
appServer: {
|
||||
approvalPolicy: "untrusted",
|
||||
approvalsReviewer: "guardian_subagent",
|
||||
sandbox: "workspace-write",
|
||||
mode: "guardian",
|
||||
serviceTier: "priority",
|
||||
},
|
||||
},
|
||||
@ -301,7 +305,46 @@ Heartbeat використовувати мережеві та shell-інстр
|
||||
}
|
||||
```
|
||||
|
||||
Для app-server, який уже працює, використовуйте транспорт WebSocket:
|
||||
Режим Guardian розгортається до:
|
||||
|
||||
```json5
|
||||
{
|
||||
plugins: {
|
||||
entries: {
|
||||
codex: {
|
||||
enabled: true,
|
||||
config: {
|
||||
appServer: {
|
||||
mode: "guardian",
|
||||
approvalPolicy: "on-request",
|
||||
approvalsReviewer: "guardian_subagent",
|
||||
sandbox: "workspace-write",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Guardian — це нативний рецензент погоджень Codex. Коли Codex просить вийти за межі
|
||||
sandbox, записати поза межами workspace або додати дозволи, такі як доступ до мережі,
|
||||
Codex спрямовує цей запит на погодження до підлеглого агента-рецензента, а не до підказки людині.
|
||||
Рецензент збирає контекст і застосовує рамки оцінки ризиків Codex, а потім
|
||||
схвалює або відхиляє конкретний запит. Guardian корисний, коли вам потрібно більше
|
||||
запобіжників, ніж у режимі YOLO, але водночас потрібно, щоб агенти та Heartbeat без нагляду
|
||||
могли просуватися далі.
|
||||
|
||||
Docker live harness містить перевірку Guardian, коли
|
||||
`OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1`. Він запускає harness Codex у
|
||||
режимі Guardian, перевіряє, що безпечну shell-команду з підвищеними правами схвалено, і
|
||||
перевіряє, що вивантаження фальшивого секрету до ненадійного зовнішнього призначення відхилено,
|
||||
щоб агент повернувся із запитом на явне погодження.
|
||||
|
||||
Окремі поля політики все одно мають пріоритет над `mode`, тож розширені розгортання можуть
|
||||
поєднувати цей preset із явними параметрами.
|
||||
|
||||
Для уже запущеного app-server використовуйте транспорт WebSocket:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -325,34 +368,39 @@ Heartbeat використовувати мережеві та shell-інстр
|
||||
|
||||
Підтримувані поля `appServer`:
|
||||
|
||||
| Поле | Типове значення | Значення |
|
||||
| ------------------- | ----------------------------------------- | ------------------------------------------------------------------------ |
|
||||
| `transport` | `"stdio"` | `"stdio"` запускає Codex; `"websocket"` підключається до `url`. |
|
||||
| `command` | `"codex"` | Виконуваний файл для транспорту stdio. |
|
||||
| `args` | `["app-server", "--listen", "stdio://"]` | Аргументи для транспорту stdio. |
|
||||
| `url` | не задано | URL WebSocket app-server. |
|
||||
| `authToken` | не задано | Bearer-токен для транспорту WebSocket. |
|
||||
| `headers` | `{}` | Додаткові заголовки WebSocket. |
|
||||
| `requestTimeoutMs` | `60000` | Тайм-аут для викликів control-plane app-server. |
|
||||
| `approvalPolicy` | `"never"` | Нативна політика погодження Codex, що надсилається під час start/resume/turn потоку. |
|
||||
| `sandbox` | `"danger-full-access"` | Нативний режим sandbox Codex, що надсилається під час start/resume потоку. |
|
||||
| `approvalsReviewer` | `"user"` | Використовуйте `"guardian_subagent"`, щоб guardian Codex перевіряв нативні погодження. |
|
||||
| `serviceTier` | не задано | Необов’язковий рівень сервісу Codex, наприклад `"priority"`. |
|
||||
| Поле | За замовчуванням | Значення |
|
||||
| ------------------- | ---------------------------------------- | --------------------------------------------------------------- |
|
||||
| `transport` | `"stdio"` | `"stdio"` запускає Codex; `"websocket"` підключається до `url`. |
|
||||
| `command` | `"codex"` | Виконуваний файл для транспорту stdio. |
|
||||
| `args` | `["app-server", "--listen", "stdio://"]` | Аргументи для транспорту stdio. |
|
||||
| `url` | не задано | URL app-server WebSocket. |
|
||||
| `authToken` | не задано | Bearer-токен для транспорту WebSocket. |
|
||||
| `headers` | `{}` | Додаткові заголовки WebSocket. |
|
||||
| `requestTimeoutMs` | `60000` | Тайм-аут для викликів control-plane до app-server. |
|
||||
| `mode` | `"yolo"` | Preset для виконання YOLO або з перевіркою Guardian. |
|
||||
| `approvalPolicy` | `"never"` | Нативна політика погоджень Codex, що передається під час start/resume/turn потоку. |
|
||||
| `sandbox` | `"danger-full-access"` | Нативний режим sandbox Codex, що передається під час start/resume. |
|
||||
| `approvalsReviewer` | `"user"` | Використовуйте `"guardian_subagent"`, щоб дозволити Codex Guardian перевіряти підказки. |
|
||||
| `serviceTier` | не задано | Необов’язковий рівень сервісу Codex, наприклад `"priority"`. |
|
||||
|
||||
Старі змінні середовища все ще працюють як резервні варіанти для локального тестування, коли
|
||||
Старіші змінні середовища все ще працюють як резервні варіанти для локального тестування, коли
|
||||
відповідне поле конфігурації не задано:
|
||||
|
||||
- `OPENCLAW_CODEX_APP_SERVER_BIN`
|
||||
- `OPENCLAW_CODEX_APP_SERVER_ARGS`
|
||||
- `OPENCLAW_CODEX_APP_SERVER_MODE=yolo|guardian`
|
||||
- `OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY`
|
||||
- `OPENCLAW_CODEX_APP_SERVER_SANDBOX`
|
||||
- `OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1`
|
||||
|
||||
Для відтворюваних розгортань краще використовувати конфігурацію.
|
||||
`OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1` видалено. Натомість використовуйте
|
||||
`plugins.entries.codex.config.appServer.mode: "guardian"` або
|
||||
`OPENCLAW_CODEX_APP_SERVER_MODE=guardian` для разового локального тестування. Конфігурація є
|
||||
бажаною для відтворюваних розгортань, бо зберігає поведінку plugin у тому самому
|
||||
перевіреному файлі, що й решту налаштувань harness Codex.
|
||||
|
||||
## Поширені рецепти
|
||||
|
||||
Локальний Codex зі стандартним транспортом stdio:
|
||||
Локальний Codex із транспортом stdio за замовчуванням:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -366,7 +414,7 @@ Heartbeat використовувати мережеві та shell-інстр
|
||||
}
|
||||
```
|
||||
|
||||
Перевірка каркаса лише-Codex із вимкненим резервним переходом на PI:
|
||||
Перевірка harness лише з Codex, із вимкненим резервним переходом на PI:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -383,7 +431,7 @@ Heartbeat використовувати мережеві та shell-інстр
|
||||
}
|
||||
```
|
||||
|
||||
Погодження Codex, перевірені guardian:
|
||||
Погодження Codex із перевіркою Guardian:
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -393,6 +441,7 @@ Heartbeat використовувати мережеві та shell-інстр
|
||||
enabled: true,
|
||||
config: {
|
||||
appServer: {
|
||||
mode: "guardian",
|
||||
approvalPolicy: "on-request",
|
||||
approvalsReviewer: "guardian_subagent",
|
||||
sandbox: "workspace-write",
|
||||
@ -427,87 +476,87 @@ Heartbeat використовувати мережеві та shell-інстр
|
||||
}
|
||||
```
|
||||
|
||||
Перемикання моделей і далі контролюється 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 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 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` запускає нативний review Codex для приєднаного потоку.
|
||||
- `/codex account` показує стан облікового запису й лімітів швидкості.
|
||||
- `/codex mcp` показує стан серверів MCP app-server Codex.
|
||||
- `/codex skills` показує Skills app-server Codex.
|
||||
|
||||
`/codex resume` записує той самий sidecar-файл прив’язки, який каркас використовує для
|
||||
звичайних ходів. У наступному повідомленні OpenClaw відновлює цей потік Codex, передає
|
||||
поточну вибрану в OpenClaw модель `codex/*` в app-server і зберігає ввімкненою
|
||||
`/codex resume` записує той самий sidecar-файл прив’язки, який harness використовує для
|
||||
звичайних ходів. У наступному повідомленні OpenClaw відновлює цей потік Codex, передає поточну
|
||||
вибрану модель OpenClaw `codex/*` до app-server і зберігає увімкнену
|
||||
розширену історію.
|
||||
|
||||
Поверхня команд вимагає app-server Codex версії `0.118.0` або новішої. Окремі
|
||||
методи керування позначаються як `unsupported by this Codex app-server`, якщо
|
||||
майбутній або кастомний app-server не надає цей JSON-RPC-метод.
|
||||
Поверхня команд вимагає Codex app-server `0.118.0` або новішої версії. Про окремі
|
||||
методи керування повідомляється як `unsupported by this Codex app-server`, якщо
|
||||
майбутній або кастомний app-server не надає цей метод JSON-RPC.
|
||||
|
||||
## Інструменти, медіа та Compaction
|
||||
|
||||
Каркас Codex змінює лише низькорівневий виконавець вбудованого агента.
|
||||
Harness Codex змінює лише низькорівневий виконавець вбудованого агента.
|
||||
|
||||
OpenClaw і далі формує список інструментів і отримує динамічні результати інструментів із
|
||||
каркаса. Текст, зображення, відео, музика, TTS, погодження та вивід інструментів повідомлень
|
||||
і далі проходять через звичайний шлях доставки OpenClaw.
|
||||
OpenClaw, як і раніше, формує список інструментів і отримує динамічні результати інструментів від
|
||||
harness. Текст, зображення, відео, музика, TTS, погодження та вивід інструментів повідомлень
|
||||
і далі проходять через звичайний шлях доставлення OpenClaw.
|
||||
|
||||
Коли вибрана модель використовує каркас Codex, нативна Compaction потоку
|
||||
делегується app-server Codex. OpenClaw зберігає дзеркало транскрипту для історії каналу,
|
||||
пошуку, `/new`, `/reset` і майбутнього перемикання моделей або каркасів. Дзеркало
|
||||
включає prompt користувача, фінальний текст асистента та полегшені записи міркувань
|
||||
або плану Codex, коли їх видає app-server. Наразі OpenClaw записує лише сигнали
|
||||
початку та завершення нативної Compaction. Він ще не показує людинозрозумілий
|
||||
підсумок Compaction або придатний для аудиту список записів, які Codex
|
||||
залишив після Compaction.
|
||||
Коли вибрана модель використовує harness Codex, нативна Compaction потоку
|
||||
делегується app-server Codex. OpenClaw зберігає дзеркало стенограми для історії каналу,
|
||||
пошуку, `/new`, `/reset` і майбутнього перемикання моделей або harness. Дзеркало
|
||||
містить підказку користувача, фінальний текст помічника та полегшені записи міркувань або плану Codex,
|
||||
коли їх надсилає app-server. Наразі OpenClaw записує лише сигнали початку й завершення
|
||||
нативної Compaction. Він поки що не надає
|
||||
людинозрозумілого підсумку Compaction або придатного до аудиту списку того, які записи Codex
|
||||
зберіг після Compaction.
|
||||
|
||||
Генерація медіа не потребує PI. Генерація зображень, відео, музики, PDF, TTS і
|
||||
розуміння медіа й далі використовують відповідні налаштування провайдера/моделі, як-от
|
||||
Генерація медіа не потребує PI. Зображення, відео, музика, PDF, TTS і розуміння медіа
|
||||
і далі використовують відповідні налаштування провайдера/моделі, такі як
|
||||
`agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` і
|
||||
`messages.tts`.
|
||||
|
||||
## Усунення неполадок
|
||||
## Усунення проблем
|
||||
|
||||
**Codex не з’являється в `/model`:** увімкніть `plugins.entries.codex.enabled`,
|
||||
задайте посилання на модель `codex/*` або перевірте, чи `plugins.allow` не виключає `codex`.
|
||||
|
||||
**OpenClaw використовує PI замість Codex:** якщо жоден каркас Codex не обробляє запуск,
|
||||
OpenClaw може використовувати PI як backend сумісності. Установіть
|
||||
**OpenClaw використовує PI замість Codex:** якщо жоден harness Codex не обробляє запуск,
|
||||
OpenClaw може використовувати PI як backend сумісності. Задайте
|
||||
`embeddedHarness.runtime: "codex"`, щоб примусово вибрати Codex під час тестування, або
|
||||
`embeddedHarness.fallback: "none"`, щоб завершуватися з помилкою, коли жоден plugin-каркас не підходить. Щойно
|
||||
вибрано app-server Codex, його помилки передаються безпосередньо без додаткової
|
||||
конфігурації fallback.
|
||||
`embeddedHarness.fallback: "none"`, щоб завершуватися з помилкою, коли жоден plugin harness не підходить. Щойно
|
||||
вибрано app-server Codex, його збої відображаються безпосередньо без додаткової
|
||||
конфігурації резервного переходу.
|
||||
|
||||
**app-server відхиляється:** оновіть Codex, щоб рукостискання app-server
|
||||
повідомляло версію `0.118.0` або новішу.
|
||||
**app-server відхиляється:** оновіть Codex, щоб handshake app-server
|
||||
повідомляв версію `0.118.0` або новішу.
|
||||
|
||||
**Виявлення моделей повільне:** зменште `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:** це очікувана поведінка. Каркас Codex обробляє лише
|
||||
посилання на моделі `codex/*`.
|
||||
**Не-Codex модель використовує PI:** це очікувано. Harness Codex працює лише з
|
||||
посиланнями на моделі `codex/*`.
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Plugins каркаса агента](/uk/plugins/sdk-agent-harness)
|
||||
- [Plugin-и harness агента](/uk/plugins/sdk-agent-harness)
|
||||
- [Провайдери моделей](/uk/concepts/model-providers)
|
||||
- [Довідник із конфігурації](/uk/gateway/configuration-reference)
|
||||
- [Тестування](/uk/help/testing#live-codex-app-server-harness-smoke)
|
||||
|
||||
@ -1,51 +1,51 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви змінюєте вбудоване середовище виконання агента або реєстр обв’язки агента
|
||||
- Ви змінюєте вбудоване середовище виконання агента або реєстр обв’язок агента
|
||||
- Ви реєструєте обв’язку агента з bundled або trusted plugin
|
||||
- Вам потрібно зрозуміти, як plugin Codex пов’язаний із постачальниками моделей
|
||||
sidebarTitle: Agent Harness
|
||||
summary: Експериментальна поверхня SDK для plugin, які замінюють низькорівневий вбудований виконавець агента
|
||||
title: Plugin обв’язки агента
|
||||
summary: Експериментальна поверхня SDK для plugins, які замінюють низькорівневий вбудований виконавець агента
|
||||
title: Plugins обв’язки агента
|
||||
x-i18n:
|
||||
generated_at: "2026-04-22T05:35:02Z"
|
||||
generated_at: "2026-04-22T23:30:48Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 728fef59ae3cce29a3348842820f1f71a2eac98ae6b276179bce6c85d16613df
|
||||
source_hash: efaecca18210af0e9e641bd888c1edb55e08e96299158ff021d6c2dd0218ec25
|
||||
source_path: plugins/sdk-agent-harness.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Plugin обв’язки агента
|
||||
# Plugins обв’язки агента
|
||||
|
||||
**Обв’язка агента** — це низькорівневий виконавець одного підготовленого ходу агента OpenClaw. Це не постачальник моделей, не канал і не реєстр інструментів.
|
||||
|
||||
Використовуйте цю поверхню лише для bundled або trusted native plugin. Контракт усе ще експериментальний, оскільки типи параметрів навмисно віддзеркалюють поточний вбудований виконавець.
|
||||
Використовуйте цю поверхню лише для bundled або trusted native plugins. Контракт усе ще експериментальний, тому що типи параметрів навмисно віддзеркалюють поточний вбудований виконавець.
|
||||
|
||||
## Коли використовувати обв’язку
|
||||
|
||||
Реєструйте обв’язку агента, коли сімейство моделей має власне native середовище виконання сесії і звичайний транспорт постачальника OpenClaw є хибною абстракцією.
|
||||
Реєструйте обв’язку агента, коли сімейство моделей має власне native session runtime і звичайний транспорт постачальника OpenClaw є хибною абстракцією.
|
||||
|
||||
Приклади:
|
||||
|
||||
- native сервер coding-agent, який керує потоками та Compaction
|
||||
- локальний CLI або демон, який має транслювати native події плану/міркувань/інструментів
|
||||
- native server кодувального агента, який керує потоками та Compaction
|
||||
- локальний CLI або демон, який має потоково передавати native plan/reasoning/tool events
|
||||
- середовище виконання моделі, якому потрібен власний resume id на додачу до транскрипту сесії OpenClaw
|
||||
|
||||
**Не** реєструйте обв’язку лише для того, щоб додати новий API LLM. Для звичайних HTTP або WebSocket API моделей створіть [plugin постачальника](/uk/plugins/sdk-provider-plugins).
|
||||
**Не** реєструйте обв’язку лише для додавання нового API LLM. Для звичайних HTTP або WebSocket API моделей створіть [provider plugin](/uk/plugins/sdk-provider-plugins).
|
||||
|
||||
## Що все ще належить core
|
||||
## Чим усе ще керує ядро
|
||||
|
||||
Перш ніж буде вибрано обв’язку, OpenClaw уже визначив:
|
||||
До того, як обв’язка буде вибрана, OpenClaw уже визначив:
|
||||
|
||||
- постачальника і модель
|
||||
- стан auth середовища виконання
|
||||
- рівень thinking і бюджет контексту
|
||||
- постачальника й модель
|
||||
- стан автентифікації середовища виконання
|
||||
- рівень мислення та бюджет контексту
|
||||
- файл транскрипту/сесії OpenClaw
|
||||
- workspace, sandbox і політику інструментів
|
||||
- callback-функції відповіді каналу та callback-функції трансляції
|
||||
- політику fallback моделі та живого перемикання моделі
|
||||
- робочий простір, sandbox і політику інструментів
|
||||
- зворотні виклики відповіді каналу та потокові зворотні виклики
|
||||
- політику резервної моделі та live-перемикання моделей
|
||||
|
||||
Цей поділ є навмисним. Обв’язка виконує підготовлену спробу; вона не вибирає постачальників, не замінює доставку каналу і не перемикає моделі непомітно.
|
||||
Такий поділ є навмисним. Обв’язка виконує підготовлену спробу; вона не вибирає постачальників, не замінює доставку через канал і не перемикає моделі непомітно.
|
||||
|
||||
## Зареєструвати обв’язку
|
||||
|
||||
@ -89,45 +89,50 @@ OpenClaw вибирає обв’язку після визначення пос
|
||||
|
||||
1. `OPENCLAW_AGENT_RUNTIME=<id>` примусово вибирає зареєстровану обв’язку з цим id.
|
||||
2. `OPENCLAW_AGENT_RUNTIME=pi` примусово вибирає вбудовану обв’язку PI.
|
||||
3. `OPENCLAW_AGENT_RUNTIME=auto` запитує зареєстровані обв’язки, чи підтримують вони визначеного постачальника/модель.
|
||||
4. Якщо жодна зареєстрована обв’язка не підходить, OpenClaw використовує PI, якщо fallback до PI не вимкнено.
|
||||
3. `OPENCLAW_AGENT_RUNTIME=auto` запитує в зареєстрованих обв’язок, чи підтримують вони визначеного постачальника/модель.
|
||||
4. Якщо жодна зареєстрована обв’язка не підходить, OpenClaw використовує PI, якщо резервний перехід на PI не вимкнено.
|
||||
|
||||
Збої обв’язок plugin відображаються як збої виконання. У режимі `auto` fallback до PI використовується лише тоді, коли жодна зареєстрована обв’язка plugin не підтримує визначеного постачальника/модель. Щойно обв’язка plugin заявила про виконання, OpenClaw не повторює той самий хід через PI, оскільки це може змінити семантику auth/середовища виконання або продублювати побічні ефекти.
|
||||
Збої plugin-обв’язки відображаються як збої виконання. У режимі `auto` резервний перехід на PI використовується лише тоді, коли жодна зареєстрована plugin-обв’язка не підтримує визначеного постачальника/модель. Щойно plugin-обв’язка взяла виконання на себе, OpenClaw не повторює той самий хід через PI, тому що це може змінити семантику автентифікації/середовища виконання або продублювати побічні ефекти.
|
||||
|
||||
Bundled plugin Codex реєструє `codex` як свій id обв’язки. Core розглядає це як звичайний id обв’язки plugin; специфічні для Codex псевдоніми мають належати plugin або конфігурації оператора, а не спільному селектору середовища виконання.
|
||||
Bundled plugin Codex реєструє `codex` як id своєї обв’язки. Ядро розглядає це як звичайний id plugin-обв’язки; специфічні для Codex псевдоніми мають належати plugin або конфігурації оператора, а не спільному селектору середовища виконання.
|
||||
|
||||
## Поєднання постачальника й обв’язки
|
||||
|
||||
Більшість обв’язок також мають реєструвати постачальника. Постачальник робить посилання на моделі, стан auth, метадані моделі й вибір `/model` видимими для решти OpenClaw. Потім обв’язка заявляє про цей постачальник у `supports(...)`.
|
||||
Більшість обв’язок також мають реєструвати постачальника. Постачальник робить посилання на моделі, стан автентифікації, метадані моделей і вибір `/model` видимими для решти OpenClaw. Потім обв’язка заявляє про підтримку цього постачальника в `supports(...)`.
|
||||
|
||||
Bundled plugin Codex дотримується цього шаблону:
|
||||
|
||||
- id постачальника: `codex`
|
||||
- посилання користувацьких моделей: `codex/gpt-5.4`, `codex/gpt-5.2` або інша модель, яку повертає сервер застосунку Codex
|
||||
- посилання користувача на моделі: `codex/gpt-5.4`, `codex/gpt-5.2` або інша модель, повернена Codex app server
|
||||
- id обв’язки: `codex`
|
||||
- auth: синтетична доступність постачальника, оскільки обв’язка Codex керує native входом/сесією Codex
|
||||
- запит до app-server: OpenClaw надсилає Codex базовий id моделі й дозволяє обв’язці спілкуватися з native протоколом app-server
|
||||
- автентифікація: синтетична доступність постачальника, тому що обв’язка Codex керує native login/session Codex
|
||||
- запит до app-server: OpenClaw надсилає в Codex bare model id і дозволяє обв’язці працювати з native app-server protocol
|
||||
|
||||
Plugin Codex є адитивним. Звичайні посилання `openai/gpt-*` залишаються посиланнями постачальника OpenAI і продовжують використовувати звичайний шлях постачальника OpenClaw. Вибирайте `codex/gpt-*`, коли вам потрібні auth під керуванням Codex, виявлення моделей Codex, native потоки та виконання через app-server Codex. `/model` може перемикатися між моделями Codex, які повертає app-server Codex, без потреби в облікових даних постачальника OpenAI.
|
||||
Plugin Codex є адитивним. Звичайні посилання `openai/gpt-*` лишаються посиланнями постачальника OpenAI й далі використовують звичайний шлях постачальника OpenClaw. Вибирайте `codex/gpt-*`, коли вам потрібні керована Codex автентифікація, виявлення моделей Codex, native threads і виконання через Codex app-server. `/model` може перемикатися між моделями Codex, які повертає Codex app server, без потреби в облікових даних постачальника OpenAI.
|
||||
|
||||
Щоб дізнатися про налаштування оператора, приклади префіксів моделей і конфігурації лише для Codex, див. [Обв’язка Codex](/uk/plugins/codex-harness).
|
||||
Щоб дізнатися про налаштування для операторів, приклади префіксів моделей і конфігурації лише для Codex, див. [Codex Harness](/uk/plugins/codex-harness).
|
||||
|
||||
OpenClaw вимагає Codex app-server `0.118.0` або новішої версії. Plugin Codex перевіряє initialize handshake app-server і блокує старіші або неверсіоновані сервери, щоб OpenClaw працював лише з тією поверхнею протоколу, з якою його було протестовано.
|
||||
OpenClaw вимагає Codex app-server `0.118.0` або новішої версії. Plugin Codex перевіряє initialize handshake app-server і блокує старіші сервери або сервери без версії, щоб OpenClaw працював лише з тією поверхнею протоколу, з якою його було протестовано.
|
||||
|
||||
### Middleware tool-result Codex app-server
|
||||
|
||||
Bundled plugins також можуть підключати middleware `tool_result`, специфічний для Codex app-server, через `api.registerCodexAppServerExtensionFactory(...)`, коли їхній manifest оголошує `contracts.embeddedExtensionFactories: ["codex-app-server"]`.
|
||||
Це seam trusted-plugin для асинхронних перетворень tool-result, які мають виконуватися всередині native обв’язки Codex до того, як вивід інструмента буде спроєктовано назад у транскрипт OpenClaw.
|
||||
|
||||
### Режим native обв’язки Codex
|
||||
|
||||
Bundled обв’язка `codex` — це native режим Codex для вбудованих ходів агента OpenClaw. Спочатку увімкніть bundled plugin `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/*` використовує bundled постачальник Codex і маршрутизує хід через app-server Codex.
|
||||
- `codex/*` використовує bundled постачальника Codex і маршрутизує хід через Codex app-server.
|
||||
|
||||
Коли цей режим працює, Codex керує native id потоку, поведінкою resume, Compaction і виконанням app-server. OpenClaw усе ще керує каналом чату, видимим дзеркалом транскрипту, політикою інструментів, схваленнями, доставкою медіа та вибором сесії. Використовуйте `embeddedHarness.runtime: "codex"` разом із `embeddedHarness.fallback: "none"`, коли вам потрібно довести, що лише шлях app-server Codex може заявити про виконання. Ця конфігурація є лише захистом вибору: збої app-server Codex і так завершуються помилкою напряму, а не повторною спробою через PI.
|
||||
Коли цей режим виконується, Codex керує native thread id, поведінкою resume, Compaction і виконанням app-server. OpenClaw усе ще керує каналом чату, видимим дзеркалом транскрипту, політикою інструментів, підтвердженнями, доставкою медіа та вибором сесії. Використовуйте `embeddedHarness.runtime: "codex"` разом із `embeddedHarness.fallback: "none"`, коли вам потрібно довести, що лише шлях Codex app-server може взяти виконання на себе. Ця конфігурація є лише захистом вибору: збої Codex app-server уже напряму завершуються помилкою замість повторної спроби через PI.
|
||||
|
||||
## Вимкнути fallback до PI
|
||||
## Вимкнути резервний перехід на PI
|
||||
|
||||
За замовчуванням OpenClaw запускає вбудованих агентів із `agents.defaults.embeddedHarness`, встановленим у `{ runtime: "auto", fallback: "pi" }`. У режимі `auto` зареєстровані обв’язки plugin можуть заявляти про пару постачальник/модель. Якщо жодна не підходить, OpenClaw повертається до PI.
|
||||
За замовчуванням OpenClaw запускає вбудованих агентів із `agents.defaults.embeddedHarness`, встановленим у `{ runtime: "auto", fallback: "pi" }`. У режимі `auto` зареєстровані plugin-обв’язки можуть взяти на себе пару постачальник/модель. Якщо жодна не підходить, OpenClaw переходить на PI.
|
||||
|
||||
Установіть `fallback: "none"`, коли вам потрібно, щоб відсутність вибору обв’язки plugin завершувалася помилкою замість використання PI. Збої вже вибраних обв’язок plugin і так призводять до жорсткої помилки. Це не блокує явний `runtime: "pi"` або `OPENCLAW_AGENT_RUNTIME=pi`.
|
||||
Установіть `fallback: "none"`, коли вам потрібно, щоб відсутність вибору plugin-обв’язки завершувалася помилкою замість використання PI. Збої вже вибраних plugin-обв’язок і так завершуються жорсткою помилкою. Це не блокує явний `runtime: "pi"` або `OPENCLAW_AGENT_RUNTIME=pi`.
|
||||
|
||||
Для вбудованих запусків лише з Codex:
|
||||
|
||||
@ -145,7 +150,7 @@ Bundled обв’язка `codex` — це native режим Codex для вбу
|
||||
}
|
||||
```
|
||||
|
||||
Якщо ви хочете, щоб будь-яка зареєстрована обв’язка plugin могла заявляти про відповідні моделі, але ніколи не хочете, щоб OpenClaw непомітно повертався до PI, залиште `runtime: "auto"` і вимкніть fallback:
|
||||
Якщо ви хочете, щоб будь-яка зареєстрована plugin-обв’язка брала на себе відповідні моделі, але ніколи не хочете, щоб OpenClaw непомітно переходив на PI, залиште `runtime: "auto"` і вимкніть резервний перехід:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -185,7 +190,7 @@ Bundled обв’язка `codex` — це native режим Codex для вбу
|
||||
}
|
||||
```
|
||||
|
||||
`OPENCLAW_AGENT_RUNTIME` усе ще перевизначає налаштоване середовище виконання. Використовуйте `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб вимкнути fallback до PI з оточення.
|
||||
`OPENCLAW_AGENT_RUNTIME` усе ще перевизначає налаштоване середовище виконання. Використовуйте `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб вимкнути резервний перехід на PI через середовище.
|
||||
|
||||
```bash
|
||||
OPENCLAW_AGENT_RUNTIME=codex \
|
||||
@ -193,39 +198,41 @@ OPENCLAW_AGENT_HARNESS_FALLBACK=none \
|
||||
openclaw gateway run
|
||||
```
|
||||
|
||||
Якщо fallback вимкнено, сесія завершується помилкою рано, коли запитана обв’язка не зареєстрована, не підтримує визначеного постачальника/модель або завершується помилкою до створення побічних ефектів ходу. Це зроблено навмисно для розгортань лише з Codex і для live-тестів, які мають довести, що шлях app-server Codex справді використовується.
|
||||
Якщо резервний перехід вимкнено, сесія завершується помилкою рано, коли запитана обв’язка не зареєстрована, не підтримує визначеного постачальника/модель або завершується помилкою до створення побічних ефектів ходу. Це навмисно для розгортань лише з Codex і для live-тестів, які мають довести, що шлях Codex app-server справді використовується.
|
||||
|
||||
Це налаштування керує лише вбудованою обв’язкою агента. Воно не вимикає маршрутизацію моделей постачальників для image, video, music, TTS, PDF або інших специфічних для постачальника типів.
|
||||
Цей параметр керує лише вбудованою обв’язкою агента. Він не вимикає маршрутизацію image, video, music, TTS, PDF або іншої модельної маршрутизації, специфічної для постачальника.
|
||||
|
||||
## Native сесії та дзеркало транскрипту
|
||||
## Native sessions і дзеркало транскрипту
|
||||
|
||||
Обв’язка може зберігати native id сесії, id потоку або токен resume на боці демона. Явно пов’язуйте цю прив’язку із сесією OpenClaw і продовжуйте віддзеркалювати видимий для користувача вивід assistant/tool у транскрипт OpenClaw.
|
||||
Обв’язка може зберігати native session id, thread id або daemon-side resume token.
|
||||
Явно зберігайте цю прив’язку пов’язаною із сесією OpenClaw і продовжуйте дзеркалити видимий користувачеві вивід assistant/tool у транскрипт OpenClaw.
|
||||
|
||||
Транскрипт OpenClaw залишається шаром сумісності для:
|
||||
|
||||
- видимої в каналі історії сесії
|
||||
- пошуку та індексації транскрипту
|
||||
- повернення до вбудованої обв’язки PI на пізнішому ході
|
||||
- узагальненої поведінки `/new`, `/reset` і видалення сесії
|
||||
- пошуку та індексації транскриптів
|
||||
- перемикання назад на вбудовану обв’язку PI на наступному ході
|
||||
- загальної поведінки `/new`, `/reset` і видалення сесії
|
||||
|
||||
Якщо ваша обв’язка зберігає sidecar-прив’язку, реалізуйте `reset(...)`, щоб OpenClaw міг очистити її, коли пов’язану сесію OpenClaw скинуто.
|
||||
Якщо ваша обв’язка зберігає sidecar-прив’язку, реалізуйте `reset(...)`, щоб OpenClaw міг очистити її, коли пов’язану сесію OpenClaw буде скинуто.
|
||||
|
||||
## Результати інструментів і медіа
|
||||
|
||||
Core формує список інструментів OpenClaw і передає його в підготовлену спробу. Коли обв’язка виконує динамічний виклик інструмента, повертайте результат інструмента назад через форму результату обв’язки замість того, щоб самостійно надсилати медіа в канал.
|
||||
Ядро створює список інструментів OpenClaw і передає його в підготовлену спробу.
|
||||
Коли обв’язка виконує dynamic tool call, поверніть результат інструмента назад через форму результату обв’язки замість самостійного надсилання канального медіа.
|
||||
|
||||
Це зберігає text, image, video, music, TTS, approval і виводи інструментів обміну повідомленнями на тому самому шляху доставки, що й для запусків на базі PI.
|
||||
Це зберігає text, image, video, music, TTS, approval і виводи messaging-tool на тому самому шляху доставки, що й у запусків на базі PI.
|
||||
|
||||
## Поточні обмеження
|
||||
|
||||
- Публічний шлях імпорту є узагальненим, але деякі псевдоніми типів спроб/результатів усе ще містять назви `Pi` заради сумісності.
|
||||
- Встановлення сторонніх обв’язок є експериментальним. Надавайте перевагу plugin постачальників, доки вам не знадобиться native середовище виконання сесії.
|
||||
- Перемикання обв’язок між ходами підтримується. Не перемикайте обв’язки посеред ходу після того, як уже почалися native інструменти, схвалення, текст assistant або надсилання повідомлень.
|
||||
- Публічний шлях імпорту є загальним, але деякі псевдоніми типів attempt/result усе ще містять назви `Pi` для сумісності.
|
||||
- Встановлення сторонніх обв’язок є експериментальним. Віддавайте перевагу provider plugins, доки вам не знадобиться native session runtime.
|
||||
- Перемикання обв’язок між ходами підтримується. Не перемикайте обв’язки посеред ходу після того, як уже почалися native tools, approvals, текст assistant або надсилання повідомлень.
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Огляд SDK](/uk/plugins/sdk-overview)
|
||||
- [Runtime Helpers](/uk/plugins/sdk-runtime)
|
||||
- [Plugin постачальника](/uk/plugins/sdk-provider-plugins)
|
||||
- [Обв’язка Codex](/uk/plugins/codex-harness)
|
||||
- [Допоміжні засоби середовища виконання](/uk/plugins/sdk-runtime)
|
||||
- [Provider Plugins](/uk/plugins/sdk-provider-plugins)
|
||||
- [Codex Harness](/uk/plugins/codex-harness)
|
||||
- [Постачальники моделей](/uk/concepts/model-providers)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user