From bfb0cd71db8aa7212b9be30844072510fbd0b7c2 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Sat, 2 May 2026 08:26:35 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/gateway/cli-backends.md | 285 ++++++++++++++++---------------- 1 file changed, 145 insertions(+), 140 deletions(-) diff --git a/docs/uk/gateway/cli-backends.md b/docs/uk/gateway/cli-backends.md index 2be65b153..c826ef0be 100644 --- a/docs/uk/gateway/cli-backends.md +++ b/docs/uk/gateway/cli-backends.md @@ -1,38 +1,38 @@ --- read_when: - Вам потрібен надійний резервний варіант, коли постачальники API дають збій - - Ви запускаєте Codex CLI або інші локальні CLI для ШІ й хочете повторно використовувати їх - - Ви хочете зрозуміти loopback-міст MCP для доступу до інструментів бекенда CLI -summary: 'Бекенди CLI: локальний резервний варіант AI CLI з необов’язковим мостом інструментів MCP' + - Ви запускаєте Codex CLI або інші локальні CLI зі ШІ та хочете повторно використовувати їх + - Ви хочете зрозуміти loopback-міст MCP для доступу до інструментів бекенду CLI +summary: 'Бекенди CLI: локальний резервний варіант CLI для ШІ з необов’язковим мостом інструментів MCP' title: Бекенди CLI x-i18n: - generated_at: "2026-04-28T11:09:59Z" + generated_at: "2026-05-02T08:25:28Z" model: gpt-5.5 provider: openai - source_hash: 438862ed127a823dcdedc4aacb77b2facb13caa08f7986ef8402833777b6574e + source_hash: f343469d6a42dc6146196355dc2ba3feed045515c3d8446941b90971aadc9a16 source_path: gateway/cli-backends.md workflow: 16 --- OpenClaw може запускати **локальні AI CLI** як **текстовий резервний варіант**, коли API-провайдери недоступні, -мають обмеження частоти запитів або тимчасово працюють некоректно. Це навмисно консервативний підхід: +обмежені за лімітом запитів або тимчасово працюють некоректно. Це навмисно консервативний підхід: -- **Інструменти OpenClaw не впроваджуються напряму**, але бекенди з `bundleMcp: true` - можуть отримувати інструменти Gateway через loopback MCP-міст. -- **Потокове передавання JSONL** для CLI, які це підтримують. -- **Сесії підтримуються** (тому наступні звернення залишаються узгодженими). -- **Зображення можна передавати далі**, якщо CLI приймає шляхи до зображень. +- **Інструменти OpenClaw не ін’єктуються напряму**, але бекенди з `bundleMcp: true` + можуть отримувати інструменти gateway через loopback MCP-міст. +- **JSONL-стримінг** для CLI, які його підтримують. +- **Сесії підтримуються** (тому подальші ходи залишаються узгодженими). +- **Зображення можна передавати наскрізно**, якщо CLI приймає шляхи до зображень. -Це задумано як **запобіжний механізм**, а не основний шлях. Використовуйте його, коли +Це розроблено як **запобіжний механізм**, а не як основний шлях. Використовуйте його, коли вам потрібні текстові відповіді, що «завжди працюють», без залежності від зовнішніх API. -Якщо вам потрібне повноцінне середовище запуску з керуванням сесіями ACP, фоновими завданнями, -прив’язкою потоків/розмов і постійними зовнішніми сесіями кодування, використовуйте -[Агенти ACP](/uk/tools/acp-agents). CLI-бекенди не є ACP. +Якщо вам потрібне повноцінне середовище виконання harness із керуванням сесіями ACP, фоновими завданнями, +прив’язкою потоків/розмов і постійними зовнішніми сесіями кодування, натомість використовуйте +[ACP Agents](/uk/tools/acp-agents). CLI-бекенди не є ACP. -## Швидкий старт для початківців +## Простий швидкий старт для початківців -Ви можете використовувати Codex CLI **без будь-якої конфігурації** (вбудований OpenAI plugin +Ви можете використовувати Codex CLI **без жодної конфігурації** (вбудований OpenAI Plugin реєструє стандартний бекенд): ```bash @@ -56,16 +56,16 @@ openclaw agent --message "hi" --model codex-cli/gpt-5.5 } ``` -Ось і все. Жодних ключів, жодної додаткової конфігурації автентифікації поза самим CLI не потрібно. +Це все. Жодних ключів, жодної додаткової конфігурації автентифікації, окрім самого CLI, не потрібно. Якщо ви використовуєте вбудований CLI-бекенд як **основного провайдера повідомлень** на -хості gateway, OpenClaw тепер автоматично завантажує відповідний вбудований plugin, коли ваша конфігурація -явно посилається на цей бекенд у model ref або в +gateway-хості, OpenClaw тепер автоматично завантажує вбудований Plugin-власник, коли ваша конфігурація +явно посилається на цей бекенд у посиланні на модель або в `agents.defaults.cliBackends`. ## Використання як резервного варіанта -Додайте CLI-бекенд до списку резервних варіантів, щоб він запускався лише тоді, коли основні моделі не працюють: +Додайте CLI-бекенд до списку резервних варіантів, щоб він запускався лише тоді, коли основні моделі не спрацюють: ```json5 { @@ -86,8 +86,8 @@ openclaw agent --message "hi" --model codex-cli/gpt-5.5 Примітки: -- Якщо ви використовуєте `agents.defaults.models` (список дозволених), потрібно також додати туди моделі вашого CLI-бекенда. -- Якщо основний провайдер не спрацює (автентифікація, обмеження частоти, тайм-аути), OpenClaw +- Якщо ви використовуєте `agents.defaults.models` (allowlist), ви також маєте включити туди моделі свого CLI-бекенда. +- Якщо основний провайдер не спрацює (автентифікація, ліміти запитів, тайм-аути), OpenClaw спробує CLI-бекенд наступним. ## Огляд конфігурації @@ -98,8 +98,8 @@ openclaw agent --message "hi" --model codex-cli/gpt-5.5 agents.defaults.cliBackends ``` -Ключем кожного запису є **ідентифікатор провайдера** (наприклад, `codex-cli`, `my-cli`). -Ідентифікатор провайдера стає лівою частиною вашого model ref: +Кожен запис має ключ у вигляді **ідентифікатора провайдера** (наприклад, `codex-cli`, `my-cli`). +Ідентифікатор провайдера стає лівою частиною вашого посилання на модель: ``` / @@ -150,43 +150,43 @@ agents.defaults.cliBackends 1. **Вибирає бекенд** на основі префікса провайдера (`codex-cli/...`). 2. **Створює системний промпт** з використанням того самого промпта OpenClaw і контексту workspace. 3. **Виконує CLI** з ідентифікатором сесії (якщо підтримується), щоб історія залишалася узгодженою. - Вбудований бекенд `claude-cli` підтримує живий процес Claude stdio для кожної - сесії OpenClaw і надсилає наступні звернення через stream-json stdin. -4. **Аналізує вивід** (JSON або звичайний текст) і повертає фінальний текст. -5. **Зберігає ідентифікатори сесій** для кожного бекенда, щоб наступні звернення повторно використовували ту саму CLI-сесію. + Вбудований бекенд `claude-cli` підтримує процес Claude stdio активним для кожної + сесії OpenClaw і надсилає подальші ходи через stream-json stdin. +4. **Розбирає вивід** (JSON або звичайний текст) і повертає фінальний текст. +5. **Зберігає ідентифікатори сесій** для кожного бекенда, щоб подальші ходи повторно використовували ту саму CLI-сесію. -Вбудований Anthropic-бекенд `claude-cli` знову підтримується. Працівники Anthropic +Вбудований бекенд Anthropic `claude-cli` знову підтримується. Співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволене, тому OpenClaw вважає -використання `claude -p` санкціонованим для цієї інтеграції, доки Anthropic не опублікує +використання `claude -p` санкціонованим для цієї інтеграції, якщо Anthropic не опублікує нову політику. -Вбудований OpenAI-бекенд `codex-cli` передає системний промпт OpenClaw через +Вбудований бекенд OpenAI `codex-cli` передає системний промпт OpenClaw через перевизначення конфігурації Codex `model_instructions_file` (`-c -model_instructions_file="..."`). Codex не надає прапорця у стилі Claude +model_instructions_file="..."`). Codex не надає прапор у стилі Claude `--append-system-prompt`, тому OpenClaw записує зібраний промпт у тимчасовий файл для кожної нової сесії Codex CLI. -Вбудований Anthropic-бекенд `claude-cli` отримує знімок skills OpenClaw -двома способами: компактний каталог skills OpenClaw у доданому системному промпті та -тимчасовий plugin Claude Code, переданий через `--plugin-dir`. Plugin містить -лише придатні skills для цього агента/сесії, тому нативний розпізнавач skills Claude Code -бачить той самий відфільтрований набір, який OpenClaw інакше оголошував би в -промпті. Перевизначення env/API-ключів skill і надалі застосовуються OpenClaw до +Вбудований бекенд Anthropic `claude-cli` отримує знімок Skills OpenClaw +двома способами: компактний каталог Skills OpenClaw у доданому системному промпті та +тимчасовий Claude Code Plugin, переданий із `--plugin-dir`. Plugin містить +лише придатні Skills для цього агента/сесії, тому нативний резолвер Skills Claude Code +бачить той самий відфільтрований набір, який OpenClaw інакше оголосив би в +промпті. Перевизначення env/API-ключів Skills OpenClaw все одно застосовує до середовища дочірнього процесу для запуску. -Claude CLI також має власний неінтерактивний режим дозволів. OpenClaw зіставляє його -з наявною політикою exec замість додавання специфічної для Claude конфігурації: коли -ефективна запитана політика exec є YOLO (`tools.exec.security: "full"` і +Claude CLI також має власний неінтерактивний режим дозволів. OpenClaw відображає його +на наявну політику виконання замість додавання специфічної для Claude конфігурації: коли +ефективна запитана політика виконання є YOLO (`tools.exec.security: "full"` і `tools.exec.ask: "off"`), OpenClaw додає `--permission-mode bypassPermissions`. Налаштування `agents.list[].tools.exec` для окремого агента перевизначають глобальні `tools.exec` для -цього агента. Щоб примусово встановити інший режим Claude, задайте явні сирі аргументи бекенда, -як-от `--permission-mode default` або `--permission-mode acceptEdits` у -`agents.defaults.cliBackends.claude-cli.args` і відповідні `resumeArgs`. +цього агента. Щоб примусово задати інший режим Claude, встановіть явні сирі аргументи бекенда, +наприклад `--permission-mode default` або `--permission-mode acceptEdits` у +`agents.defaults.cliBackends.claude-cli.args` і відповідних `resumeArgs`. Перш ніж OpenClaw зможе використовувати вбудований бекенд `claude-cli`, сам Claude Code -має вже бути залогінений на тому самому хості: +уже має бути авторизований на тому самому хості: ```bash claude auth login @@ -200,55 +200,60 @@ openclaw models auth login --provider anthropic --method cli --set-default ## Сесії - Якщо CLI підтримує сесії, задайте `sessionArg` (наприклад, `--session-id`) або - `sessionArgs` (заповнювач `{sessionId}`), коли ID потрібно вставити - в кілька прапорців. -- Якщо CLI використовує **підкоманду відновлення** з іншими прапорцями, задайте - `resumeArgs` (замінює `args` під час відновлення) і, за потреби, `resumeOutput` - (для відновлень не в JSON). + `sessionArgs` (placeholder `{sessionId}`), коли ідентифікатор потрібно вставити + в кілька прапорів. +- Якщо CLI використовує **підкоманду відновлення** з іншими прапорами, задайте + `resumeArgs` (замінює `args` під час відновлення) і за потреби `resumeOutput` + (для відновлень не у форматі JSON). - `sessionMode`: - - `always`: завжди надсилати ідентифікатор сесії (новий UUID, якщо нічого не збережено). - - `existing`: надсилати ідентифікатор сесії лише якщо його вже було збережено раніше. + - `always`: завжди надсилати ідентифікатор сесії (новий UUID, якщо збереженого немає). + - `existing`: надсилати ідентифікатор сесії лише якщо його було збережено раніше. - `none`: ніколи не надсилати ідентифікатор сесії. -- Для `claude-cli` стандартно встановлено `liveSession: "claude-stdio"`, `output: "jsonl"`, - і `input: "stdin"`, щоб наступні звернення повторно використовували живий процес Claude, доки - він активний. Теплий stdio тепер є типовим, зокрема для користувацьких конфігурацій, - які не задають transport-поля. Якщо Gateway перезапускається або idle-процес +- `claude-cli` за замовчуванням використовує `liveSession: "claude-stdio"`, `output: "jsonl"`, + і `input: "stdin"`, щоб подальші ходи повторно використовували активний live-процес Claude. + Теплий stdio тепер є стандартом, зокрема для користувацьких конфігурацій, + які не вказують транспортні поля. Якщо Gateway перезапускається або idle-процес завершується, OpenClaw відновлюється зі збереженого ідентифікатора сесії Claude. Збережені - ідентифікатори сесій перевіряються на наявність уже читабельного transcript проєкту перед + ідентифікатори сесій перевіряються щодо наявного читабельного project transcript перед відновленням, тому фантомні прив’язки очищаються з `reason=transcript-missing` - замість тихого запуску нової сесії Claude CLI з `--resume`. -- Збережені CLI-сесії є безперервністю, що належить провайдеру. Неявне щоденне скидання сесії - їх не обриває; `/reset` і явні політики `session.reset` усе ще - це роблять. + замість мовчазного старту нової сесії Claude CLI під `--resume`. +- Live-сесії Claude зберігають обмежені захисні ліміти JSONL-виводу. Стандартні значення дозволяють до + 8 MiB і 20 000 сирих JSONL-рядків на хід. Ходи Claude з великою кількістю інструментів можуть збільшити + їх для кожного бекенда через + `agents.defaults.cliBackends.claude-cli.reliability.outputLimits.maxTurnRawChars` + і `maxTurnLines`; OpenClaw обмежує ці налаштування до 64 MiB і 100 000 + рядків. +- Збережені CLI-сесії є безперервністю, якою володіє провайдер. Неявне щоденне скидання сесії + їх не перериває; `/reset` і явні політики `session.reset` усе ще + діють. Примітки щодо серіалізації: -- `serialize: true` зберігає порядок запусків у тій самій смузі. -- Більшість CLI серіалізуються в одній смузі провайдера. -- OpenClaw скидає повторне використання збереженої CLI-сесії, коли вибрана автентифікаційна ідентичність змінюється, - зокрема змінюється id auth profile, статичний API-ключ, статичний token або OAuth - account identity, якщо CLI її надає. Ротація OAuth access і refresh token - не обриває збережену CLI-сесію. Якщо CLI не надає - стабільний OAuth account id, OpenClaw дозволяє цьому CLI самостійно забезпечувати дозволи відновлення. +- `serialize: true` зберігає впорядкованість запусків у тому самому lane. +- Більшість CLI серіалізуються в одному lane провайдера. +- OpenClaw відкидає повторне використання збереженої CLI-сесії, коли змінюється вибрана автентифікаційна ідентичність, + зокрема змінений ідентифікатор auth profile, статичний API-ключ, статичний токен або ідентичність OAuth-акаунта, + якщо CLI її надає. Ротація OAuth access і refresh token не перериває збережену CLI-сесію. Якщо CLI не надає + стабільний ідентифікатор OAuth-акаунта, OpenClaw дозволяє цьому CLI самостійно застосовувати дозволи відновлення. -## Початковий контекст резервного варіанта із сесій claude-cli +## Резервний prelude із сесій claude-cli -Коли спроба `claude-cli` перемикається на не-CLI кандидата в -[`agents.defaults.model.fallbacks`](/uk/concepts/model-failover), OpenClaw засіває -наступну спробу початковим контекстом, зібраним із локального -JSONL transcript Claude Code у `~/.claude/projects/`. Без цього засівання резервний -провайдер стартував би з нуля, бо власний transcript сесії OpenClaw порожній +Коли спроба `claude-cli` переходить на резервного кандидата, що не є CLI, у +[`agents.defaults.model.fallbacks`](/uk/concepts/model-failover), OpenClaw ініціалізує +наступну спробу контекстним prelude, отриманим із локального +JSONL-транскрипту Claude Code в `~/.claude/projects/`. Без цього seed резервний +провайдер стартував би з порожнього контексту, оскільки власний транскрипт сесії OpenClaw порожній для запусків `claude-cli`. -- Початковий контекст надає перевагу найновішому підсумку `/compact` або маркеру `compact_boundary`, - а потім додає найостанніші звернення після межі в межах бюджету символів. - Звернення до межі відкидаються, бо підсумок уже їх представляє. -- Блоки інструментів згортаються до компактних підказок `(tool call: name)` і - `(tool result: …)`, щоб чесно вкладатися в бюджет промпта. Підсумок - позначається `(truncated)`, якщо він переповнюється. -- Резервні переходи з `claude-cli` на `claude-cli` у того самого провайдера покладаються на власний - `--resume` Claude і пропускають початковий контекст. -- Засівання повторно використовує наявну перевірку шляху до session-file Claude, тому +- Prelude віддає перевагу найновішому резюме `/compact` або маркеру `compact_boundary`, + а потім додає найостанніші ходи після boundary у межах бюджету символів. + Ходи до boundary відкидаються, бо резюме вже їх представляє. +- Tool blocks згортаються до компактних підказок `(tool call: name)` і + `(tool result: …)`, щоб чесно утримувати бюджет промпта. Резюме + позначається як `(truncated)`, якщо воно переповнюється. +- Резервні переходи з `claude-cli` на `claude-cli` у межах того самого провайдера покладаються на власний + `--resume` Claude і пропускають prelude. +- Seed повторно використовує наявну валідацію шляху до session-file Claude, тому довільні шляхи не можуть бути прочитані. ## Зображення (наскрізне передавання) @@ -260,29 +265,29 @@ imageArg: "--image", imageMode: "repeat" ``` -OpenClaw записуватиме base64-зображення в тимчасові файли. Якщо `imageArg` задано, ці +OpenClaw записуватиме base64-зображення у тимчасові файли. Якщо `imageArg` задано, ці шляхи передаються як аргументи CLI. Якщо `imageArg` відсутній, OpenClaw додає -шляхи файлів до промпта (ін’єкція шляхів), чого достатньо для CLI, які автоматично +шляхи до файлів у промпт (ін’єкція шляху), чого достатньо для CLI, які автоматично завантажують локальні файли зі звичайних шляхів. ## Входи / виходи -- `output: "json"` (стандартно) намагається розібрати JSON і витягти текст + ідентифікатор сесії. +- `output: "json"` (за замовчуванням) намагається розібрати JSON і витягти текст + ідентифікатор сесії. - Для JSON-виводу Gemini CLI OpenClaw читає текст відповіді з `response` і - використання зі `stats`, коли `usage` відсутнє або порожнє. -- `output: "jsonl"` розбирає JSONL-потоки (наприклад Codex CLI `--json`) і витягує фінальне повідомлення агента плюс - ідентифікатори сесії, якщо вони присутні. + usage зі `stats`, коли `usage` відсутній або порожній. +- `output: "jsonl"` розбирає JSONL-потоки (наприклад, Codex CLI `--json`) і витягує фінальне повідомлення агента разом з ідентифікаторами сесії, + якщо вони наявні. - `output: "text"` трактує stdout як фінальну відповідь. -Режими входу: +Режими введення: -- `input: "arg"` (стандартно) передає промпт як останній аргумент CLI. +- `input: "arg"` (за замовчуванням) передає промпт як останній аргумент CLI. - `input: "stdin"` надсилає промпт через stdin. -- Якщо промпт дуже довгий і задано `maxPromptArgChars`, використовується stdin. +- Якщо промпт дуже довгий і `maxPromptArgChars` задано, використовується stdin. -## Типові значення (належать plugin) +## Стандартні значення (належать Plugin) -Вбудований OpenAI plugin також реєструє типові значення для `codex-cli`: +Вбудований OpenAI Plugin також реєструє стандартні значення для `codex-cli`: - `command: "codex"` - `args: ["exec","--json","--color","never","--sandbox","workspace-write","--skip-git-repo-check"]` @@ -293,7 +298,7 @@ OpenClaw записуватиме base64-зображення в тимчасо - `imageArg: "--image"` - `sessionMode: "existing"` -Вбудований Google plugin також реєструє типові значення для `google-gemini-cli`: +Вбудований Google Plugin також реєструє стандартні значення для `google-gemini-cli`: - `command: "gemini"` - `args: ["--output-format", "json", "--prompt", "{prompt}"]` @@ -311,25 +316,25 @@ OpenClaw записуватиме base64-зображення в тимчасо Примітки щодо JSON Gemini CLI: - Текст відповіді читається з JSON-поля `response`. -- Використання відкочується до `stats`, коли `usage` відсутнє або порожнє. +- Usage використовує fallback до `stats`, коли `usage` відсутній або порожній. - `stats.cached` нормалізується в OpenClaw `cacheRead`. -- Якщо `stats.input` відсутнє, OpenClaw виводить вхідні токени з +- Якщо `stats.input` відсутній, OpenClaw виводить input tokens із `stats.input_tokens - stats.cached`. Перевизначайте лише за потреби (поширений випадок: абсолютний шлях `command`). -## Типові значення, що належать Plugin +## Стандартні значення, що належать Plugin -Типові значення CLI-бекендів тепер є частиною поверхні plugin: +Стандартні значення CLI-бекендів тепер є частиною поверхні Plugin: -- Plugins реєструють їх через `api.registerCliBackend(...)`. -- `id` бекенда стає префіксом провайдера в model refs. -- Користувацька конфігурація в `agents.defaults.cliBackends.` усе ще перевизначає типове значення plugin. -- Очищення конфігурації, специфічне для бекенда, залишається у власності plugin через необов’язковий - хук `normalizeConfig`. +- Plugins реєструють їх за допомогою `api.registerCliBackend(...)`. +- Backend `id` стає префіксом провайдера в посиланнях на моделі. +- Конфігурація користувача в `agents.defaults.cliBackends.` досі перевизначає стандартне значення Plugin. +- Очищення конфігурації, специфічної для backend, залишається у власності Plugin через необов’язковий hook + `normalizeConfig`. -Plugin-и, яким потрібні невеликі сумісні прокладки для промптів/повідомлень, можуть оголошувати -двонапрямні текстові перетворення без заміни провайдера або бекенда CLI: +Plugins, яким потрібні невеликі шими сумісності prompt/message, можуть оголошувати +двонапрямні текстові перетворення без заміни провайдера або CLI backend: ```typescript api.registerTextTransforms({ @@ -346,65 +351,65 @@ api.registerTextTransforms({ }); ``` -`input` переписує системний промпт і користувацький промпт, передані до CLI. `output` -переписує потокові дельти асистента та розібраний фінальний текст перед тим, як OpenClaw обробить +`input` переписує системний prompt і prompt користувача, передані до CLI. `output` +переписує потокові дельти помічника та розібраний фінальний текст до того, як OpenClaw обробить власні керівні маркери й доставку в канал. -Для CLI, які виводять JSONL, сумісний із Claude Code stream-json, встановіть -`jsonlDialect: "claude-stream-json"` у конфігурації цього бекенда. +Для CLI, що виводять JSONL, сумісний із Claude Code stream-json, задайте +`jsonlDialect: "claude-stream-json"` у конфігурації цього backend. -## Оверлеї Bundle MCP +## Об’єднання MCP-накладень -Бекенди CLI **не** отримують виклики інструментів OpenClaw напряму, але бекенд може -увімкнути згенерований оверлей конфігурації MCP за допомогою `bundleMcp: true`. +CLI backends **не** отримують виклики інструментів OpenClaw напряму, але backend може +увімкнути згенероване накладення конфігурації MCP за допомогою `bundleMcp: true`. Поточна вбудована поведінка: -- `claude-cli`: згенерований строгий файл конфігурації MCP +- `claude-cli`: згенерований файл суворої конфігурації MCP - `codex-cli`: вбудовані перевизначення конфігурації для `mcp_servers`; згенерований - сервер зворотного інтерфейсу OpenClaw позначено режимом схвалення інструментів Codex для кожного сервера, - щоб виклики MCP не могли зупинятися на локальних запитах схвалення + OpenClaw loopback server позначено режимом схвалення інструментів на рівні сервера Codex, + щоб MCP-виклики не могли зупинитися на локальних запитах схвалення - `google-gemini-cli`: згенерований файл системних налаштувань Gemini -Коли bundle MCP увімкнено, OpenClaw: +Коли об’єднання MCP увімкнено, OpenClaw: -- запускає HTTP MCP-сервер зворотного інтерфейсу, який надає інструменти Gateway процесу CLI -- автентифікує міст за допомогою токена для кожного сеансу (`OPENCLAW_MCP_TOKEN`) +- запускає loopback HTTP MCP server, який відкриває gateway tools для процесу CLI +- автентифікує міст за допомогою токена на сеанс (`OPENCLAW_MCP_TOKEN`) - обмежує доступ до інструментів поточним сеансом, обліковим записом і контекстом каналу -- завантажує увімкнені сервери bundle-MCP для поточного робочого простору -- об’єднує їх із будь-якою наявною формою конфігурації/налаштувань MCP бекенда -- переписує конфігурацію запуску, використовуючи режим інтеграції, що належить бекенду, з власницького розширення +- завантажує увімкнені bundle-MCP servers для поточного workspace +- об’єднує їх із будь-якою наявною формою backend MCP config/settings +- переписує конфігурацію запуску, використовуючи режим інтеграції, що належить backend, із власницького Plugin -Якщо сервери MCP не увімкнено, OpenClaw все одно впроваджує строгу конфігурацію, коли -бекенд вмикає bundle MCP, щоб фонові запуски залишалися ізольованими. +Якщо MCP servers не ввімкнено, OpenClaw все одно впроваджує сувору конфігурацію, коли +backend вмикає bundle MCP, щоб фонові запуски залишалися ізольованими. -Сеансові вбудовані середовища виконання MCP кешуються для повторного використання в межах сеансу, а потім -очищаються після `mcp.sessionIdleTtlMs` мілісекунд простою (типово 10 -хвилин; встановіть `0`, щоб вимкнути). Одноразові вбудовані запуски, як-от проби автентифікації, -генерація slug і запити пригадування active-memory, очищуються наприкінці запуску, щоб дочірні процеси stdio -та потоки Streamable HTTP/SSE не жили довше за запуск. +Сеансові вбудовані MCP runtimes кешуються для повторного використання в межах сеансу, а потім +очищаються після `mcp.sessionIdleTtlMs` мілісекунд простою (за замовчуванням 10 +хвилин; задайте `0`, щоб вимкнути). Одноразові вбудовані запуски, як-от auth probes, +slug generation і active-memory recall request cleanup, завершуються наприкінці запуску, щоб stdio +children і Streamable HTTP/SSE streams не жили довше за сам запуск. ## Обмеження - **Немає прямих викликів інструментів OpenClaw.** OpenClaw не впроваджує виклики інструментів у - протокол бекенда CLI. Бекенди бачать інструменти Gateway лише тоді, коли вони вмикають + протокол CLI backend. Backends бачать gateway tools лише тоді, коли вмикають `bundleMcp: true`. -- **Потокове передавання залежить від бекенда.** Деякі бекенди передають JSONL потоково; інші буферизують +- **Streaming залежить від backend.** Деякі backends транслюють JSONL; інші буферизують до завершення. -- **Структуровані виходи** залежать від JSON-формату CLI. -- **Сеанси Codex CLI** відновлюються через текстовий вивід (без JSONL), що є менш - структурованим, ніж початковий запуск `--json`. Сеанси OpenClaw усе одно працюють +- **Структуровані виводи** залежать від формату JSON у CLI. +- **Сеанси Codex CLI** поновлюються через текстовий вивід (без JSONL), який менш + структурований, ніж початковий запуск `--json`. Сеанси OpenClaw все одно працюють нормально. ## Усунення несправностей -- **CLI не знайдено**: встановіть `command` як повний шлях. +- **CLI не знайдено**: задайте `command` як повний шлях. - **Неправильна назва моделі**: використовуйте `modelAliases`, щоб зіставити `provider/model` → модель CLI. -- **Немає безперервності сеансу**: переконайтеся, що `sessionArg` задано, а `sessionMode` не дорівнює - `none` (Codex CLI наразі не може відновлюватися з JSON-виводом). -- **Зображення ігноруються**: встановіть `imageArg` (і перевірте, що CLI підтримує шляхи до файлів). +- **Немає безперервності сеансу**: переконайтеся, що `sessionArg` задано, а `sessionMode` не є + `none` (Codex CLI наразі не може поновлюватися з JSON-виводом). +- **Зображення ігноруються**: задайте `imageArg` (і перевірте, що CLI підтримує шляхи до файлів). ## Пов’язане -- [Runbook Gateway](/uk/gateway) +- [Gateway runbook](/uk/gateway) - [Локальні моделі](/uk/gateway/local-models)