From adb862c9d245253fa78a7deb996f4f2f8014d96e Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Wed, 29 Apr 2026 16:31:20 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/concepts/model-providers.md | 324 ++++++++++++++-------------- docs/uk/providers/nvidia.md | 81 +++---- docs/uk/tools/exec.md | 209 +++++++++--------- 3 files changed, 311 insertions(+), 303 deletions(-) diff --git a/docs/uk/concepts/model-providers.md b/docs/uk/concepts/model-providers.md index 2b3e80779..445bdc8d9 100644 --- a/docs/uk/concepts/model-providers.md +++ b/docs/uk/concepts/model-providers.md @@ -3,60 +3,60 @@ read_when: - Вам потрібен довідник із налаштування моделей для кожного провайдера - Вам потрібні приклади конфігурацій або команди CLI для початкового налаштування постачальників моделей sidebarTitle: Model providers -summary: Огляд постачальників моделей із прикладами конфігурацій і сценаріїв CLI +summary: Огляд провайдера моделей із прикладами конфігурацій + CLI-сценаріями title: Постачальники моделей x-i18n: - generated_at: "2026-04-29T04:06:12Z" + generated_at: "2026-04-29T16:29:15Z" model: gpt-5.5 provider: openai - source_hash: ee6c7fc1a87ec8db7df291ac87281e13b43b0b4e2076e1084698932b9a3bf1b9 + source_hash: 3902194674d6d4e17a8477c28addb39b8e04c3b498eb6a0305e82c2f1b5d737e source_path: concepts/model-providers.md workflow: 16 --- -Довідка для **провайдерів LLM/моделей** (не каналів чату, як-от WhatsApp/Telegram). Правила вибору моделей див. у [Моделі](/uk/concepts/models). +Довідник для **провайдерів LLM/моделей** (не каналів чату, як-от WhatsApp/Telegram). Правила вибору моделей див. у [Моделі](/uk/concepts/models). -## Короткі правила +## Швидкі правила - + - Посилання на моделі використовують `provider/model` (приклад: `opencode/claude-opus-4-6`). - - `agents.defaults.models` працює як список дозволених, коли його задано. - - Допоміжні засоби CLI: `openclaw onboard`, `openclaw models list`, `openclaw models set `. + - `agents.defaults.models` діє як список дозволених значень, коли його задано. + - Помічники CLI: `openclaw onboard`, `openclaw models list`, `openclaw models set `. - `models.providers.*.contextWindow` / `contextTokens` / `maxTokens` задають типові значення на рівні провайдера; `models.providers.*.models[].contextWindow` / `contextTokens` / `maxTokens` перевизначають їх для окремої моделі. - - Правила резервного перемикання, зонди охолодження та збереження перевизначень сеансу: [Резервне перемикання моделей](/uk/concepts/model-failover). + - Правила резервного перемикання, проби після періоду охолодження та збереження перевизначень сеансу: [Резервне перемикання моделей](/uk/concepts/model-failover). Маршрути сімейства OpenAI залежать від префікса: - - `openai/` використовує прямого провайдера OpenAI API-ключа в PI. - - `openai-codex/` використовує Codex OAuth в PI. - - `openai/` разом із `agents.defaults.agentRuntime.id: "codex"` використовує нативний каркас сервера застосунку Codex. + - `openai/` використовує прямого провайдера OpenAI з API-ключем у PI. + - `openai-codex/` використовує Codex OAuth у PI. + - `openai/` разом із `agents.defaults.agentRuntime.id: "codex"` використовує нативний harness сервера застосунку Codex. - Див. [OpenAI](/uk/providers/openai) і [каркас Codex](/uk/plugins/codex-harness). Якщо розділення провайдера й runtime незрозуміле, спочатку прочитайте [Runtime агентів](/uk/concepts/agent-runtimes). + Див. [OpenAI](/uk/providers/openai) і [harness Codex](/uk/plugins/codex-harness). Якщо розділення провайдера й runtime незрозуміле, спершу прочитайте [Runtime агентів](/uk/concepts/agent-runtimes). - Автоматичне ввімкнення Plugin дотримується тієї самої межі: `openai-codex/` належить до OpenAI Plugin, тоді як Codex Plugin вмикається через `agentRuntime.id: "codex"` або застарілі посилання `codex/`. + Автоматичне ввімкнення Plugin дотримується тієї самої межі: `openai-codex/` належить до Plugin OpenAI, тоді як Plugin Codex вмикається через `agentRuntime.id: "codex"` або застарілі посилання `codex/`. - GPT-5.5 доступна через `openai/gpt-5.5` для прямого трафіку API-ключа, `openai-codex/gpt-5.5` в PI для Codex OAuth, а також через нативний каркас сервера застосунку Codex, коли задано `agentRuntime.id: "codex"`. + GPT-5.5 доступний через `openai/gpt-5.5` для прямого трафіку з API-ключем, `openai-codex/gpt-5.5` у PI для Codex OAuth, а також через нативний harness сервера застосунку Codex, коли задано `agentRuntime.id: "codex"`. - - Runtime CLI використовують те саме розділення: виберіть канонічні посилання на моделі, як-от `anthropic/claude-*`, `google/gemini-*` або `openai/gpt-*`, а потім задайте `agents.defaults.agentRuntime.id` як `claude-cli`, `google-gemini-cli` або `codex-cli`, коли потрібен локальний backend CLI. + + CLI runtime використовують те саме розділення: виберіть канонічні посилання на моделі, як-от `anthropic/claude-*`, `google/gemini-*` або `openai/gpt-*`, а потім задайте `agents.defaults.agentRuntime.id` як `claude-cli`, `google-gemini-cli` або `codex-cli`, коли потрібен локальний CLI бекенд. - Застарілі посилання `claude-cli/*`, `google-gemini-cli/*` і `codex-cli/*` мігрують назад до канонічних посилань провайдерів, а runtime записується окремо. + Застарілі посилання `claude-cli/*`, `google-gemini-cli/*` і `codex-cli/*` мігрують назад до канонічних посилань провайдера, а runtime записується окремо. -## Поведінка провайдера, що належить Plugin +## Поведінка провайдера, якою володіє Plugin -Більшість логіки, специфічної для провайдера, живе в provider plugins (`registerProvider(...)`), тоді як OpenClaw зберігає загальний цикл виведення. Plugins відповідають за onboarding, каталоги моделей, зіставлення змінних середовища автентифікації, нормалізацію транспорту/конфігурації, очищення схем інструментів, класифікацію резервного перемикання, оновлення OAuth, звітування про використання, профілі thinking/reasoning тощо. +Більшість специфічної для провайдерів логіки міститься в Plugin провайдерів (`registerProvider(...)`), тоді як OpenClaw зберігає загальний цикл inference. Plugin відповідають за onboarding, каталоги моделей, зіставлення змінних середовища для автентифікації, нормалізацію транспорту/конфігурації, очищення схем інструментів, класифікацію резервного перемикання, оновлення OAuth, звітування про використання, профілі мислення/reasoning тощо. -Повний список хуків provider-SDK і прикладів bundled-plugin наведено в [Provider plugins](/uk/plugins/sdk-provider-plugins). Провайдер, якому потрібен повністю власний виконавець запитів, є окремою, глибшою поверхнею розширення. +Повний список хуків provider-SDK і прикладів вбудованих Plugin наведено в [Plugin провайдерів](/uk/plugins/sdk-provider-plugins). Провайдер, якому потрібен повністю власний виконавець запитів, є окремою, глибшою поверхнею розширення. -Поведінка runner, що належить провайдеру, живе в явних хуках провайдера, як-от політика повторного відтворення, нормалізація схем інструментів, обгортання stream і допоміжні засоби транспорту/запитів. Застарілий статичний контейнер `ProviderPlugin.capabilities` призначений лише для сумісності й більше не читається спільною логікою runner. +Поведінка runner, якою володіє провайдер, живе в явних хуках провайдера, як-от політика replay, нормалізація схем інструментів, обгортання stream і помічники транспорту/запитів. Застарілий статичний пакет `ProviderPlugin.capabilities` призначений лише для сумісності й більше не читається спільною логікою runner. ## Ротація API-ключів @@ -70,13 +70,13 @@ x-i18n: - `_API_KEY` (основний ключ) - `_API_KEY_*` (нумерований список, напр. `_API_KEY_1`) - Для провайдерів Google `GOOGLE_API_KEY` також додається як fallback. Порядок вибору ключів зберігає пріоритет і усуває дублікати значень. + Для провайдерів Google `GOOGLE_API_KEY` також включено як fallback. Порядок вибору ключів зберігає пріоритет і усуває дублікати значень. - - - Запити повторюються з наступним ключем лише для відповідей про перевищення ліміту швидкості (наприклад, `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded` або періодичних повідомлень про ліміт використання). - - Збої, не пов’язані з лімітом швидкості, завершуються негайно; ротація ключів не виконується. - - Коли всі кандидатні ключі зазнають збою, фінальна помилка повертається з останньої спроби. + + - Запити повторюються з наступним ключем лише для відповідей про обмеження швидкості (наприклад, `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded` або періодичні повідомлення про ліміт використання). + - Збої, не пов’язані з обмеженням швидкості, одразу завершуються помилкою; ротація ключів не виконується. + - Коли всі кандидатні ключі зазнають невдачі, повертається фінальна помилка з останньої спроби. @@ -87,21 +87,21 @@ OpenClaw постачається з каталогом pi‑ai. Ці прова ### OpenAI -- Провайдер: `openai` +- Постачальник: `openai` - Автентифікація: `OPENAI_API_KEY` -- Необов'язкова ротація: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2`, плюс `OPENCLAW_LIVE_OPENAI_KEY` (єдине перевизначення) +- Необов’язкова ротація: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2`, плюс `OPENCLAW_LIVE_OPENAI_KEY` (одноразове перевизначення) - Приклади моделей: `openai/gpt-5.5`, `openai/gpt-5.4-mini` -- Перевірте доступність облікового запису/моделі за допомогою `openclaw models list --provider openai`, якщо конкретна інсталяція або API-ключ поводиться інакше. +- Перевірте доступність облікового запису/моделі за допомогою `openclaw models list --provider openai`, якщо конкретне встановлення або API-ключ поводиться інакше. - CLI: `openclaw onboard --auth-choice openai-api-key` -- Транспорт за замовчуванням — `auto` (спочатку WebSocket, резервно SSE) -- Перевизначення для окремої моделі через `agents.defaults.models["openai/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) -- Прогрівання OpenAI Responses WebSocket за замовчуванням увімкнене через `params.openaiWsWarmup` (`true`/`false`) +- Типовий транспорт — `auto` (спочатку WebSocket, резервно SSE) +- Перевизначення для кожної моделі через `agents.defaults.models["openai/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) +- Прогрівання WebSocket для OpenAI Responses типово ввімкнене через `params.openaiWsWarmup` (`true`/`false`) - Пріоритетну обробку OpenAI можна ввімкнути через `agents.defaults.models["openai/"].params.serviceTier` -- `/fast` і `params.fastMode` зіставляють прямі запити `openai/*` Responses із `service_tier=priority` на `api.openai.com` +- `/fast` і `params.fastMode` зіставляють прямі запити Responses `openai/*` із `service_tier=priority` на `api.openai.com` - Використовуйте `params.serviceTier`, коли потрібен явний рівень замість спільного перемикача `/fast` -- Приховані заголовки атрибуції OpenClaw (`originator`, `version`, `User-Agent`) застосовуються лише до нативного трафіку OpenAI до `api.openai.com`, а не до загальних OpenAI-сумісних проксі -- Нативні маршрути OpenAI також зберігають Responses `store`, підказки кешу промптів і формування payload для сумісності з міркуванням OpenAI; маршрути проксі — ні -- `openai/gpt-5.3-codex-spark` навмисно приглушено в OpenClaw, оскільки живі запити OpenAI API його відхиляють, а поточний каталог Codex його не надає +- Приховані заголовки атрибуції OpenClaw (`originator`, `version`, `User-Agent`) застосовуються лише до нативного трафіку OpenAI на `api.openai.com`, а не до загальних OpenAI-сумісних проксі +- Нативні маршрути OpenAI також зберігають Responses `store`, підказки prompt-cache і формування payload для сумісності з reasoning OpenAI; проксі-маршрути цього не роблять +- `openai/gpt-5.3-codex-spark` навмисно приховано в OpenClaw, оскільки live-запити OpenAI API його відхиляють, а поточний каталог Codex його не надає ```json5 { @@ -111,19 +111,16 @@ OpenClaw постачається з каталогом pi‑ai. Ці прова ### Anthropic -- Провайдер: `anthropic` +- Постачальник: `anthropic` - Автентифікація: `ANTHROPIC_API_KEY` -- Необов'язкова ротація: `ANTHROPIC_API_KEYS`, `ANTHROPIC_API_KEY_1`, `ANTHROPIC_API_KEY_2`, плюс `OPENCLAW_LIVE_ANTHROPIC_KEY` (єдине перевизначення) +- Необов’язкова ротація: `ANTHROPIC_API_KEYS`, `ANTHROPIC_API_KEY_1`, `ANTHROPIC_API_KEY_2`, плюс `OPENCLAW_LIVE_ANTHROPIC_KEY` (одноразове перевизначення) - Приклад моделі: `anthropic/claude-opus-4-6` - CLI: `openclaw onboard --auth-choice apiKey` -- Прямі публічні запити Anthropic підтримують спільний перемикач `/fast` і `params.fastMode`, зокрема трафік з API-ключем і автентифікацією OAuth, надісланий до `api.anthropic.com`; OpenClaw зіставляє це з Anthropic `service_tier` (`auto` проти `standard_only`) -- Бажана конфігурація Claude CLI зберігає канонічне посилання на модель і вибирає CLI - бекенд окремо: `anthropic/claude-opus-4-7` з - `agents.defaults.agentRuntime.id: "claude-cli"`. Застарілі посилання - `claude-cli/claude-opus-4-7` досі працюють для сумісності. +- Прямі публічні запити Anthropic підтримують спільний перемикач `/fast` і `params.fastMode`, включно з трафіком з API-ключем та OAuth-автентифікацією, надісланим до `api.anthropic.com`; OpenClaw зіставляє це з Anthropic `service_tier` (`auto` проти `standard_only`) +- Бажана конфігурація Claude CLI зберігає посилання на модель канонічним і вибирає бекенд CLI окремо: `anthropic/claude-opus-4-7` з `agents.defaults.agentRuntime.id: "claude-cli"`. Застарілі посилання `claude-cli/claude-opus-4-7` і далі працюють для сумісності. -Співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволене, тому OpenClaw вважає повторне використання Claude CLI і використання `claude -p` санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. setup-token Anthropic залишається доступним як підтримуваний шлях токена OpenClaw, але тепер OpenClaw надає перевагу повторному використанню Claude CLI і `claude -p`, коли вони доступні. +Працівники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволене, тому OpenClaw розглядає повторне використання Claude CLI і використання `claude -p` як санкціоновані для цієї інтеграції, доки Anthropic не опублікує нову політику. Токен налаштування Anthropic залишається доступним як підтримуваний шлях токена OpenClaw, але тепер OpenClaw віддає перевагу повторному використанню Claude CLI і `claude -p`, коли вони доступні. ```json5 @@ -134,20 +131,20 @@ OpenClaw постачається з каталогом pi‑ai. Ці прова ### OpenAI Codex OAuth -- Провайдер: `openai-codex` +- Постачальник: `openai-codex` - Автентифікація: OAuth (ChatGPT) - Посилання на модель PI: `openai-codex/gpt-5.5` -- Посилання на нативний harness сервера застосунку Codex: `openai/gpt-5.5` з `agents.defaults.agentRuntime.id: "codex"` -- Документація нативного harness сервера застосунку Codex: [harness Codex](/uk/plugins/codex-harness) +- Посилання на нативний harness app-server Codex: `openai/gpt-5.5` з `agents.defaults.agentRuntime.id: "codex"` +- Документація нативного harness app-server Codex: [harness Codex](/uk/plugins/codex-harness) - Застарілі посилання на моделі: `codex/gpt-*` -- Межа Plugin: `openai-codex/*` завантажує Plugin OpenAI; нативний Plugin сервера застосунку Codex вибирається лише середовищем виконання harness Codex або застарілими посиланнями `codex/*`. +- Межа Plugin: `openai-codex/*` завантажує Plugin OpenAI; нативний Plugin app-server Codex вибирається лише runtime harness Codex або застарілими посиланнями `codex/*`. - CLI: `openclaw onboard --auth-choice openai-codex` або `openclaw models auth login --provider openai-codex` -- Транспорт за замовчуванням — `auto` (спочатку WebSocket, резервно SSE) -- Перевизначення для окремої PI-моделі через `agents.defaults.models["openai-codex/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) -- `params.serviceTier` також передається в нативних запитах Codex Responses (`chatgpt.com/backend-api`) -- Приховані заголовки атрибуції OpenClaw (`originator`, `version`, `User-Agent`) додаються лише до нативного трафіку Codex до `chatgpt.com/backend-api`, а не до загальних OpenAI-сумісних проксі -- Використовує ту саму конфігурацію перемикача `/fast` і `params.fastMode`, що й прямі `openai/*`; OpenClaw зіставляє це з `service_tier=priority` -- `openai-codex/gpt-5.5` використовує нативні значення каталогу Codex `contextWindow = 400000` і стандартне значення runtime `contextTokens = 272000`; перевизначте обмеження runtime за допомогою `models.providers.openai-codex.models[].contextTokens` +- Типовий транспорт — `auto` (спочатку WebSocket, резервно SSE) +- Перевизначення для кожної моделі PI через `agents.defaults.models["openai-codex/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) +- `params.serviceTier` також пересилається в нативних запитах Codex Responses (`chatgpt.com/backend-api`) +- Приховані заголовки атрибуції OpenClaw (`originator`, `version`, `User-Agent`) додаються лише до нативного трафіку Codex на `chatgpt.com/backend-api`, а не до загальних OpenAI-сумісних проксі +- Має ту саму конфігурацію спільного перемикача `/fast` і `params.fastMode`, що й прямі `openai/*`; OpenClaw зіставляє це з `service_tier=priority` +- `openai-codex/gpt-5.5` використовує нативні для каталогу Codex `contextWindow = 400000` і типовий runtime `contextTokens = 272000`; перевизначте обмеження runtime за допомогою `models.providers.openai-codex.models[].contextTokens` - Примітка щодо політики: OpenAI Codex OAuth явно підтримується для зовнішніх інструментів/робочих процесів на кшталт OpenClaw. - Використовуйте `openai-codex/gpt-5.5`, коли потрібен маршрут Codex OAuth/підписки; використовуйте `openai/gpt-5.5`, коли ваше налаштування API-ключа і локальний каталог надають публічний маршрут API. @@ -169,25 +166,25 @@ OpenClaw постачається з каталогом pi‑ai. Ці прова } ``` -### Інші розміщені варіанти у стилі підписки +### Інші розміщені варіанти в стилі підписки - Z.AI Coding Plan або загальні API endpoints. + Coding Plan Z.AI або загальні кінцеві точки API. - MiniMax Coding Plan OAuth або доступ за API-ключем. + Доступ через OAuth MiniMax Coding Plan або API-ключ. - Поверхня провайдера Qwen Cloud плюс зіставлення Alibaba DashScope і endpoint Coding Plan. + Поверхня постачальника Qwen Cloud плюс зіставлення кінцевих точок Alibaba DashScope і Coding Plan. ### OpenCode - Автентифікація: `OPENCODE_API_KEY` (або `OPENCODE_ZEN_API_KEY`) -- Провайдер Zen runtime: `opencode` -- Провайдер Go runtime: `opencode-go` +- Постачальник runtime Zen: `opencode` +- Постачальник runtime Go: `opencode-go` - Приклади моделей: `opencode/claude-opus-4-6`, `opencode-go/kimi-k2.6` - CLI: `openclaw onboard --auth-choice opencode-zen` або `openclaw onboard --auth-choice opencode-go` @@ -199,26 +196,26 @@ OpenClaw постачається з каталогом pi‑ai. Ці прова ### Google Gemini (API-ключ) -- Провайдер: `google` +- Постачальник: `google` - Автентифікація: `GEMINI_API_KEY` -- Необов'язкова ротація: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, резервний `GOOGLE_API_KEY` і `OPENCLAW_LIVE_GEMINI_KEY` (єдине перевизначення) +- Необов’язкова ротація: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, резервний `GOOGLE_API_KEY` і `OPENCLAW_LIVE_GEMINI_KEY` (одноразове перевизначення) - Приклади моделей: `google/gemini-3.1-pro-preview`, `google/gemini-3-flash-preview` - Сумісність: застаріла конфігурація OpenClaw, що використовує `google/gemini-3.1-flash-preview`, нормалізується до `google/gemini-3-flash-preview` -- Псевдонім: `google/gemini-3.1-pro` приймається і нормалізується до живого ідентифікатора Gemini API від Google, `google/gemini-3.1-pro-preview` +- Псевдонім: `google/gemini-3.1-pro` приймається і нормалізується до live-ідентифікатора Gemini API від Google, `google/gemini-3.1-pro-preview` - CLI: `openclaw onboard --auth-choice gemini-api-key` -- Мислення: `/think adaptive` використовує динамічне мислення Google. Gemini 3/3.1 не додають фіксований `thinkingLevel`; Gemini 2.5 надсилає `thinkingBudget: -1`. -- Прямі запуски Gemini також приймають `agents.defaults.models["google/"].params.cachedContent` (або застарілий `cached_content`), щоб передати нативний для провайдера handle `cachedContents/...`; влучання кешу Gemini відображаються як OpenClaw `cacheRead` +- Мислення: `/think adaptive` використовує динамічне мислення Google. Gemini 3/3.1 пропускають фіксований `thinkingLevel`; Gemini 2.5 надсилає `thinkingBudget: -1`. +- Прямі запуски Gemini також приймають `agents.defaults.models["google/"].params.cachedContent` (або застаріле `cached_content`) для пересилання нативного для постачальника дескриптора `cachedContents/...`; влучання кешу Gemini відображаються як OpenClaw `cacheRead` ### Google Vertex і Gemini CLI -- Провайдери: `google-vertex`, `google-gemini-cli` -- Автентифікація: Vertex використовує gcloud ADC; Gemini CLI використовує свій потік OAuth +- Постачальники: `google-vertex`, `google-gemini-cli` +- Автентифікація: Vertex використовує gcloud ADC; Gemini CLI використовує свій OAuth-потік -Gemini CLI OAuth в OpenClaw є неофіційною інтеграцією. Деякі користувачі повідомляли про обмеження облікового запису Google після використання сторонніх клієнтів. Ознайомтеся з умовами Google і використовуйте некритичний обліковий запис, якщо вирішите продовжити. +Gemini CLI OAuth в OpenClaw є неофіційною інтеграцією. Деякі користувачі повідомляли про обмеження облікових записів Google після використання сторонніх клієнтів. Ознайомтеся з умовами Google і використовуйте некритичний обліковий запис, якщо вирішите продовжити. -Gemini CLI OAuth постачається як частина вбудованого Plugin `google`. +Gemini CLI OAuth постачається як частина пакетного Plugin `google`. @@ -245,106 +242,109 @@ Gemini CLI OAuth постачається як частина вбудовано openclaw models auth login --provider google-gemini-cli --set-default ``` - Стандартна модель: `google-gemini-cli/gemini-3-flash-preview`. Ви **не** вставляєте ідентифікатор клієнта чи секрет у `openclaw.json`. Потік входу CLI зберігає токени в профілях автентифікації на хості Gateway. + Модель за замовчуванням: `google-gemini-cli/gemini-3-flash-preview`. Ви **не** вставляєте client id або secret у `openclaw.json`. Потік входу CLI зберігає токени в профілях автентифікації на хості gateway. - - Якщо запити не вдаються після входу, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості Gateway. + + Якщо запити не проходять після входу, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості gateway. -JSON-відповіді Gemini CLI розбираються з `response`; використання береться з `stats` як резервний варіант, а `stats.cached` нормалізується в OpenClaw `cacheRead`. +JSON-відповіді Gemini CLI аналізуються з `response`; використання має fallback до `stats`, а `stats.cached` нормалізується в OpenClaw `cacheRead`. ### Z.AI (GLM) -- Провайдер: `zai` +- Постачальник: `zai` - Автентифікація: `ZAI_API_KEY` - Приклад моделі: `zai/glm-5.1` - CLI: `openclaw onboard --auth-choice zai-api-key` - Псевдоніми: `z.ai/*` і `z-ai/*` нормалізуються до `zai/*` - - `zai-api-key` автоматично визначає відповідну кінцеву точку Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово вибирають конкретну поверхню + - `zai-api-key` автоматично визначає відповідний endpoint Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово вибирають конкретну поверхню ### Vercel AI Gateway -- Провайдер: `vercel-ai-gateway` +- Постачальник: `vercel-ai-gateway` - Автентифікація: `AI_GATEWAY_API_KEY` - Приклади моделей: `vercel-ai-gateway/anthropic/claude-opus-4.6`, `vercel-ai-gateway/moonshotai/kimi-k2.6` - CLI: `openclaw onboard --auth-choice ai-gateway-api-key` ### Kilo Gateway -- Провайдер: `kilocode` +- Постачальник: `kilocode` - Автентифікація: `KILOCODE_API_KEY` - Приклад моделі: `kilocode/kilo/auto` - CLI: `openclaw onboard --auth-choice kilocode-api-key` - Базова URL-адреса: `https://api.kilo.ai/api/gateway/` -- Статичний резервний каталог постачається з `kilocode/kilo/auto`; live-виявлення `https://api.kilo.ai/api/gateway/models` може додатково розширити каталог часу виконання. -- Точна маршрутизація вище за потоком за `kilocode/kilo/auto` належить Kilo Gateway, а не жорстко закодована в OpenClaw. +- Статичний fallback-каталог постачається з `kilocode/kilo/auto`; live-виявлення `https://api.kilo.ai/api/gateway/models` може додатково розширити runtime-каталог. +- Точна upstream-маршрутизація за `kilocode/kilo/auto` належить Kilo Gateway, а не жорстко закодована в OpenClaw. -Дивіться [/providers/kilocode](/uk/providers/kilocode), щоб дізнатися подробиці налаштування. +Див. [/providers/kilocode](/uk/providers/kilocode) для деталей налаштування. -### Інші вбудовані Plugin провайдерів +### Інші вбудовані плагіни постачальників -| Провайдер | Id | Env автентифікації | Приклад моделі | -| ----------------------- | -------------------------------- | ------------------------------------------------------------ | ----------------------------------------------- | -| BytePlus | `byteplus` / `byteplus-plan` | `BYTEPLUS_API_KEY` | `byteplus-plan/ark-code-latest` | -| Cerebras | `cerebras` | `CEREBRAS_API_KEY` | `cerebras/zai-glm-4.7` | -| Cloudflare AI Gateway | `cloudflare-ai-gateway` | `CLOUDFLARE_AI_GATEWAY_API_KEY` | — | -| DeepInfra | `deepinfra` | `DEEPINFRA_API_KEY` | `deepinfra/deepseek-ai/DeepSeek-V3.2` | -| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` | `deepseek/deepseek-v4-flash` | -| GitHub Copilot | `github-copilot` | `COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN` | — | -| Groq | `groq` | `GROQ_API_KEY` | — | -| Hugging Face Inference | `huggingface` | `HUGGINGFACE_HUB_TOKEN` або `HF_TOKEN` | `huggingface/deepseek-ai/DeepSeek-R1` | -| Kilo Gateway | `kilocode` | `KILOCODE_API_KEY` | `kilocode/kilo/auto` | -| Kimi Coding | `kimi` | `KIMI_API_KEY` або `KIMICODE_API_KEY` | `kimi/kimi-code` | -| MiniMax | `minimax` / `minimax-portal` | `MINIMAX_API_KEY` / `MINIMAX_OAUTH_TOKEN` | `minimax/MiniMax-M2.7` | -| Mistral | `mistral` | `MISTRAL_API_KEY` | `mistral/mistral-large-latest` | -| Moonshot | `moonshot` | `MOONSHOT_API_KEY` | `moonshot/kimi-k2.6` | -| NVIDIA | `nvidia` | `NVIDIA_API_KEY` | `nvidia/nvidia/llama-3.1-nemotron-70b-instruct` | -| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` | `openrouter/auto` | -| Qianfan | `qianfan` | `QIANFAN_API_KEY` | `qianfan/deepseek-v3.2` | -| Qwen Cloud | `qwen` | `QWEN_API_KEY` / `MODELSTUDIO_API_KEY` / `DASHSCOPE_API_KEY` | `qwen/qwen3.5-plus` | -| StepFun | `stepfun` / `stepfun-plan` | `STEPFUN_API_KEY` | `stepfun/step-3.5-flash` | -| Together | `together` | `TOGETHER_API_KEY` | `together/moonshotai/Kimi-K2.5` | -| Venice | `venice` | `VENICE_API_KEY` | — | -| Vercel AI Gateway | `vercel-ai-gateway` | `AI_GATEWAY_API_KEY` | `vercel-ai-gateway/anthropic/claude-opus-4.6` | -| Volcano Engine (Doubao) | `volcengine` / `volcengine-plan` | `VOLCANO_ENGINE_API_KEY` | `volcengine-plan/ark-code-latest` | -| xAI | `xai` | `XAI_API_KEY` | `xai/grok-4` | -| Xiaomi | `xiaomi` | `XIAOMI_API_KEY` | `xiaomi/mimo-v2-flash` | +| Постачальник | Id | Env автентифікації | Приклад моделі | +| ---------------------- | -------------------------------- | ------------------------------------------------------------ | --------------------------------------------- | +| BytePlus | `byteplus` / `byteplus-plan` | `BYTEPLUS_API_KEY` | `byteplus-plan/ark-code-latest` | +| Cerebras | `cerebras` | `CEREBRAS_API_KEY` | `cerebras/zai-glm-4.7` | +| Cloudflare AI Gateway | `cloudflare-ai-gateway` | `CLOUDFLARE_AI_GATEWAY_API_KEY` | — | +| DeepInfra | `deepinfra` | `DEEPINFRA_API_KEY` | `deepinfra/deepseek-ai/DeepSeek-V3.2` | +| DeepSeek | `deepseek` | `DEEPSEEK_API_KEY` | `deepseek/deepseek-v4-flash` | +| GitHub Copilot | `github-copilot` | `COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN` | — | +| Groq | `groq` | `GROQ_API_KEY` | — | +| Hugging Face Inference | `huggingface` | `HUGGINGFACE_HUB_TOKEN` або `HF_TOKEN` | `huggingface/deepseek-ai/DeepSeek-R1` | +| Kilo Gateway | `kilocode` | `KILOCODE_API_KEY` | `kilocode/kilo/auto` | +| Kimi Coding | `kimi` | `KIMI_API_KEY` або `KIMICODE_API_KEY` | `kimi/kimi-code` | +| MiniMax | `minimax` / `minimax-portal` | `MINIMAX_API_KEY` / `MINIMAX_OAUTH_TOKEN` | `minimax/MiniMax-M2.7` | +| Mistral | `mistral` | `MISTRAL_API_KEY` | `mistral/mistral-large-latest` | +| Moonshot | `moonshot` | `MOONSHOT_API_KEY` | `moonshot/kimi-k2.6` | +| NVIDIA | `nvidia` | `NVIDIA_API_KEY` | `nvidia/nvidia/nemotron-3-super-120b-a12b` | +| OpenRouter | `openrouter` | `OPENROUTER_API_KEY` | `openrouter/auto` | +| Qianfan | `qianfan` | `QIANFAN_API_KEY` | `qianfan/deepseek-v3.2` | +| Qwen Cloud | `qwen` | `QWEN_API_KEY` / `MODELSTUDIO_API_KEY` / `DASHSCOPE_API_KEY` | `qwen/qwen3.5-plus` | +| StepFun | `stepfun` / `stepfun-plan` | `STEPFUN_API_KEY` | `stepfun/step-3.5-flash` | +| Together | `together` | `TOGETHER_API_KEY` | `together/moonshotai/Kimi-K2.5` | +| Venice | `venice` | `VENICE_API_KEY` | — | +| Vercel AI Gateway | `vercel-ai-gateway` | `AI_GATEWAY_API_KEY` | `vercel-ai-gateway/anthropic/claude-opus-4.6` | +| Volcano Engine (Doubao) | `volcengine` / `volcengine-plan` | `VOLCANO_ENGINE_API_KEY` | `volcengine-plan/ark-code-latest` | +| xAI | `xai` | `XAI_API_KEY` | `xai/grok-4` | +| Xiaomi | `xiaomi` | `XIAOMI_API_KEY` | `xiaomi/mimo-v2-flash` | #### Особливості, які варто знати - Застосовує свої заголовки атрибуції застосунку та маркери Anthropic `cache_control` лише на перевірених маршрутах `openrouter.ai`. Посилання DeepSeek, Moonshot і ZAI придатні для cache-TTL для керованого OpenRouter кешування промптів, але не отримують маркери кешу Anthropic. Як проксі-стильовий OpenAI-сумісний шлях, він пропускає формування лише для native-OpenAI (`serviceTier`, Responses `store`, підказки кешу промптів, сумісність reasoning OpenAI). Посилання на базі Gemini зберігають лише proxy-Gemini очищення thought-signature. + Застосовує свої заголовки атрибуції застосунку та маркери Anthropic `cache_control` лише на перевірених маршрутах `openrouter.ai`. Посилання DeepSeek, Moonshot і ZAI придатні для cache-TTL у керованому OpenRouter кешуванні prompt, але не отримують кеш-маркерів Anthropic. Як proxy-style OpenAI-сумісний шлях, він пропускає формування лише для native-OpenAI (`serviceTier`, Responses `store`, підказки prompt-cache, OpenAI reasoning-compat). Посилання на базі Gemini зберігають лише proxy-Gemini очищення thought-signature. - Посилання на базі Gemini проходять тим самим шляхом proxy-Gemini очищення; `kilocode/kilo/auto` та інші посилання proxy-reasoning-unsupported пропускають ін’єкцію proxy reasoning. + Посилання на базі Gemini проходять той самий шлях очищення proxy-Gemini; `kilocode/kilo/auto` та інші посилання proxy-reasoning-unsupported пропускають інʼєкцію proxy reasoning. - Підключення через API-ключ записує явні визначення текстових моделей чату M2.7; розуміння зображень лишається на медіапровайдері `MiniMax-VL-01`, яким володіє Plugin. + Onboarding через API-ключ записує явні text-only визначення chat-моделей M2.7; розуміння зображень залишається на media provider `MiniMax-VL-01`, яким володіє плагін. + + + Ідентифікатори моделей використовують простір імен `nvidia//` (наприклад, `nvidia/nvidia/nemotron-...` поряд із `nvidia/moonshotai/kimi-k2.5`); засоби вибору зберігають буквальну композицію `/`, тоді як канонічний ключ, що надсилається до API, залишається з одним префіксом. Використовує шлях xAI Responses. `/fast` або `params.fastMode: true` переписує `grok-3`, `grok-3-mini`, `grok-4` і `grok-4-0709` на їхні варіанти `*-fast`. `tool_stream` увімкнено за замовчуванням; вимкніть через `agents.defaults.models["xai/"].params.tool_stream=false`. - Постачається як вбудований Plugin провайдера `cerebras`. GLM використовує `zai-glm-4.7`; OpenAI-сумісна базова URL-адреса — `https://api.cerebras.ai/v1`. + Постачається як вбудований плагін постачальника `cerebras`. GLM використовує `zai-glm-4.7`; OpenAI-сумісна базова URL-адреса — `https://api.cerebras.ai/v1`. -## Провайдери через `models.providers` (власна/базова URL-адреса) +## Постачальники через `models.providers` (власна/базова URL-адреса) -Використовуйте `models.providers` (або `models.json`), щоб додати **власних** провайдерів або OpenAI/Anthropic‑сумісні проксі. +Використовуйте `models.providers` (або `models.json`), щоб додати **власних** постачальників або OpenAI/Anthropic‑сумісні проксі. -Багато з наведених нижче вбудованих Plugin провайдерів уже публікують стандартний каталог. Використовуйте явні записи `models.providers.` лише тоді, коли хочете перевизначити стандартну базову URL-адресу, заголовки або список моделей. +Багато вбудованих плагінів постачальників нижче вже публікують стандартний каталог. Використовуйте явні записи `models.providers.` лише тоді, коли потрібно перевизначити стандартну базову URL-адресу, заголовки або список моделей. -Перевірки можливостей моделей Gateway також читають явні метадані `models.providers..models[]`. Якщо власна або проксі-модель приймає зображення, встановіть `input: ["text", "image"]` для цієї моделі, щоб WebChat і шляхи вкладень із node-origin передавали зображення як нативні входи моделі замість текстових медіапосилань. +Перевірки можливостей моделей Gateway також читають явні метадані `models.providers..models[]`. Якщо власна або проксі-модель приймає зображення, задайте `input: ["text", "image"]` для цієї моделі, щоб шляхи WebChat і вкладень з node-origin передавали зображення як native model inputs, а не як text-only media refs. ### Moonshot AI (Kimi) -Moonshot постачається як вбудований Plugin провайдера. За замовчуванням використовуйте вбудованого провайдера та додавайте явний запис `models.providers.moonshot` лише тоді, коли потрібно перевизначити базову URL-адресу або метадані моделі: +Moonshot постачається як вбудований плагін постачальника. За замовчуванням використовуйте вбудованого постачальника й додавайте явний запис `models.providers.moonshot` лише тоді, коли потрібно перевизначити базову URL-адресу або метадані моделі: -- Провайдер: `moonshot` +- Постачальник: `moonshot` - Автентифікація: `MOONSHOT_API_KEY` - Приклад моделі: `moonshot/kimi-k2.6` - CLI: `openclaw onboard --auth-choice moonshot-api-key` або `openclaw onboard --auth-choice moonshot-api-key-cn` @@ -380,11 +380,11 @@ Moonshot постачається як вбудований Plugin провай } ``` -### Кодування Kimi +### Програмування з Kimi -Kimi Coding використовує сумісну з Anthropic кінцеву точку Moonshot AI: +Kimi Coding використовує Anthropic-сумісну кінцеву точку Moonshot AI: -- Постачальник: `kimi` +- Провайдер: `kimi` - Автентифікація: `KIMI_API_KEY` - Приклад моделі: `kimi/kimi-code` @@ -403,7 +403,7 @@ Kimi Coding використовує сумісну з Anthropic кінцеву Volcano Engine (火山引擎) надає доступ до Doubao та інших моделей у Китаї. -- Постачальник: `volcengine` (кодування: `volcengine-plan`) +- Провайдер: `volcengine` (для програмування: `volcengine-plan`) - Автентифікація: `VOLCANO_ENGINE_API_KEY` - Приклад моделі: `volcengine-plan/ark-code-latest` - CLI: `openclaw onboard --auth-choice volcengine-api-key` @@ -416,9 +416,9 @@ Volcano Engine (火山引擎) надає доступ до Doubao та інши } ``` -Під час початкового налаштування за замовчуванням використовується поверхня кодування, але загальний каталог `volcengine/*` реєструється одночасно. +Onboarding за замовчуванням використовує поверхню для програмування, але загальний каталог `volcengine/*` реєструється одночасно. -У засобах вибору моделей під час початкового налаштування/конфігурування варіант автентифікації Volcengine надає перевагу рядкам `volcengine/*` і `volcengine-plan/*`. Якщо ці моделі ще не завантажено, OpenClaw повертається до нефільтрованого каталогу замість показу порожнього засобу вибору, обмеженого постачальником. +У засобах вибору моделі під час onboarding/configure варіант автентифікації Volcengine віддає перевагу рядкам як `volcengine/*`, так і `volcengine-plan/*`. Якщо ці моделі ще не завантажено, OpenClaw повертається до нефільтрованого каталогу замість показу порожнього засобу вибору, обмеженого провайдером. @@ -429,7 +429,7 @@ Volcano Engine (火山引擎) надає доступ до Doubao та інши - `volcengine/deepseek-v3-2-251201` (DeepSeek V3.2 128K) - + - `volcengine-plan/ark-code-latest` - `volcengine-plan/doubao-seed-code` - `volcengine-plan/kimi-k2.5` @@ -439,11 +439,11 @@ Volcano Engine (火山引擎) надає доступ до Doubao та інши -### BytePlus (International) +### BytePlus (міжнародний) BytePlus ARK надає міжнародним користувачам доступ до тих самих моделей, що й Volcano Engine. -- Постачальник: `byteplus` (кодування: `byteplus-plan`) +- Провайдер: `byteplus` (для програмування: `byteplus-plan`) - Автентифікація: `BYTEPLUS_API_KEY` - Приклад моделі: `byteplus-plan/ark-code-latest` - CLI: `openclaw onboard --auth-choice byteplus-api-key` @@ -456,9 +456,9 @@ BytePlus ARK надає міжнародним користувачам дост } ``` -Під час початкового налаштування за замовчуванням використовується поверхня кодування, але загальний каталог `byteplus/*` реєструється одночасно. +Onboarding за замовчуванням використовує поверхню для програмування, але загальний каталог `byteplus/*` реєструється одночасно. -У засобах вибору моделей під час початкового налаштування/конфігурування варіант автентифікації BytePlus надає перевагу рядкам `byteplus/*` і `byteplus-plan/*`. Якщо ці моделі ще не завантажено, OpenClaw повертається до нефільтрованого каталогу замість показу порожнього засобу вибору, обмеженого постачальником. +У засобах вибору моделі під час onboarding/configure вибір автентифікації BytePlus надає перевагу рядкам і `byteplus/*`, і `byteplus-plan/*`. Якщо ці моделі ще не завантажені, OpenClaw повертається до нефільтрованого каталогу замість показу порожнього засобу вибору, обмеженого провайдером. @@ -515,18 +515,18 @@ MiniMax налаштовується через `models.providers`, оскіль - MiniMax API key (CN): `--auth-choice minimax-cn-api` - Автентифікація: `MINIMAX_API_KEY` для `minimax`; `MINIMAX_OAUTH_TOKEN` або `MINIMAX_API_KEY` для `minimax-portal` -Див. [/providers/minimax](/uk/providers/minimax), щоб дізнатися про налаштування, параметри моделей і фрагменти конфігурації. +Докладні відомості про налаштування, варіанти моделей і фрагменти конфігурації див. у [/providers/minimax](/uk/providers/minimax). -На Anthropic-сумісному шляху потокового передавання MiniMax OpenClaw типово вимикає мислення, якщо ви явно його не налаштували, а `/fast on` переписує `MiniMax-M2.7` на `MiniMax-M2.7-highspeed`. +На Anthropic-сумісному потоковому шляху MiniMax OpenClaw типово вимикає мислення, якщо ви явно його не задасте, а `/fast on` переписує `MiniMax-M2.7` на `MiniMax-M2.7-highspeed`. -Розділення можливостей, що належать Plugin: +Поділ можливостей, що належать Plugin: -- Типові налаштування тексту/чату залишаються на `minimax/MiniMax-M2.7` +- Типові значення для тексту/чату залишаються на `minimax/MiniMax-M2.7` - Генерація зображень — це `minimax/image-01` або `minimax-portal/image-01` -- Розуміння зображень — це належна Plugin `MiniMax-VL-01` на обох шляхах автентифікації MiniMax -- Вебпошук залишається на ідентифікаторі провайдера `minimax` +- Розуміння зображень належить Plugin `MiniMax-VL-01` на обох шляхах автентифікації MiniMax +- Вебпошук залишається на id провайдера `minimax` ### LM Studio @@ -534,7 +534,7 @@ LM Studio постачається як вбудований Plugin провай - Провайдер: `lmstudio` - Автентифікація: `LM_API_TOKEN` -- Типова базова URL-адреса для інференсу: `http://localhost:1234/v1` +- Типова базова URL-адреса для inference: `http://localhost:1234/v1` Потім задайте модель (замініть на один з ідентифікаторів, повернених `http://localhost:1234/api/v1/models`): @@ -546,11 +546,11 @@ LM Studio постачається як вбудований Plugin провай } ``` -OpenClaw використовує нативні `/api/v1/models` і `/api/v1/models/load` LM Studio для виявлення та автозавантаження, а `/v1/chat/completions` типово для інференсу. Див. [/providers/lmstudio](/uk/providers/lmstudio) для налаштування й усунення несправностей. +OpenClaw використовує нативні `/api/v1/models` і `/api/v1/models/load` LM Studio для виявлення й автоматичного завантаження, а `/v1/chat/completions` типово для inference. Налаштування й усунення неполадок див. у [/providers/lmstudio](/uk/providers/lmstudio). ### Ollama -Ollama постачається як вбудований Plugin провайдера й використовує нативний API Ollama: +Ollama постачається як вбудований Plugin провайдера та використовує нативний API Ollama: - Провайдер: `ollama` - Автентифікація: не потрібна (локальний сервер) @@ -570,17 +570,17 @@ ollama pull llama3.3 } ``` -Ollama локально виявляється за адресою `http://127.0.0.1:11434`, коли ви вмикаєте її через `OLLAMA_API_KEY`, а вбудований Plugin провайдера додає Ollama безпосередньо до `openclaw onboard` і засобу вибору моделей. Див. [/providers/ollama](/uk/providers/ollama) для onboarding, хмарного/локального режиму та власної конфігурації. +Ollama виявляється локально на `http://127.0.0.1:11434`, коли ви погоджуєтеся через `OLLAMA_API_KEY`, а вбудований Plugin провайдера додає Ollama безпосередньо до `openclaw onboard` і засобу вибору моделі. Onboarding, хмарний/локальний режим і власне налаштування див. у [/providers/ollama](/uk/providers/ollama). ### vLLM -vLLM постачається як вбудований Plugin провайдера для локальних/самостійно розміщених OpenAI-сумісних серверів: +vLLM постачається як вбудований Plugin провайдера для локальних або самостійно розміщених OpenAI-сумісних серверів: - Провайдер: `vllm` -- Автентифікація: необов'язкова (залежить від вашого сервера) +- Автентифікація: необов’язкова (залежить від вашого сервера) - Типова базова URL-адреса: `http://127.0.0.1:8000/v1` -Щоб увімкнути локальне автовиявлення (будь-яке значення працює, якщо ваш сервер не вимагає автентифікації): +Щоб увімкнути локальне автовиявлення (підійде будь-яке значення, якщо ваш сервер не застосовує автентифікацію): ```bash export VLLM_API_KEY="vllm-local" @@ -596,17 +596,17 @@ export VLLM_API_KEY="vllm-local" } ``` -Див. [/providers/vllm](/uk/providers/vllm) для подробиць. +Докладніше див. у [/providers/vllm](/uk/providers/vllm). ### SGLang SGLang постачається як вбудований Plugin провайдера для швидких самостійно розміщених OpenAI-сумісних серверів: - Провайдер: `sglang` -- Автентифікація: необов'язкова (залежить від вашого сервера) +- Автентифікація: необов’язкова (залежить від вашого сервера) - Типова базова URL-адреса: `http://127.0.0.1:30000/v1` -Щоб увімкнути локальне автовиявлення (будь-яке значення працює, якщо ваш сервер не вимагає автентифікації): +Щоб увімкнути локальне автовиявлення (підійде будь-яке значення, якщо ваш сервер не застосовує автентифікацію): ```bash export SGLANG_API_KEY="sglang-local" @@ -622,11 +622,11 @@ export SGLANG_API_KEY="sglang-local" } ``` -Див. [/providers/sglang](/uk/providers/sglang) для подробиць. +Докладніше див. у [/providers/sglang](/uk/providers/sglang). ### Локальні проксі (LM Studio, vLLM, LiteLLM тощо) -Приклад (OpenAI-сумісний): +Приклад (OpenAI‑сумісний): ```json5 { @@ -661,8 +661,8 @@ export SGLANG_API_KEY="sglang-local" ``` - - Для користувацьких провайдерів `reasoning`, `input`, `cost`, `contextWindow` і `maxTokens` є необов'язковими. Якщо їх пропущено, OpenClaw типово використовує: + + Для власних провайдерів `reasoning`, `input`, `cost`, `contextWindow` і `maxTokens` є необов’язковими. Якщо їх пропущено, OpenClaw типово використовує: - `reasoning: false` - `input: ["text"]` @@ -673,15 +673,15 @@ export SGLANG_API_KEY="sglang-local" Рекомендовано: задайте явні значення, що відповідають обмеженням вашого проксі/моделі. - - - Для `api: "openai-completions"` на ненативних кінцевих точках (будь-яка непорожня `baseUrl`, хост якої не є `api.openai.com`) OpenClaw примусово задає `compat.supportsDeveloperRole: false`, щоб уникнути помилок провайдера 400 для непідтримуваних ролей `developer`. - - Proxy-стилізовані OpenAI-сумісні маршрути також пропускають нативне формування запитів, властиве лише OpenAI: без `service_tier`, без Responses `store`, без Completions `store`, без підказок prompt-cache, без формування payload для сумісності мислення OpenAI і без прихованих заголовків атрибуції OpenClaw. - - Для OpenAI-сумісних проксі Completions, яким потрібні специфічні для постачальника поля, задайте `agents.defaults.models["provider/model"].params.extra_body` (або `extraBody`), щоб об'єднати додатковий JSON із тілом вихідного запиту. - - Для керування chat-template vLLM задайте `agents.defaults.models["provider/model"].params.chat_template_kwargs`. Вбудований Plugin vLLM автоматично надсилає `enable_thinking: false` і `force_nonempty_content: true` для `vllm/nemotron-3-*`, коли рівень мислення сесії вимкнено. - - Для повільних локальних моделей або віддалених хостів LAN/tailnet задайте `models.providers..timeoutSeconds`. Це розширює обробку HTTP-запитів до моделі провайдера, включно з підключенням, заголовками, потоковим передаванням тіла та загальним перериванням guarded-fetch, не збільшуючи тайм-аут усього runtime агента. - - Якщо `baseUrl` порожній/пропущений, OpenClaw зберігає типову поведінку OpenAI (яка зводиться до `api.openai.com`). - - Для безпеки явне `compat.supportsDeveloperRole: true` усе одно перевизначається на ненативних кінцевих точках `openai-completions`. - - Для `api: "anthropic-messages"` на непрямих кінцевих точках (будь-який провайдер, крім канонічного `anthropic`, або користувацький `models.providers.anthropic.baseUrl`, хост якого не є публічною кінцевою точкою `api.anthropic.com`) OpenClaw пригнічує неявні бета-заголовки Anthropic, як-от `claude-code-20250219`, `interleaved-thinking-2025-05-14` і маркери OAuth, щоб користувацькі Anthropic-сумісні проксі не відхиляли непідтримувані бета-прапорці. Явно задайте `models.providers..headers["anthropic-beta"]`, якщо вашому проксі потрібні певні бета-функції. + + - Для `api: "openai-completions"` на ненативних кінцевих точках (будь-який непорожній `baseUrl`, хост якого не є `api.openai.com`) OpenClaw примусово задає `compat.supportsDeveloperRole: false`, щоб уникнути помилок 400 від провайдера для непідтримуваних ролей `developer`. + - Проксі-маршрути у стилі OpenAI-сумісності також пропускають нативне формування запитів, призначене лише для OpenAI: без `service_tier`, без Responses `store`, без Completions `store`, без підказок кешу prompt, без формування OpenAI reasoning-compat payload і без прихованих заголовків атрибуції OpenClaw. + - Для OpenAI-сумісних проксі Completions, яким потрібні специфічні для постачальника поля, задайте `agents.defaults.models["provider/model"].params.extra_body` (або `extraBody`), щоб об’єднати додатковий JSON з тілом вихідного запиту. + - Для керування chat-template vLLM задайте `agents.defaults.models["provider/model"].params.chat_template_kwargs`. Вбудований Plugin vLLM автоматично надсилає `enable_thinking: false` і `force_nonempty_content: true` для `vllm/nemotron-3-*`, коли рівень мислення сеансу вимкнено. + - Для повільних локальних моделей або віддалених хостів LAN/tailnet задайте `models.providers..timeoutSeconds`. Це розширює обробку HTTP-запитів моделі провайдера, зокрема connect, headers, потокове передавання body і загальне переривання guarded-fetch, не збільшуючи загальний timeout runtime агента. + - Якщо `baseUrl` порожній або пропущений, OpenClaw зберігає типову поведінку OpenAI (яка розв’язується до `api.openai.com`). + - З міркувань безпеки явне `compat.supportsDeveloperRole: true` все одно перевизначається на ненативних кінцевих точках `openai-completions`. + - Для `api: "anthropic-messages"` на непрямих кінцевих точках (будь-який провайдер, крім канонічного `anthropic`, або власний `models.providers.anthropic.baseUrl`, хост якого не є публічною кінцевою точкою `api.anthropic.com`) OpenClaw пригнічує неявні бета-заголовки Anthropic, як-от `claude-code-20250219`, `interleaved-thinking-2025-05-14` і маркери OAuth, щоб власні Anthropic-сумісні проксі не відхиляли непідтримувані бета-прапорці. Явно задайте `models.providers..headers["anthropic-beta"]`, якщо вашому проксі потрібні певні бета-функції. @@ -694,11 +694,11 @@ openclaw models set opencode/claude-opus-4-6 openclaw models list ``` -Див. також: [Конфігурація](/uk/gateway/configuration) для повних прикладів конфігурації. +Також див.: [Конфігурація](/uk/gateway/configuration) для повних прикладів конфігурації. -## Пов'язане +## Пов’язане -- [Довідник конфігурації](/uk/gateway/config-agents#agent-defaults) — ключі конфігурації моделей -- [Failover моделей](/uk/concepts/model-failover) — резервні ланцюжки й поведінка повторних спроб +- [Довідник конфігурації](/uk/gateway/config-agents#agent-defaults) — ключі конфігурації моделі +- [Відпрацювання відмови моделі](/uk/concepts/model-failover) — ланцюги fallback і поведінка повторних спроб - [Моделі](/uk/concepts/models) — конфігурація моделей і псевдоніми - [Провайдери](/uk/providers) — посібники з налаштування для кожного провайдера diff --git a/docs/uk/providers/nvidia.md b/docs/uk/providers/nvidia.md index f8985213b..9ebe62a74 100644 --- a/docs/uk/providers/nvidia.md +++ b/docs/uk/providers/nvidia.md @@ -1,35 +1,35 @@ --- read_when: - Ви хочете безкоштовно використовувати відкриті моделі в OpenClaw - - Вам потрібно налаштувати `NVIDIA_API_KEY` -summary: Використання OpenAI-compatible API від NVIDIA в OpenClaw + - Потрібно налаштувати NVIDIA_API_KEY +summary: Використовуйте API NVIDIA, сумісний з OpenAI, в OpenClaw title: NVIDIA x-i18n: - generated_at: "2026-04-23T21:07:02Z" - model: gpt-5.4 + generated_at: "2026-04-29T16:29:09Z" + model: gpt-5.5 provider: openai - source_hash: 2d056be5be012be537ba5c4d5812ea15ec440e5a552b235854e2078064376192 + source_hash: 297cc25cf5235bb51f3962c2a1b8799ca6544d57e701c42e9b1e1c7d881ad32b source_path: providers/nvidia.md - workflow: 15 + workflow: 16 --- -NVIDIA надає OpenAI-compatible API за адресою `https://integrate.api.nvidia.com/v1` для -безкоштовного використання відкритих моделей. Автентифікація здійснюється через API key з +NVIDIA надає API, сумісний з OpenAI, за адресою `https://integrate.api.nvidia.com/v1` для +безкоштовного використання відкритих моделей. Автентифікуйтеся за допомогою API-ключа з [build.nvidia.com](https://build.nvidia.com/settings/api-keys). ## Початок роботи - - Створіть API key на [build.nvidia.com](https://build.nvidia.com/settings/api-keys). + + Створіть API-ключ на [build.nvidia.com](https://build.nvidia.com/settings/api-keys). - + ```bash export NVIDIA_API_KEY="nvapi-..." - openclaw onboard --auth-choice skip + openclaw onboard --auth-choice nvidia-api-key ``` - + ```bash openclaw models set nvidia/nvidia/nemotron-3-super-120b-a12b ``` @@ -37,10 +37,17 @@ NVIDIA надає OpenAI-compatible API за адресою `https://integrate.a -Якщо ви передасте `--token` замість env var, значення потрапить в історію shell і -у вивід `ps`. Якщо можливо, віддавайте перевагу змінній середовища `NVIDIA_API_KEY`. +Якщо передати `--nvidia-api-key` замість змінної середовища, значення потрапить в історію +оболонки та вивід `ps`. За можливості віддавайте перевагу змінній середовища +`NVIDIA_API_KEY`. +Для неінтерактивного налаштування також можна передати ключ напряму: + +```bash +openclaw onboard --auth-choice nvidia-api-key --nvidia-api-key "nvapi-..." +``` + ## Приклад конфігурації ```json5 @@ -64,45 +71,45 @@ NVIDIA надає OpenAI-compatible API за адресою `https://integrate.a ## Вбудований каталог -| Model ref | Name | Context | Max output | -| ------------------------------------------ | ---------------------------- | ------- | ---------- | -| `nvidia/nvidia/nemotron-3-super-120b-a12b` | NVIDIA Nemotron 3 Super 120B | 262,144 | 8,192 | -| `nvidia/moonshotai/kimi-k2.5` | Kimi K2.5 | 262,144 | 8,192 | -| `nvidia/minimaxai/minimax-m2.5` | Minimax M2.5 | 196,608 | 8,192 | -| `nvidia/z-ai/glm5` | GLM 5 | 202,752 | 8,192 | +| Посилання на модель | Назва | Контекст | Максимальний вивід | +| ------------------------------------------ | ---------------------------- | -------- | ------------------ | +| `nvidia/nvidia/nemotron-3-super-120b-a12b` | NVIDIA Nemotron 3 Super 120B | 262,144 | 8,192 | +| `nvidia/moonshotai/kimi-k2.5` | Kimi K2.5 | 262,144 | 8,192 | +| `nvidia/minimaxai/minimax-m2.5` | Minimax M2.5 | 196,608 | 8,192 | +| `nvidia/z-ai/glm5` | GLM 5 | 202,752 | 8,192 | -## Розширене налаштування +## Розширена конфігурація - - Провайдер автоматично вмикається, коли задано змінну середовища `NVIDIA_API_KEY`. - Окрім самого ключа, явна конфігурація провайдера не потрібна. + + Провайдер автоматично вмикається, коли встановлено змінну середовища `NVIDIA_API_KEY`. + Окрім ключа, явна конфігурація провайдера не потрібна. - - Вбудований каталог є статичним. Вартість у source типово дорівнює `0`, оскільки NVIDIA - наразі надає безкоштовний доступ до API для перелічених моделей. + + Вбудований каталог статичний. У вихідному коді вартість за замовчуванням дорівнює `0`, оскільки NVIDIA + наразі пропонує безкоштовний доступ до API для перелічених моделей. - - NVIDIA використовує стандартний endpoint completions `/v1`. Будь-який OpenAI-compatible - інструментарій має працювати одразу з base URL NVIDIA. + + NVIDIA використовує стандартний кінцевий пункт completions `/v1`. Будь-які інструменти, сумісні з OpenAI, + мають працювати з базовою URL-адресою NVIDIA без додаткових налаштувань. -Моделі NVIDIA наразі безкоштовні у використанні. Перевіряйте -[build.nvidia.com](https://build.nvidia.com/) для актуальної інформації про доступність і -ліміти rate-limit. +Моделі NVIDIA наразі можна використовувати безкоштовно. Перевіряйте +[build.nvidia.com](https://build.nvidia.com/) для отримання найновіших відомостей про доступність і +ліміти швидкості. ## Пов’язане - Вибір провайдерів, model ref і поведінки failover. + Вибір провайдерів, посилань на моделі та поведінки відмовостійкого перемикання. - - Повний довідник конфігурації для агентів, моделей і провайдерів. + + Повний довідник із конфігурації для агентів, моделей і провайдерів. diff --git a/docs/uk/tools/exec.md b/docs/uk/tools/exec.md index 67558696d..5a4825be1 100644 --- a/docs/uk/tools/exec.md +++ b/docs/uk/tools/exec.md @@ -3,24 +3,24 @@ read_when: - Використання або змінення інструмента exec - Налагодження поведінки stdin або TTY summary: Використання інструмента Exec, режими stdin і підтримка TTY -title: Інструмент Exec +title: Інструмент виконання x-i18n: - generated_at: "2026-04-28T11:27:04Z" + generated_at: "2026-04-29T16:29:15Z" model: gpt-5.5 provider: openai - source_hash: d951a4e73cc854d767c1084de9054d1c07857599c6f6c5e3f6a00b718b768c51 + source_hash: 7949cfde9f141202a3bc36c2be72ecdf6d43305b5f16fb02835a69bcaa46067b source_path: tools/exec.md workflow: 16 --- -Запускайте shell-команди в робочому просторі. Підтримує виконання на передньому плані + у фоні через `process`. -Якщо `process` заборонено, `exec` виконується синхронно та ігнорує `yieldMs`/`background`. -Фонові сеанси мають область дії в межах агента; `process` бачить лише сеанси того самого агента. +Виконуйте shell-команди в робочій області. Підтримує виконання на передньому плані та у фоні через `process`. +Якщо `process` заборонено, `exec` виконується синхронно й ігнорує `yieldMs`/`background`. +Фонові сеанси обмежені кожним агентом; `process` бачить лише сеанси того самого агента. ## Параметри -Shell-команда для запуску. +Shell-команда для виконання. @@ -28,31 +28,31 @@ Shell-команда для запуску. -Перевизначення середовища у форматі ключ/значення, об’єднані поверх успадкованого середовища. +Перевизначення середовища у вигляді ключ/значення, об’єднані поверх успадкованого середовища. -Автоматично перевести команду у фон після цієї затримки (мс). +Автоматично перевести команду у фоновий режим після цієї затримки (мс). -Перевести команду у фон негайно замість очікування `yieldMs`. +Негайно перевести команду у фоновий режим замість очікування `yieldMs`. -Перевизначити налаштований тайм-аут exec для цього виклику. Задавайте `timeout: 0` лише тоді, коли команда має виконуватися без тайм-ауту процесу exec. +Перевизначити налаштований час очікування exec для цього виклику. Установлюйте `timeout: 0` лише тоді, коли команда має виконуватися без часу очікування процесу exec. -Запускати у псевдотерміналі, коли він доступний. Використовуйте для CLI, що потребують TTY, агентів кодування та термінальних UI. +Запускати в псевдотерміналі, коли він доступний. Використовуйте для CLI, що потребують TTY, агентів кодування та термінальних UI. -Де виконувати. `auto` перетворюється на `sandbox`, коли активне середовище виконання пісочниці, і на `gateway` в інших випадках. +Де виконувати. `auto` перетворюється на `sandbox`, коли активне середовище виконання пісочниці, і на `gateway` в іншому разі. -Режим примусового застосування для виконання `gateway` / `node`. +Режим застосування для виконання `gateway` / `node`. @@ -64,58 +64,59 @@ Shell-команда для запуску. -Запросити підвищений режим — вийти з пісочниці на налаштований шлях хоста. `security=full` примусово застосовується лише тоді, коли elevated перетворюється на `full`. +Запитати підвищений режим — вийти з пісочниці до налаштованого шляху хоста. `security=full` примусово застосовується лише тоді, коли підвищення перетворюється на `full`. Примітки: -- `host` за замовчуванням має значення `auto`: пісочниця, коли середовище виконання пісочниці активне для сеансу, інакше gateway. -- `auto` — це стандартна стратегія маршрутизації, а не wildcard. `host=node` для окремого виклику дозволено з `auto`; `host=gateway` для окремого виклику дозволено лише тоді, коли середовище виконання пісочниці не активне. -- Без додаткової конфігурації `host=auto` усе одно «просто працює»: якщо пісочниці немає, він перетворюється на `gateway`; якщо пісочниця активна, він залишається в пісочниці. -- `elevated` виходить із пісочниці на налаштований шлях хоста: за замовчуванням `gateway`, або `node`, коли `tools.exec.host=node` (або стандарт сеансу — `host=node`). Доступно лише тоді, коли підвищений доступ увімкнено для поточного сеансу/провайдера. +- `host` за замовчуванням дорівнює `auto`: пісочниця, коли середовище виконання пісочниці активне для сеансу, інакше gateway. +- `host` приймає лише `auto`, `sandbox`, `gateway` або `node`. Це не селектор імені хоста; значення, схожі на імена хостів, відхиляються до запуску команди. +- `auto` — це стандартна стратегія маршрутизації, а не wildcard. `host=node` для окремого виклику дозволено з `auto`; `host=gateway` для окремого виклику дозволено лише тоді, коли немає активного середовища виконання пісочниці. +- Без додаткової конфігурації `host=auto` усе одно «просто працює»: немає пісочниці — перетворюється на `gateway`; активна пісочниця — залишається в пісочниці. +- `elevated` виходить із пісочниці до налаштованого шляху хоста: за замовчуванням `gateway`, або `node`, коли `tools.exec.host=node` (або стандарт сеансу — `host=node`). Доступно лише тоді, коли підвищений доступ увімкнено для поточного сеансу/провайдера. - Схвалення `gateway`/`node` контролюються через `~/.openclaw/exec-approvals.json`. -- `node` потребує спареного Node (супровідного застосунку або headless-хоста Node). -- Якщо доступно кілька Node, задайте `exec.node` або `tools.exec.node`, щоб вибрати один. +- `node` потребує спареного Node (companion app або headless node host). +- Якщо доступно кілька Node, установіть `exec.node` або `tools.exec.node`, щоб вибрати один. - `exec host=node` — єдиний шлях shell-виконання для Node; застарілу обгортку `nodes.run` видалено. -- `timeout` застосовується до виконання на передньому плані, у фоні, `yieldMs`, Gateway, пісочниці та Node `system.run`. Якщо його пропущено, OpenClaw використовує `tools.exec.timeoutSec`; явне `timeout: 0` вимикає тайм-аут процесу exec для цього виклику. -- На хостах не Windows exec використовує `SHELL`, коли його задано; якщо `SHELL` — це `fish`, він віддає перевагу `bash` (або `sh`) - з `PATH`, щоб уникнути несумісних із fish скриптів, а потім повертається до `SHELL`, якщо жодного з них немає. +- `timeout` застосовується до виконання на передньому плані, у фоні, `yieldMs`, gateway, пісочниці та `system.run` на Node. Якщо пропущено, OpenClaw використовує `tools.exec.timeoutSec`; явне `timeout: 0` вимикає час очікування процесу exec для цього виклику. +- На хостах не Windows exec використовує `SHELL`, коли задано; якщо `SHELL` — `fish`, він віддає перевагу `bash` (або `sh`) + з `PATH`, щоб уникнути скриптів, несумісних із fish, а потім повертається до `SHELL`, якщо жодного з них не існує. - На хостах Windows exec віддає перевагу виявленню PowerShell 7 (`pwsh`) (Program Files, ProgramW6432, потім PATH), а потім повертається до Windows PowerShell 5.1. - Виконання на хості (`gateway`/`node`) відхиляє `env.PATH` і перевизначення завантажувача (`LD_*`/`DYLD_*`), щоб - запобігти підміні бінарних файлів або ін’єкції коду. -- OpenClaw задає `OPENCLAW_SHELL=exec` у середовищі породженої команди (включно з виконанням у PTY і пісочниці), щоб правила shell/профілю могли виявляти контекст exec-інструмента. -- `openclaw channels login` заблоковано з `exec`, бо це інтерактивний потік автентифікації каналу; запустіть його в терміналі на хості Gateway або використайте нативний для каналу інструмент входу з чату, коли він існує. -- Важливо: пісочницю **вимкнено за замовчуванням**. Якщо пісочницю вимкнено, неявне `host=auto` - перетворюється на `gateway`. Явне `host=sandbox` усе одно завершується закритою відмовою, а не тихо - запускається на хості Gateway. Увімкніть пісочницю або використовуйте `host=gateway` зі схваленнями. -- Попередні перевірки скриптів (для поширених помилок shell-синтаксису Python/Node) перевіряють лише файли всередині - ефективної межі `workdir`. Якщо шлях скрипта перетворюється на шлях поза `workdir`, попередню перевірку для - цього файлу пропущено. -- Для тривалої роботи, яка починається зараз, запустіть її один раз і покладайтеся на автоматичне - пробудження після завершення, коли його увімкнено і команда виводить дані або завершується з помилкою. - Використовуйте `process` для журналів, статусу, вводу або втручання; не імітуйте + запобігти підміні бінарного файла або ін’єкції коду. +- OpenClaw встановлює `OPENCLAW_SHELL=exec` у середовищі породженої команди (включно з PTY і виконанням у пісочниці), щоб правила shell/profile могли виявляти контекст інструмента exec. +- `openclaw channels login` блокується з `exec`, бо це інтерактивний потік автентифікації каналу; запустіть його в терміналі на хості gateway або використайте нативний для каналу інструмент входу з чату, якщо він існує. +- Важливо: пісочниця **вимкнена за замовчуванням**. Якщо пісочниця вимкнена, неявний `host=auto` + перетворюється на `gateway`. Явний `host=sandbox` усе одно закривається з помилкою, а не непомітно + запускається на хості gateway. Увімкніть пісочницю або використайте `host=gateway` зі схваленнями. +- Попередні перевірки скриптів (для поширених помилок синтаксису shell у Python/Node) перевіряють лише файли всередині + ефективної межі `workdir`. Якщо шлях скрипта перетворюється на місце поза `workdir`, попередню перевірку для + цього файла пропущено. +- Для довготривалої роботи, яка починається зараз, запустіть її один раз і покладайтеся на автоматичне + пробудження після завершення, коли воно ввімкнене й команда виводить дані або завершується помилкою. + Використовуйте `process` для журналів, статусу, введення або втручання; не імітуйте планування циклами sleep, циклами timeout або повторним опитуванням. -- Для роботи, яка має відбутися пізніше або за розкладом, використовуйте Cron замість - шаблонів sleep/delay у `exec`. +- Для роботи, яка має відбутися пізніше або за розкладом, використовуйте cron замість + шаблонів sleep/delay з `exec`. ## Конфігурація -- `tools.exec.notifyOnExit` (за замовчуванням: true): коли true, переведені у фон сеанси exec додають системну подію до черги та запитують Heartbeat під час виходу. -- `tools.exec.approvalRunningNoticeMs` (за замовчуванням: 10000): надіслати одне сповіщення «running», коли exec, обмежений схваленням, виконується довше за це значення (0 вимикає). -- `tools.exec.timeoutSec` (за замовчуванням: 1800): стандартний тайм-аут exec для кожної команди в секундах. `timeout` для окремого виклику перевизначає його; `timeout: 0` для окремого виклику вимикає тайм-аут процесу exec. -- `tools.exec.host` (за замовчуванням: `auto`; перетворюється на `sandbox`, коли активне середовище виконання пісочниці, інакше на `gateway`) -- `tools.exec.security` (за замовчуванням: `deny` для пісочниці, `full` для Gateway + Node, коли не задано) +- `tools.exec.notifyOnExit` (за замовчуванням: true): коли true, фонові сеанси exec ставлять системну подію в чергу та запитують heartbeat під час виходу. +- `tools.exec.approvalRunningNoticeMs` (за замовчуванням: 10000): надіслати одне сповіщення «виконується», коли exec із вимогою схвалення виконується довше за це значення (0 вимикає). +- `tools.exec.timeoutSec` (за замовчуванням: 1800): стандартний час очікування exec для кожної команди в секундах. `timeout` для окремого виклику перевизначає його; `timeout: 0` для окремого виклику вимикає час очікування процесу exec. +- `tools.exec.host` (за замовчуванням: `auto`; перетворюється на `sandbox`, коли активне середовище виконання пісочниці, і на `gateway` в іншому разі) +- `tools.exec.security` (за замовчуванням: `deny` для пісочниці, `full` для gateway + node, коли не задано) - `tools.exec.ask` (за замовчуванням: `off`) -- Exec на хості без схвалення є стандартом для Gateway + Node. Якщо потрібна поведінка зі схваленнями/allowlist, посильте і `tools.exec.*`, і хостовий `~/.openclaw/exec-approvals.json`; див. [Exec approvals](/uk/tools/exec-approvals#no-approval-yolo-mode). -- YOLO походить від стандартів політики хоста (`security=full`, `ask=off`), а не від `host=auto`. Якщо потрібно примусово маршрутизувати через Gateway або Node, задайте `tools.exec.host` або використайте `/exec host=...`. -- У режимі `security=full` плюс `ask=off` host exec напряму дотримується налаштованої політики; немає додаткового евристичного префільтра приховування команд або шару відхилення попередньої перевірки скриптів. +- Виконання на хості без схвалення є стандартом для gateway + node. Якщо вам потрібна поведінка зі схваленнями/allowlist, посильте і `tools.exec.*`, і хостовий `~/.openclaw/exec-approvals.json`; див. [схвалення Exec](/uk/tools/exec-approvals#no-approval-yolo-mode). +- YOLO походить зі стандартів політики хоста (`security=full`, `ask=off`), а не з `host=auto`. Якщо потрібно примусово задати маршрутизацію gateway або node, установіть `tools.exec.host` або використайте `/exec host=...`. +- У режимі `security=full` плюс `ask=off` exec на хості безпосередньо дотримується налаштованої політики; немає додаткового евристичного попереднього фільтра обфускації команд або шару відхилення попередньої перевірки скриптів. - `tools.exec.node` (за замовчуванням: не задано) -- `tools.exec.strictInlineEval` (за замовчуванням: false): коли true, форми inline eval інтерпретатора, як-от `python -c`, `node -e`, `ruby -e`, `perl -e`, `php -r`, `lua -e` і `osascript -e`, завжди потребують явного схвалення. `allow-always` усе ще може зберігати безпечні виклики інтерпретатора/скрипта, але форми inline-eval усе одно щоразу показують запит. -- `tools.exec.pathPrepend`: список каталогів, які потрібно додати на початок `PATH` для запусків exec (лише Gateway + пісочниця). -- `tools.exec.safeBins`: безпечні бінарні файли лише для stdin, які можуть запускатися без явних записів allowlist. Подробиці поведінки див. у [Safe bins](/uk/tools/exec-approvals-advanced#safe-bins-stdin-only). -- `tools.exec.safeBinTrustedDirs`: додаткові явні каталоги, яким довіряють для перевірок шляхів `safeBins`. Записи `PATH` ніколи не стають довіреними автоматично. Вбудовані стандартні значення — `/bin` і `/usr/bin`. -- `tools.exec.safeBinProfiles`: необов’язкова власна політика argv для кожного безпечного бінарного файла (`minPositional`, `maxPositional`, `allowedValueFlags`, `deniedFlags`). +- `tools.exec.strictInlineEval` (за замовчуванням: false): коли true, форми inline eval інтерпретатора, як-от `python -c`, `node -e`, `ruby -e`, `perl -e`, `php -r`, `lua -e` і `osascript -e`, завжди потребують явного схвалення. `allow-always` усе ще може зберігати безпечні виклики інтерпретатора/скрипта, але форми inline-eval усе одно запитують щоразу. +- `tools.exec.pathPrepend`: список каталогів, які додаються на початок `PATH` для запусків exec (лише gateway + пісочниця). +- `tools.exec.safeBins`: безпечні бінарні файли лише для stdin, які можуть виконуватися без явних записів allowlist. Подробиці поведінки див. у [безпечних bins](/uk/tools/exec-approvals-advanced#safe-bins-stdin-only). +- `tools.exec.safeBinTrustedDirs`: додаткові явні каталоги, яким довіряють для перевірок шляхів `safeBins`. Записи `PATH` ніколи не отримують автоматичної довіри. Вбудовані значення за замовчуванням: `/bin` і `/usr/bin`. +- `tools.exec.safeBinProfiles`: необов’язкова користувацька політика argv для кожного безпечного bin (`minPositional`, `maxPositional`, `allowedValueFlags`, `deniedFlags`). Приклад: @@ -131,29 +132,29 @@ Shell-команда для запуску. ### Обробка PATH -- `host=gateway`: об’єднує `PATH` вашої оболонки входу із середовищем виконання. Перевизначення `env.PATH` - відхиляються для виконання на хості. Сам демон усе ще працює з мінімальним `PATH`: +- `host=gateway`: об’єднує `PATH` вашого login-shell із середовищем exec. Перевизначення `env.PATH` + відхиляються для виконання на хості. Сам daemon усе ще працює з мінімальним `PATH`: - macOS: `/opt/homebrew/bin`, `/usr/local/bin`, `/usr/bin`, `/bin` - Linux: `/usr/local/bin`, `/usr/bin`, `/bin` -- `host=sandbox`: запускає `sh -lc` (оболонку входу) всередині контейнера, тому `/etc/profile` може скинути `PATH`. - OpenClaw додає `env.PATH` на початок після завантаження профілю через внутрішню змінну середовища (без інтерполяції оболонки); - `tools.exec.pathPrepend` також застосовується тут. -- `host=node`: на вузол надсилаються лише неблоковані перевизначення середовища, які ви передаєте. Перевизначення `env.PATH` - відхиляються для виконання на хості та ігноруються хостами вузлів. Якщо вам потрібні додаткові записи PATH на вузлі, - налаштуйте середовище служби хоста вузла (systemd/launchd) або встановіть інструменти у стандартні розташування. +- `host=sandbox`: запускає `sh -lc` (login shell) усередині контейнера, тому `/etc/profile` може скидати `PATH`. + OpenClaw додає `env.PATH` на початок після завантаження профілю через внутрішню змінну середовища (без shell-інтерполяції); + `tools.exec.pathPrepend` застосовується тут також. +- `host=node`: до Node надсилаються лише незаблоковані перевизначення середовища, які ви передаєте. Перевизначення `env.PATH` + відхиляються для виконання на хості й ігноруються хостами Node. Якщо вам потрібні додаткові записи PATH на Node, + налаштуйте середовище служби хоста Node (systemd/launchd) або встановіть інструменти у стандартні розташування. -Прив’язка вузла для окремого агента (використовуйте індекс списку агентів у конфігурації): +Прив’язка Node для кожного агента (використовуйте індекс списку агентів у конфігурації): ```bash openclaw config get agents.list openclaw config set agents.list[0].tools.exec.node "node-id-or-name" ``` -Інтерфейс керування: вкладка Nodes містить невелику панель “Прив’язка вузла виконання” для тих самих налаштувань. +Control UI: вкладка Nodes містить невелику панель «Прив’язка Node для exec» для тих самих налаштувань. ## Перевизначення сеансу (`/exec`) -Використовуйте `/exec`, щоб задати типові значення **для окремого сеансу** для `host`, `security`, `ask` і `node`. +Використовуйте `/exec`, щоб задати **для кожного сеансу** стандартні значення для `host`, `security`, `ask` і `node`. Надішліть `/exec` без аргументів, щоб показати поточні значення. Приклад: @@ -164,53 +165,53 @@ openclaw config set agents.list[0].tools.exec.node "node-id-or-name" ## Модель авторизації -`/exec` виконується лише для **авторизованих відправників** (списки дозволених/сполучення каналу плюс `commands.useAccessGroups`). -Він оновлює **лише стан сесії** і не записує конфігурацію. Щоб жорстко вимкнути exec, забороніть його через -політику інструментів (`tools.deny: ["exec"]` або для окремого агента). Підтвердження хоста все одно застосовуються, якщо ви явно не встановите +`/exec` враховується лише для **авторизованих відправників** (allowlist/спарення каналів плюс `commands.useAccessGroups`). +Він оновлює **лише стан сеансу** й не записує конфігурацію. Щоб жорстко вимкнути exec, забороніть його через політику інструментів +(`tools.deny: ["exec"]` або для окремого агента). Схвалення хоста все одно застосовуються, якщо ви явно не встановите `security=full` і `ask=off`. -## Підтвердження Exec (додаток-компаньйон / хост Node) +## Схвалення Exec (companion app / node host) -Ізольовані агенти можуть вимагати підтвердження для кожного запиту перед запуском `exec` на Gateway або хості Node. -Див. [Підтвердження Exec](/uk/tools/exec-approvals) щодо політики, списку дозволених і UI-процесу. +Агенти в пісочниці можуть вимагати схвалення для кожного запиту перед запуском `exec` на хості gateway або node. +Див. [схвалення Exec](/uk/tools/exec-approvals) щодо політики, allowlist і потоку UI. -Коли підтвердження потрібні, інструмент exec негайно повертає -`status: "approval-pending"` та id підтвердження. Після підтвердження (або відхилення / завершення часу очікування) +Коли потрібні схвалення, інструмент exec негайно повертає +`status: "approval-pending"` та ідентифікатор схвалення. Після схвалення (або відхилення / спливу часу очікування) Gateway надсилає системні події (`Exec finished` / `Exec denied`). Якщо команда все ще виконується після `tools.exec.approvalRunningNoticeMs`, надсилається одне сповіщення `Exec running`. -У каналах із нативними картками/кнопками підтвердження агент має насамперед покладатися на цей -нативний UI і додавати ручну команду `/approve` лише тоді, коли результат -інструмента явно повідомляє, що підтвердження в чаті недоступні або ручне підтвердження є +У каналах із нативними картками/кнопками схвалення агент має спершу покладатися на цей +нативний UI і включати ручну команду `/approve` лише тоді, коли результат +інструмента явно каже, що схвалення через чат недоступні або ручне схвалення є єдиним шляхом. -## Список дозволених + безпечні виконувані файли +## Allowlist + безпечні bins -Ручне застосування списку дозволених зіставляє розв’язані globs шляхів до виконуваних файлів і globs простих -імен команд. Прості імена зіставляються лише з командами, викликаними через PATH, тому `rg` може відповідати +Ручне застосування allowlist зіставляє glob-шаблони перетворених шляхів бінарних файлів і +glob-шаблони голих назв команд. Голі назви збігаються лише з командами, викликаними через PATH, тому `rg` може збігтися з `/opt/homebrew/bin/rg`, коли команда — `rg`, але не `./rg` або `/tmp/rg`. -Коли `security=allowlist`, команди оболонки автоматично дозволяються лише якщо кожен сегмент конвеєра -є в списку дозволених або є безпечним виконуваним файлом. Ланцюжки (`;`, `&&`, `||`) і перенаправлення -відхиляються в режимі списку дозволених, якщо кожен сегмент верхнього рівня не задовольняє -список дозволених (включно з безпечними виконуваними файлами). Перенаправлення залишаються непідтримуваними. -Стійка довіра `allow-always` не обходить це правило: ланцюжкова команда все одно вимагає, щоб кожен +Коли `security=allowlist`, shell-команди автоматично дозволяються лише якщо кожен сегмент pipeline +є в allowlist або є безпечним bin. Ланцюжки (`;`, `&&`, `||`) і перенаправлення +відхиляються в режимі allowlist, якщо кожен сегмент верхнього рівня не задовольняє +allowlist (включно з безпечними bins). Перенаправлення залишаються непідтримуваними. +Стійка довіра `allow-always` не обходить це правило: команда в ланцюжку все одно потребує, щоб кожен сегмент верхнього рівня збігався. -`autoAllowSkills` — це окремий зручний шлях у підтвердженнях exec. Це не те саме, що -ручні записи списку дозволених шляхів. Для суворої явної довіри залишайте `autoAllowSkills` вимкненим. +`autoAllowSkills` — це окремий зручний шлях у схваленнях exec. Це не те саме, що +ручні записи allowlist для шляхів. Для строгої явної довіри залишайте `autoAllowSkills` вимкненим. -Використовуйте ці два елементи керування для різних завдань: +Використовуйте два елементи керування для різних завдань: -- `tools.exec.safeBins`: невеликі потокові фільтри лише для stdin. -- `tools.exec.safeBinTrustedDirs`: явні додаткові довірені каталоги для шляхів безпечних виконуваних файлів. -- `tools.exec.safeBinProfiles`: явна політика argv для власних безпечних виконуваних файлів. -- список дозволених: явна довіра до шляхів виконуваних файлів. +- `tools.exec.safeBins`: малі потокові фільтри лише для stdin. +- `tools.exec.safeBinTrustedDirs`: явні додаткові довірені каталоги для шляхів виконуваних файлів safe-bin. +- `tools.exec.safeBinProfiles`: явна політика argv для користувацьких безпечних bins. +- allowlist: явна довіра до шляхів виконуваних файлів. -Не розглядайте `safeBins` як універсальний список дозволених і не додавайте бінарні файли інтерпретаторів/середовищ виконання (наприклад, `python3`, `node`, `ruby`, `bash`). Якщо вони вам потрібні, використовуйте явні записи списку дозволених і залишайте запити на схвалення увімкненими. +Не трактуйте `safeBins` як універсальний список дозволених і не додавайте бінарні файли інтерпретаторів/середовищ виконання (наприклад, `python3`, `node`, `ruby`, `bash`). Якщо вони потрібні, використовуйте явні записи списку дозволених і залишайте запити на схвалення ввімкненими. `openclaw security audit` попереджає, коли записи інтерпретаторів/середовищ виконання в `safeBins` не мають явних профілів, а `openclaw doctor --fix` може створити каркас відсутніх користувацьких записів `safeBinProfiles`. -`openclaw security audit` і `openclaw doctor` також попереджають, коли ви явно додаєте назад у `safeBins` бінарні файли з широкою поведінкою, як-от `jq`. -Якщо ви явно додаєте інтерпретатори до списку дозволених, увімкніть `tools.exec.strictInlineEval`, щоб форми inline code-eval усе одно вимагали нового схвалення. +`openclaw security audit` і `openclaw doctor` також попереджають, коли ви явно додаєте до `safeBins` бінарні файли з широкою поведінкою, як-от `jq`. +Якщо ви явно додаєте інтерпретатори до списку дозволених, увімкніть `tools.exec.strictInlineEval`, щоб форми вбудованого виконання коду й надалі вимагали нового схвалення. -Повні відомості про політику та приклади див. у розділах [Схвалення Exec](/uk/tools/exec-approvals-advanced#safe-bins-stdin-only) і [Safe bins проти списку дозволених](/uk/tools/exec-approvals-advanced#safe-bins-versus-allowlist). +Повні відомості про політику й приклади див. у [Схваленнях Exec](/uk/tools/exec-approvals-advanced#safe-bins-stdin-only) і [Безпечні бінарні файли проти списку дозволених](/uk/tools/exec-approvals-advanced#safe-bins-versus-allowlist). ## Приклади @@ -220,16 +221,16 @@ Gateway надсилає системні події (`Exec finished` / `Exec de { "tool": "exec", "command": "ls -la" } ``` -Фон + опитування: +Фоновий режим + опитування: ```json {"tool":"exec","command":"npm run build","yieldMs":1000} {"tool":"process","action":"poll","sessionId":""} ``` -Опитування призначене для статусу на вимогу, а не для циклів очікування. Якщо ввімкнене автоматичне пробудження після завершення, команда може розбудити сеанс, коли вона виведе дані або завершиться з помилкою. +Опитування призначене для статусу за запитом, а не для циклів очікування. Якщо ввімкнено автоматичне пробудження після завершення, команда може пробудити сесію, коли вона виводить дані або завершується помилкою. -Надіслати клавіші (у стилі tmux): +Надсилання клавіш (у стилі tmux): ```json {"tool":"process","action":"send-keys","sessionId":"","keys":["Enter"]} @@ -237,13 +238,13 @@ Gateway надсилає системні події (`Exec finished` / `Exec de {"tool":"process","action":"send-keys","sessionId":"","keys":["Up","Up","Enter"]} ``` -Надіслати (лише CR): +Надсилання (лише CR): ```json { "tool": "process", "action": "submit", "sessionId": "" } ``` -Вставити (за замовчуванням у bracketed-режимі): +Вставлення (типово в режимі bracketed paste): ```json { "tool": "process", "action": "paste", "sessionId": "", "text": "line1\nline2\n" } @@ -251,8 +252,8 @@ Gateway надсилає системні події (`Exec finished` / `Exec de ## apply_patch -`apply_patch` — це підінструмент `exec` для структурованих редагувань кількох файлів. -Він увімкнений за замовчуванням для моделей OpenAI та OpenAI Codex. Використовуйте конфігурацію лише тоді, коли хочете вимкнути його або обмежити конкретними моделями: +`apply_patch` — це підінструмент `exec` для структурованих багатофайлових редагувань. +Він типово ввімкнений для моделей OpenAI та OpenAI Codex. Використовуйте конфігурацію лише тоді, коли хочете вимкнути його або обмежити конкретними моделями: ```json5 { @@ -267,14 +268,14 @@ Gateway надсилає системні події (`Exec finished` / `Exec de Примітки: - Доступно лише для моделей OpenAI/OpenAI Codex. -- Політика інструментів усе одно застосовується; `allow: ["write"]` неявно дозволяє `apply_patch`. +- Політика інструментів усе ще застосовується; `allow: ["write"]` неявно дозволяє `apply_patch`. - Конфігурація розміщується в `tools.exec.applyPatch`. -- `tools.exec.applyPatch.enabled` за замовчуванням має значення `true`; установіть його в `false`, щоб вимкнути інструмент для моделей OpenAI. -- `tools.exec.applyPatch.workspaceOnly` за замовчуванням має значення `true` (обмежено робочою областю). Установлюйте його в `false` лише тоді, коли ви навмисно хочете, щоб `apply_patch` записував/видаляв файли за межами каталогу робочої області. +- `tools.exec.applyPatch.enabled` типово має значення `true`; установіть `false`, щоб вимкнути інструмент для моделей OpenAI. +- `tools.exec.applyPatch.workspaceOnly` типово має значення `true` (обмежено робочою областю). Установлюйте `false` лише якщо ви навмисно хочете, щоб `apply_patch` записував/видаляв за межами каталогу робочої області. ## Пов’язане - [Схвалення Exec](/uk/tools/exec-approvals) — шлюзи схвалення для команд оболонки -- [Пісочниця](/uk/gateway/sandboxing) — виконання команд у ізольованих середовищах -- [Фоновий процес](/uk/gateway/background-process) — довготривалий exec та інструмент process +- [Ізоляція в пісочниці](/uk/gateway/sandboxing) — запуск команд в ізольованих середовищах +- [Фоновий процес](/uk/gateway/background-process) — довготривале виконання exec та інструмент process - [Безпека](/uk/gateway/security) — політика інструментів і підвищений доступ