diff --git a/docs/uk/concepts/model-providers.md b/docs/uk/concepts/model-providers.md
index 445bdc8d9..d4ac839bf 100644
--- a/docs/uk/concepts/model-providers.md
+++ b/docs/uk/concepts/model-providers.md
@@ -1,62 +1,62 @@
---
read_when:
- - Вам потрібен довідник із налаштування моделей для кожного провайдера
+ - Вам потрібен довідник із налаштування моделей за провайдерами
- Вам потрібні приклади конфігурацій або команди CLI для початкового налаштування постачальників моделей
sidebarTitle: Model providers
-summary: Огляд провайдера моделей із прикладами конфігурацій + CLI-сценаріями
+summary: Огляд постачальників моделей із прикладами конфігурацій + сценаріями CLI
title: Постачальники моделей
x-i18n:
- generated_at: "2026-04-29T16:29:15Z"
+ generated_at: "2026-05-02T01:45:19Z"
model: gpt-5.5
provider: openai
- source_hash: 3902194674d6d4e17a8477c28addb39b8e04c3b498eb6a0305e82c2f1b5d737e
+ source_hash: 8bec3029270ea475bfeb45d87a84ec01b52d461bceecc3ab4ec9ca1f62ac6cc5
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` діє як список дозволених значень, коли його задано.
+ - `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).
+ - `models.providers.*.contextWindow` / `contextTokens` / `maxTokens` задають типові значення на рівні постачальника; `models.providers.*.models[].contextWindow` / `contextTokens` / `maxTokens` перевизначають їх для окремої моделі.
+ - Правила резервного перемикання, перевірки після cooldown і збереження перевизначень сеансу: [Резервне перемикання моделей](/uk/concepts/model-failover).
-
+
Маршрути сімейства OpenAI залежать від префікса:
- - `openai/` використовує прямого провайдера OpenAI з API-ключем у PI.
+ - `openai/` використовує прямого постачальника OpenAI з API-ключем у PI.
- `openai-codex/` використовує Codex OAuth у PI.
- - `openai/` разом із `agents.defaults.agentRuntime.id: "codex"` використовує нативний harness сервера застосунку Codex.
+ - `openai/` разом із `agents.defaults.agentRuntime.id: "codex"` використовує нативний серверний каркас застосунку Codex.
- Див. [OpenAI](/uk/providers/openai) і [harness Codex](/uk/plugins/codex-harness). Якщо розділення провайдера й runtime незрозуміле, спершу прочитайте [Runtime агентів](/uk/concepts/agent-runtimes).
+ Див. [OpenAI](/uk/providers/openai) і [каркас Codex](/uk/plugins/codex-harness). Якщо розділення постачальника/середовища виконання незрозуміле, спочатку прочитайте [Середовища виконання агентів](/uk/concepts/agent-runtimes).
- Автоматичне ввімкнення Plugin дотримується тієї самої межі: `openai-codex/` належить до Plugin OpenAI, тоді як Plugin Codex вмикається через `agentRuntime.id: "codex"` або застарілі посилання `codex/`.
+ Автоматичне ввімкнення Plugin дотримується тієї самої межі: `openai-codex/` належить до OpenAI plugin, тоді як Codex plugin вмикається через `agentRuntime.id: "codex"` або застарілі посилання `codex/`.
- GPT-5.5 доступний через `openai/gpt-5.5` для прямого трафіку з API-ключем, `openai-codex/gpt-5.5` у PI для Codex OAuth, а також через нативний harness сервера застосунку Codex, коли задано `agentRuntime.id: "codex"`.
+ GPT-5.5 доступна через `openai/gpt-5.5` для прямого трафіку з API-ключем, `openai-codex/gpt-5.5` у PI для Codex OAuth і нативний серверний каркас застосунку Codex, коли задано `agentRuntime.id: "codex"`.
-
- CLI runtime використовують те саме розділення: виберіть канонічні посилання на моделі, як-от `anthropic/claude-*`, `google/gemini-*` або `openai/gpt-*`, а потім задайте `agents.defaults.agentRuntime.id` як `claude-cli`, `google-gemini-cli` або `codex-cli`, коли потрібен локальний CLI бекенд.
+
+ Середовища виконання CLI використовують те саме розділення: виберіть канонічні посилання на моделі, як-от `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/*` мігрують назад до канонічних посилань постачальників із середовищем виконання, записаним окремо.
-## Поведінка провайдера, якою володіє Plugin
+## Поведінка постачальника, якою володіє Plugin
-Більшість специфічної для провайдерів логіки міститься в Plugin провайдерів (`registerProvider(...)`), тоді як OpenClaw зберігає загальний цикл inference. Plugin відповідають за onboarding, каталоги моделей, зіставлення змінних середовища для автентифікації, нормалізацію транспорту/конфігурації, очищення схем інструментів, класифікацію резервного перемикання, оновлення OAuth, звітування про використання, профілі мислення/reasoning тощо.
+Більшість специфічної для постачальника логіки живе в provider plugins (`registerProvider(...)`), тоді як OpenClaw зберігає загальний цикл inference. Plugins відповідають за onboarding, каталоги моделей, зіставлення змінних середовища для автентифікації, нормалізацію транспорту/конфігурації, очищення схем інструментів, класифікацію failover, оновлення OAuth, звітування про використання, профілі thinking/reasoning тощо.
-Повний список хуків provider-SDK і прикладів вбудованих Plugin наведено в [Plugin провайдерів](/uk/plugins/sdk-provider-plugins). Провайдер, якому потрібен повністю власний виконавець запитів, є окремою, глибшою поверхнею розширення.
+Повний список хуків provider-SDK і прикладів bundled-plugin наведено в [Provider plugins](/uk/plugins/sdk-provider-plugins). Постачальник, якому потрібен повністю власний виконавець запитів, є окремою, глибшою поверхнею розширення.
-Поведінка runner, якою володіє провайдер, живе в явних хуках провайдера, як-от політика replay, нормалізація схем інструментів, обгортання stream і помічники транспорту/запитів. Застарілий статичний пакет `ProviderPlugin.capabilities` призначений лише для сумісності й більше не читається спільною логікою runner.
+Поведінка runner, якою володіє постачальник, живе в явних хуках постачальника, таких як політика replay, нормалізація схем інструментів, обгортання stream і помічники транспорту/запитів. Застарілий статичний контейнер `ProviderPlugin.capabilities` призначений лише для сумісності й більше не читається спільною логікою runner.
## Ротація API-ключів
@@ -68,40 +68,40 @@ x-i18n:
- `OPENCLAW_LIVE__KEY` (одне live-перевизначення, найвищий пріоритет)
- `_API_KEYS` (список через кому або крапку з комою)
- `_API_KEY` (основний ключ)
- - `_API_KEY_*` (нумерований список, напр. `_API_KEY_1`)
+ - `_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` або періодичні повідомлення про ліміт використання).
- - Збої, не пов’язані з обмеженням швидкості, одразу завершуються помилкою; ротація ключів не виконується.
- - Коли всі кандидатні ключі зазнають невдачі, повертається фінальна помилка з останньої спроби.
+ - Запити повторюються з наступним ключем лише для відповідей про rate limit (наприклад `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded` або періодичні повідомлення про ліміт використання).
+ - Помилки, не пов’язані з rate limit, завершуються негайно; ротація ключів не виконується.
+ - Коли всі ключі-кандидати зазнають невдачі, фінальна помилка повертається з останньої спроби.
-## Вбудовані провайдери (каталог pi-ai)
+## Вбудовані постачальники (каталог pi-ai)
-OpenClaw постачається з каталогом pi‑ai. Ці провайдери **не** потребують конфігурації `models.providers`; просто задайте автентифікацію й виберіть модель.
+OpenClaw постачається з каталогом pi‑ai. Ці постачальники **не** потребують конфігурації `models.providers`; просто задайте автентифікацію й виберіть модель.
### 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"`)
-- Прогрівання WebSocket для OpenAI Responses типово ввімкнене через `params.openaiWsWarmup` (`true`/`false`)
+- Транспорт за замовчуванням — `auto` (спершу WebSocket, резервний SSE)
+- Перевизначайте для окремої моделі через `agents.defaults.models["openai/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`)
+- Прогрівання OpenAI Responses WebSocket за замовчуванням увімкнене через `params.openaiWsWarmup` (`true`/`false`)
- Пріоритетну обробку OpenAI можна ввімкнути через `agents.defaults.models["openai/"].params.serviceTier`
- `/fast` і `params.fastMode` зіставляють прямі запити Responses `openai/*` із `service_tier=priority` на `api.openai.com`
- Використовуйте `params.serviceTier`, коли потрібен явний рівень замість спільного перемикача `/fast`
-- Приховані заголовки атрибуції OpenClaw (`originator`, `version`, `User-Agent`) застосовуються лише до нативного трафіку OpenAI на `api.openai.com`, а не до загальних OpenAI-сумісних проксі
+- Приховані заголовки атрибуції 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 його не надає
+- `openai/gpt-5.3-codex-spark` навмисно пригнічено в OpenClaw, оскільки живі запити OpenAI API його відхиляють, а поточний каталог Codex його не надає
```json5
{
@@ -111,16 +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 не опублікує нову політику. Токен налаштування Anthropic залишається доступним як підтримуваний шлях токена OpenClaw, але тепер OpenClaw віддає перевагу повторному використанню Claude CLI і `claude -p`, коли вони доступні.
+Співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволене, тому OpenClaw вважає повторне використання Claude CLI та використання `claude -p` санкціонованими для цієї інтеграції, доки Anthropic не опублікує нову політику. Anthropic setup-token залишається доступним як підтримуваний шлях токена OpenClaw, але тепер OpenClaw надає перевагу повторному використанню Claude CLI та `claude -p`, коли вони доступні.
```json5
@@ -131,22 +131,22 @@ OpenClaw постачається з каталогом pi‑ai. Ці прова
### OpenAI Codex OAuth
-- Постачальник: `openai-codex`
+- Провайдер: `openai-codex`
- Автентифікація: OAuth (ChatGPT)
- Посилання на модель PI: `openai-codex/gpt-5.5`
-- Посилання на нативний harness app-server Codex: `openai/gpt-5.5` з `agents.defaults.agentRuntime.id: "codex"`
-- Документація нативного harness app-server Codex: [harness Codex](/uk/plugins/codex-harness)
+- Посилання на нативну обв’язку сервера застосунку Codex: `openai/gpt-5.5` з `agents.defaults.agentRuntime.id: "codex"`
+- Документація нативної обв’язки сервера застосунку Codex: [Обв’язка Codex](/uk/plugins/codex-harness)
- Застарілі посилання на моделі: `codex/gpt-*`
-- Межа Plugin: `openai-codex/*` завантажує Plugin OpenAI; нативний Plugin app-server Codex вибирається лише runtime harness Codex або застарілими посиланнями `codex/*`.
+- Межа Plugin: `openai-codex/*` завантажує Plugin OpenAI; нативний Plugin сервера застосунку Codex вибирається лише середовищем виконання обв’язки 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-сумісних проксі
+- Транспорт за замовчуванням — `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/gpt-5.5` використовує нативне для каталогу Codex `contextWindow = 400000` і стандартне для середовища виконання `contextTokens = 272000`; перевизначайте обмеження середовища виконання за допомогою `models.providers.openai-codex.models[].contextTokens`
- Примітка щодо політики: OpenAI Codex OAuth явно підтримується для зовнішніх інструментів/робочих процесів на кшталт OpenClaw.
-- Використовуйте `openai-codex/gpt-5.5`, коли потрібен маршрут Codex OAuth/підписки; використовуйте `openai/gpt-5.5`, коли ваше налаштування API-ключа і локальний каталог надають публічний маршрут API.
+- Використовуйте `openai-codex/gpt-5.5`, коли потрібен маршрут Codex OAuth/підписки; використовуйте `openai/gpt-5.5`, коли ваше налаштування ключа API та локальний каталог надають публічний маршрут API.
```json5
{
@@ -166,25 +166,25 @@ OpenClaw постачається з каталогом pi‑ai. Ці прова
}
```
-### Інші розміщені варіанти в стилі підписки
+### Інші розміщені варіанти у стилі підписки
- Coding Plan Z.AI або загальні кінцеві точки API.
+ Z.AI Coding Plan або загальні кінцеві точки API.
- Доступ через OAuth MiniMax Coding Plan або API-ключ.
+ MiniMax Coding Plan OAuth або доступ за ключем API.
- Поверхня постачальника Qwen Cloud плюс зіставлення кінцевих точок Alibaba DashScope і Coding Plan.
+ Поверхня провайдера Qwen Cloud плюс зіставлення кінцевих точок Alibaba DashScope і Coding Plan.
### OpenCode
- Автентифікація: `OPENCODE_API_KEY` (або `OPENCODE_ZEN_API_KEY`)
-- Постачальник runtime Zen: `opencode`
-- Постачальник runtime Go: `opencode-go`
+- Провайдер середовища виконання Zen: `opencode`
+- Провайдер середовища виконання 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`
@@ -194,28 +194,28 @@ OpenClaw постачається з каталогом pi‑ai. Ці прова
}
```
-### Google Gemini (API-ключ)
+### 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` приймається і нормалізується до live-ідентифікатора Gemini API від Google, `google/gemini-3.1-pro-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`
- 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`) для пересилання нативного для постачальника дескриптора `cachedContents/...`; влучання кешу Gemini відображаються як OpenClaw `cacheRead`
+- Прямі запуски 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 постачається як частина bundled Plugin `google`.
@@ -245,12 +245,12 @@ Gemini CLI OAuth постачається як частина пакетного
Модель за замовчуванням: `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`; використання має fallback до `stats`, а `stats.cached` нормалізується в OpenClaw `cacheRead`.
+JSON-відповіді Gemini CLI розбираються з `response`; дані про використання повертаються до `stats`, а `stats.cached` нормалізується в OpenClaw `cacheRead`.
### Z.AI (GLM)
@@ -259,7 +259,7 @@ JSON-відповіді Gemini CLI аналізуються з `response`; ви
- Приклад моделі: `zai/glm-5.1`
- CLI: `openclaw onboard --auth-choice zai-api-key`
- Псевдоніми: `z.ai/*` і `z-ai/*` нормалізуються до `zai/*`
- - `zai-api-key` автоматично визначає відповідний endpoint Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово вибирають конкретну поверхню
+ - `zai-api-key` автоматично визначає відповідну кінцеву точку Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово задають конкретну поверхню
### Vercel AI Gateway
@@ -275,74 +275,74 @@ JSON-відповіді Gemini CLI аналізуються з `response`; ви
- Приклад моделі: `kilocode/kilo/auto`
- CLI: `openclaw onboard --auth-choice kilocode-api-key`
- Базова URL-адреса: `https://api.kilo.ai/api/gateway/`
-- Статичний fallback-каталог постачається з `kilocode/kilo/auto`; live-виявлення `https://api.kilo.ai/api/gateway/models` може додатково розширити runtime-каталог.
-- Точна upstream-маршрутизація за `kilocode/kilo/auto` належить Kilo Gateway, а не жорстко закодована в OpenClaw.
+- Статичний резервний каталог постачається з `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), щоб дізнатися подробиці налаштування.
-### Інші вбудовані плагіни постачальників
+### Інші вбудовані provider plugins
-| Постачальник | 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` |
+| Постачальник | Id | Змінна середовища автентифікації | Приклад моделі |
+| ---------------------- | -------------------------------- | ------------------------------------------------------------- | --------------------------------------------- |
+| 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.3` |
+| Xiaomi | `xiaomi` | `XIAOMI_API_KEY` | `xiaomi/mimo-v2-flash` |
#### Особливості, які варто знати
- Застосовує свої заголовки атрибуції застосунку та маркери 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.
+ Застосовує свої заголовки app-attribution і маркери Anthropic `cache_control` лише на перевірених маршрутах `openrouter.ai`. Посилання DeepSeek, Moonshot і ZAI придатні для cache-TTL у керованому OpenRouter кешуванні промптів, але не отримують маркерів кешу Anthropic. Як proxy-style OpenAI-compatible шлях, він пропускає shaping, призначений лише для 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 injection.
- Onboarding через API-ключ записує явні text-only визначення chat-моделей M2.7; розуміння зображень залишається на media provider `MiniMax-VL-01`, яким володіє плагін.
+ Онбординг за API-ключем записує явні визначення чат-моделей M2.7 лише для тексту; розуміння зображень залишається в media provider `MiniMax-VL-01`, що належить Plugin.
- Ідентифікатори моделей використовують простір імен `nvidia//` (наприклад, `nvidia/nvidia/nemotron-...` поряд із `nvidia/moonshotai/kimi-k2.5`); засоби вибору зберігають буквальну композицію `/`, тоді як канонічний ключ, що надсилається до API, залишається з одним префіксом.
+ Ідентифікатори моделей використовують простір імен `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`.
+ Використовує шлях xAI Responses. `grok-4.3` є вбудованою чат-моделлю за замовчуванням. `/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`.
- Постачається як вбудований плагін постачальника `cerebras`. GLM використовує `zai-glm-4.7`; OpenAI-сумісна базова URL-адреса — `https://api.cerebras.ai/v1`.
+ Постачається як вбудований provider plugin `cerebras`. GLM використовує `zai-glm-4.7`; OpenAI-compatible базова URL-адреса: `https://api.cerebras.ai/v1`.
## Постачальники через `models.providers` (власна/базова URL-адреса)
-Використовуйте `models.providers` (або `models.json`), щоб додати **власних** постачальників або OpenAI/Anthropic‑сумісні проксі.
+Використовуйте `models.providers` (або `models.json`), щоб додавати **власних** постачальників або OpenAI/Anthropic‑compatible проксі.
-Багато вбудованих плагінів постачальників нижче вже публікують стандартний каталог. Використовуйте явні записи `models.providers.` лише тоді, коли потрібно перевизначити стандартну базову URL-адресу, заголовки або список моделей.
+Багато наведених нижче вбудованих provider plugins уже публікують каталог за замовчуванням. Використовуйте явні записи `models.providers.` лише тоді, коли потрібно перевизначити базову URL-адресу, заголовки або список моделей.
-Перевірки можливостей моделей Gateway також читають явні метадані `models.providers..models[]`. Якщо власна або проксі-модель приймає зображення, задайте `input: ["text", "image"]` для цієї моделі, щоб шляхи WebChat і вкладень з node-origin передавали зображення як native model inputs, а не як text-only media refs.
+Перевірки можливостей моделей Gateway також читають явні метадані `models.providers..models[]`. Якщо власна або proxy-модель приймає зображення, задайте `input: ["text", "image"]` для цієї моделі, щоб WebChat і шляхи вкладень з node-origin передавали зображення як нативні вхідні дані моделі, а не як text-only media refs.
### Moonshot AI (Kimi)
-Moonshot постачається як вбудований плагін постачальника. За замовчуванням використовуйте вбудованого постачальника й додавайте явний запис `models.providers.moonshot` лише тоді, коли потрібно перевизначити базову URL-адресу або метадані моделі:
+Moonshot постачається як вбудований provider plugin. За замовчуванням використовуйте вбудованого постачальника й додавайте явний запис `models.providers.moonshot` лише тоді, коли потрібно перевизначити базову URL-адресу або метадані моделі:
- Постачальник: `moonshot`
- Автентифікація: `MOONSHOT_API_KEY`
@@ -380,9 +380,9 @@ Moonshot постачається як вбудований плагін пос
}
```
-### Програмування з Kimi
+### Kimi для кодування
-Kimi Coding використовує Anthropic-сумісну кінцеву точку Moonshot AI:
+Kimi Coding використовує сумісну з Anthropic кінцеву точку Moonshot AI:
- Провайдер: `kimi`
- Автентифікація: `KIMI_API_KEY`
@@ -397,13 +397,13 @@ Kimi Coding використовує Anthropic-сумісну кінцеву т
}
```
-Застарілий `kimi/k2p5` і надалі приймається як ідентифікатор моделі для сумісності.
+Застарілий `kimi/k2p5` і далі приймається як ідентифікатор моделі для сумісності.
### Volcano Engine (Doubao)
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,12 +416,12 @@ Volcano Engine (火山引擎) надає доступ до Doubao та інши
}
```
-Onboarding за замовчуванням використовує поверхню для програмування, але загальний каталог `volcengine/*` реєструється одночасно.
+Під час онбордингу за замовчуванням використовується поверхня для кодування, але загальний каталог `volcengine/*` реєструється одночасно.
-У засобах вибору моделі під час onboarding/configure варіант автентифікації Volcengine віддає перевагу рядкам як `volcengine/*`, так і `volcengine-plan/*`. Якщо ці моделі ще не завантажено, OpenClaw повертається до нефільтрованого каталогу замість показу порожнього засобу вибору, обмеженого провайдером.
+У засобах вибору моделі під час онбордингу або налаштування вибір автентифікації Volcengine надає перевагу рядкам `volcengine/*` і `volcengine-plan/*`. Якщо ці моделі ще не завантажені, OpenClaw натомість повертається до нефільтрованого каталогу, а не показує порожній засіб вибору, обмежений провайдером.
-
+
- `volcengine/doubao-seed-1-8-251228` (Doubao Seed 1.8)
- `volcengine/doubao-seed-code-preview-251028`
- `volcengine/kimi-k2-5-260127` (Kimi K2.5)
@@ -429,7 +429,7 @@ Onboarding за замовчуванням використовує поверх
- `volcengine/deepseek-v3-2-251201` (DeepSeek V3.2 128K)
-
+
- `volcengine-plan/ark-code-latest`
- `volcengine-plan/doubao-seed-code`
- `volcengine-plan/kimi-k2.5`
@@ -443,7 +443,7 @@ Onboarding за замовчуванням використовує поверх
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,18 +456,18 @@ BytePlus ARK надає міжнародним користувачам дост
}
```
-Onboarding за замовчуванням використовує поверхню для програмування, але загальний каталог `byteplus/*` реєструється одночасно.
+Onboarding за замовчуванням використовує поверхню для кодування, але загальний каталог `byteplus/*` реєструється одночасно.
-У засобах вибору моделі під час onboarding/configure вибір автентифікації BytePlus надає перевагу рядкам і `byteplus/*`, і `byteplus-plan/*`. Якщо ці моделі ще не завантажені, OpenClaw повертається до нефільтрованого каталогу замість показу порожнього засобу вибору, обмеженого провайдером.
+У засобах вибору моделей під час onboarding/configure варіант автентифікації BytePlus надає перевагу рядкам `byteplus/*` і `byteplus-plan/*`. Якщо ці моделі ще не завантажено, OpenClaw повертається до нефільтрованого каталогу замість показу порожнього засобу вибору, обмеженого провайдером.
-
+
- `byteplus/seed-1-8-251228` (Seed 1.8)
- `byteplus/kimi-k2-5-260127` (Kimi K2.5)
- `byteplus/glm-4-7-251222` (GLM 4.7)
-
+
- `byteplus-plan/ark-code-latest`
- `byteplus-plan/doubao-seed-code`
- `byteplus-plan/kimi-k2.5`
@@ -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-сумісному шляху streaming MiniMax OpenClaw за замовчуванням вимикає thinking, якщо ви не задасте його явно, а `/fast on` переписує `MiniMax-M2.7` на `MiniMax-M2.7-highspeed`.
-Поділ можливостей, що належать Plugin:
+Розділення можливостей, якими володіє Plugin:
- Типові значення для тексту/чату залишаються на `minimax/MiniMax-M2.7`
-- Генерація зображень — це `minimax/image-01` або `minimax-portal/image-01`
-- Розуміння зображень належить Plugin `MiniMax-VL-01` на обох шляхах автентифікації MiniMax
-- Вебпошук залишається на id провайдера `minimax`
+- Генерація зображень: `minimax/image-01` або `minimax-portal/image-01`
+- Розуміння зображень належить Plugin: `MiniMax-VL-01` на обох шляхах автентифікації MiniMax
+- Web search залишається на ідентифікаторі провайдера `minimax`
### LM Studio
@@ -534,7 +534,7 @@ LM Studio постачається як вбудований Plugin провай
- Провайдер: `lmstudio`
- Автентифікація: `LM_API_TOKEN`
-- Типова базова URL-адреса для inference: `http://localhost:1234/v1`
+- Типовий базовий URL для inference: `http://localhost:1234/v1`
Потім задайте модель (замініть на один з ідентифікаторів, повернених `http://localhost:1234/api/v1/models`):
@@ -546,7 +546,7 @@ LM Studio постачається як вбудований Plugin провай
}
```
-OpenClaw використовує нативні `/api/v1/models` і `/api/v1/models/load` LM Studio для виявлення й автоматичного завантаження, а `/v1/chat/completions` типово для inference. Налаштування й усунення неполадок див. у [/providers/lmstudio](/uk/providers/lmstudio).
+OpenClaw використовує нативні `/api/v1/models` і `/api/v1/models/load` LM Studio для виявлення й автоматичного завантаження, а для inference за замовчуванням використовує `/v1/chat/completions`. Див. [/providers/lmstudio](/uk/providers/lmstudio) для налаштування й усунення несправностей.
### Ollama
@@ -570,7 +570,7 @@ ollama pull llama3.3
}
```
-Ollama виявляється локально на `http://127.0.0.1:11434`, коли ви погоджуєтеся через `OLLAMA_API_KEY`, а вбудований Plugin провайдера додає Ollama безпосередньо до `openclaw onboard` і засобу вибору моделі. Onboarding, хмарний/локальний режим і власне налаштування див. у [/providers/ollama](/uk/providers/ollama).
+Ollama виявляється локально за адресою `http://127.0.0.1:11434`, коли ви вмикаєте її через `OLLAMA_API_KEY`, а вбудований Plugin провайдера додає Ollama безпосередньо до `openclaw onboard` і засобу вибору моделей. Див. [/providers/ollama](/uk/providers/ollama) для onboarding, хмарного/локального режиму та власної конфігурації.
### vLLM
@@ -578,9 +578,9 @@ vLLM постачається як вбудований Plugin провайде
- Провайдер: `vllm`
- Автентифікація: необов’язкова (залежить від вашого сервера)
-- Типова базова URL-адреса: `http://127.0.0.1:8000/v1`
+- Типовий базовий URL: `http://127.0.0.1:8000/v1`
-Щоб увімкнути локальне автовиявлення (підійде будь-яке значення, якщо ваш сервер не застосовує автентифікацію):
+Щоб увімкнути локальне автоматичне виявлення (підійде будь-яке значення, якщо ваш сервер не вимагає автентифікації):
```bash
export VLLM_API_KEY="vllm-local"
@@ -596,7 +596,7 @@ export VLLM_API_KEY="vllm-local"
}
```
-Докладніше див. у [/providers/vllm](/uk/providers/vllm).
+Див. [/providers/vllm](/uk/providers/vllm) для деталей.
### SGLang
@@ -604,9 +604,9 @@ SGLang постачається як вбудований Plugin провайд
- Провайдер: `sglang`
- Автентифікація: необов’язкова (залежить від вашого сервера)
-- Типова базова URL-адреса: `http://127.0.0.1:30000/v1`
+- Типовий базовий URL: `http://127.0.0.1:30000/v1`
-Щоб увімкнути локальне автовиявлення (підійде будь-яке значення, якщо ваш сервер не застосовує автентифікацію):
+Щоб увімкнути локальне автоматичне виявлення (підійде будь-яке значення, якщо ваш сервер не вимагає автентифікації):
```bash
export SGLANG_API_KEY="sglang-local"
@@ -622,7 +622,7 @@ export SGLANG_API_KEY="sglang-local"
}
```
-Докладніше див. у [/providers/sglang](/uk/providers/sglang).
+Див. [/providers/sglang](/uk/providers/sglang) для деталей.
### Локальні проксі (LM Studio, vLLM, LiteLLM тощо)
@@ -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`.
- - Проксі-маршрути у стилі 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`).
+
+ - Для `api: "openai-completions"` на ненативних кінцевих точках (будь-який непорожній `baseUrl`, хост якого не є `api.openai.com`) OpenClaw примусово задає `compat.supportsDeveloperRole: false`, щоб уникнути помилок провайдера 400 для непідтримуваних ролей `developer`.
+ - OpenAI-сумісні маршрути у стилі проксі також пропускають нативне формування запитів, призначене лише для OpenAI: без `service_tier`, без `store` для Responses, без `store` для Completions, без підказок prompt-cache, без формування payload для сумісності OpenAI reasoning і без прихованих заголовків атрибуції 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-*`, коли рівень thinking у сесії вимкнено.
+ - Для повільних локальних моделей або віддалених хостів LAN/tailnet задайте `models.providers..timeoutSeconds`. Це розширює обробку HTTP-запитів моделі провайдера, включно з підключенням, заголовками, streaming тіла та загальним перериванням 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"]`, якщо вашому проксі потрібні певні бета-функції.
+ - Для `api: "anthropic-messages"` на непрямих кінцевих точках (будь-який провайдер, окрім канонічного `anthropic`, або власний `models.providers.anthropic.baseUrl`, хост якого не є публічною кінцевою точкою `api.anthropic.com`) OpenClaw пригнічує неявні beta-заголовки Anthropic, як-от `claude-code-20250219`, `interleaved-thinking-2025-05-14` і маркери OAuth, щоб власні Anthropic-сумісні проксі не відхиляли непідтримувані beta-прапорці. Явно задайте `models.providers..headers["anthropic-beta"]`, якщо вашому проксі потрібні конкретні 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) — ключі конфігурації моделі
-- [Відпрацювання відмови моделі](/uk/concepts/model-failover) — ланцюги fallback і поведінка повторних спроб
+- [Довідник конфігурації](/uk/gateway/config-agents#agent-defaults) — ключі конфігурації моделей
+- [Відмовостійкість моделей](/uk/concepts/model-failover) — ланцюжки резервного переходу та поведінка повторних спроб
- [Моделі](/uk/concepts/models) — конфігурація моделей і псевдоніми
- [Провайдери](/uk/providers) — посібники з налаштування для кожного провайдера
diff --git a/docs/uk/help/testing-live.md b/docs/uk/help/testing-live.md
index e2c952a1d..d58a130cf 100644
--- a/docs/uk/help/testing-live.md
+++ b/docs/uk/help/testing-live.md
@@ -4,26 +4,26 @@ read_when:
- Налагодження визначення облікових даних для тестів у реальному середовищі
- Додавання нового тесту в реальному середовищі для конкретного провайдера
sidebarTitle: Live tests
-summary: 'Тести в реальному середовищі (із мережевими зверненнями): матриця моделей, бекенди CLI, ACP, медіапровайдери, облікові дані'
-title: 'Тестування: живі набори тестів'
+summary: 'Живі тести (з мережевими зверненнями): матриця моделей, бекенди CLI, ACP, постачальники медіа, облікові дані'
+title: 'Тестування: набори тестів у реальному середовищі'
x-i18n:
- generated_at: "2026-05-01T20:38:06Z"
+ generated_at: "2026-05-02T01:45:28Z"
model: gpt-5.5
provider: openai
- source_hash: 908ce317d5a8d45c8fa8dba4225dadf1bbbf530b5ff47272cd734739a57dbc6e
+ source_hash: ce8bd75ee7837b48e6ba1d888d281ee053fc13bdcf0907baddeb78ebcbbef31c
source_path: help/testing-live.md
workflow: 16
---
-Для швидкого старту, QA-запускачів, unit/integration наборів і Docker-потоків див.
-[Тестування](/uk/help/testing). Ця сторінка охоплює **живі** (що торкаються мережі) тестові
-набори: матрицю моделей, CLI-бекенди, ACP і живі тести медіапровайдерів, а також
+Для швидкого старту, QA-запускачів, модульних/інтеграційних наборів і Docker-потоків див.
+[Тестування](/uk/help/testing). Ця сторінка описує **live** (із взаємодією з мережею) тестові
+набори: матрицю моделей, CLI-бекенди, ACP і live-тести медіапровайдерів, а також
обробку облікових даних.
-## Живі: локальні smoke-команди профілю
+## Live: локальні команди smoke для профілю
-Підключіть `~/.profile` перед спеціальними живими перевірками, щоб ключі провайдера й локальні шляхи
-інструментів збігалися з вашою shell-оболонкою:
+Перед ad hoc live-перевірками виконайте source для `~/.profile`, щоб ключі провайдерів і локальні шляхи
+інструментів відповідали вашій оболонці:
```bash
source ~/.profile
@@ -37,105 +37,105 @@ pnpm openclaw infer tts convert --local --json \
--output /tmp/openclaw-live-smoke.mp3
```
-Безпечний smoke готовності голосового виклику:
+Безпечний smoke готовності голосових викликів:
```bash
pnpm openclaw voicecall setup --json
pnpm openclaw voicecall smoke --to "+15555550123"
```
-`voicecall smoke` є сухим запуском, якщо також не вказано `--yes`. Використовуйте `--yes` лише
-тоді, коли навмисно хочете здійснити реальний сповіщувальний дзвінок. Для Twilio, Telnyx і
-Plivo успішна перевірка готовності потребує публічної URL-адреси Webhook; локальні-only
-loopback/приватні резервні варіанти відхиляються за задумом.
+`voicecall smoke` є пробним запуском, якщо також не вказано `--yes`. Використовуйте `--yes` лише
+тоді, коли ви навмисно хочете здійснити справжній сповіщувальний дзвінок. Для Twilio, Telnyx і
+Plivo успішна перевірка готовності потребує публічної URL-адреси Webhook; резервні варіанти лише для
+local loopback/приватні резервні варіанти відхиляються за задумом.
-## Живі: перевірка можливостей Android Node
+## Live: перевірка можливостей Android Node
- Тест: `src/gateway/android-node.capabilities.live.test.ts`
- Скрипт: `pnpm android:test:integration`
-- Мета: викликати **кожну команду, яку зараз оголошує** підключений Android Node, і перевірити поведінку контракту команди.
+- Мета: викликати **кожну команду, яку зараз рекламує** підключений Android Node, і перевірити поведінку контракту команди.
- Обсяг:
- - Попередньо підготовлене/ручне налаштування (набір не встановлює/запускає/сполучає застосунок).
- - Покомандна валідація Gateway `node.invoke` для вибраного Android Node.
-- Обов’язкове попереднє налаштування:
- - Android-застосунок уже підключений і сполучений із Gateway.
- - Застосунок утримується на передньому плані.
- - Дозволи/згода на захоплення надані для можливостей, які ви очікуєте успішними.
+ - Попередньо підготовлене/ручне налаштування (набір не встановлює/не запускає/не сполучає застосунок).
+ - Валідація Gateway `node.invoke` для вибраного Android Node, команда за командою.
+- Обов’язкова попередня підготовка:
+ - Android-застосунок уже підключений і спарений із Gateway.
+ - Застосунок залишається на передньому плані.
+ - Дозволи/згода на захоплення надані для можливостей, які ви очікуєте успішно пройти.
- Необов’язкові перевизначення цілі:
- `OPENCLAW_ANDROID_NODE_ID` або `OPENCLAW_ANDROID_NODE_NAME`.
- `OPENCLAW_ANDROID_GATEWAY_URL` / `OPENCLAW_ANDROID_GATEWAY_TOKEN` / `OPENCLAW_ANDROID_GATEWAY_PASSWORD`.
- Повні деталі налаштування Android: [Android-застосунок](/uk/platforms/android)
-## Живі: smoke моделей (ключі профілю)
+## Live: model smoke (ключі профілю)
-Живі тести розділено на два шари, щоб можна було ізолювати збої:
+Live-тести поділено на два шари, щоб ми могли ізолювати збої:
-- “Пряма модель” показує, чи провайдер/модель узагалі може відповісти з наданим ключем.
-- “Gateway smoke” показує, чи повний конвеєр gateway+agent працює для цієї моделі (сесії, історія, інструменти, політика sandbox тощо).
+- «Пряма модель» показує, чи провайдер/модель узагалі може відповісти з наданим ключем.
+- «Gateway smoke» показує, чи весь конвеєр gateway+agent працює для цієї моделі (сеанси, історія, інструменти, політика sandbox тощо).
-### Шар 1: пряме завершення моделі (без gateway)
+### Шар 1: Пряме завершення моделі (без Gateway)
- Тест: `src/agents/models.profiles.live.test.ts`
- Мета:
- Перелічити виявлені моделі
- Використати `getApiKeyForModel`, щоб вибрати моделі, для яких у вас є облікові дані
- - Запустити невелике завершення для кожної моделі (і цільові регресійні перевірки, де потрібно)
+ - Запустити невелике завершення для кожної моделі (і цільові регресії за потреби)
- Як увімкнути:
- `pnpm test:live` (або `OPENCLAW_LIVE_TEST=1`, якщо викликаєте Vitest напряму)
-- Установіть `OPENCLAW_LIVE_MODELS=modern` (або `all`, псевдонім для modern), щоб фактично запустити цей набір; інакше він пропускається, щоб `pnpm test:live` був зосереджений на gateway smoke
-- Як вибирати моделі:
- - `OPENCLAW_LIVE_MODELS=modern`, щоб запустити сучасний allowlist (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, DeepSeek V4, GLM 4.7, MiniMax M2.7, Grok 4)
+- Установіть `OPENCLAW_LIVE_MODELS=modern` (або `all`, псевдонім для modern), щоб фактично запустити цей набір; інакше він пропускається, щоб `pnpm test:live` залишався зосередженим на gateway smoke
+- Як вибрати моделі:
+ - `OPENCLAW_LIVE_MODELS=modern`, щоб запустити сучасний allowlist (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, DeepSeek V4, GLM 4.7, MiniMax M2.7, Grok 4.3)
- `OPENCLAW_LIVE_MODELS=all` є псевдонімом для сучасного allowlist
- або `OPENCLAW_LIVE_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,..."` (allowlist через кому)
- - Сучасні/all перевірки за замовчуванням мають кероване високосигнальне обмеження; установіть `OPENCLAW_LIVE_MAX_MODELS=0` для вичерпної сучасної перевірки або додатне число для меншого обмеження.
- - Вичерпні перевірки використовують `OPENCLAW_LIVE_TEST_TIMEOUT_MS` для тайм-ауту всього тесту direct-model. Типово: 60 хвилин.
- - Проби direct-model за замовчуванням виконуються з паралельністю 20; установіть `OPENCLAW_LIVE_MODEL_CONCURRENCY`, щоб перевизначити.
-- Як вибирати провайдерів:
+ - Перевірки modern/all за замовчуванням використовують кураторський високосигнальний ліміт; установіть `OPENCLAW_LIVE_MAX_MODELS=0` для вичерпної modern-перевірки або додатне число для меншого ліміту.
+ - Вичерпні перевірки використовують `OPENCLAW_LIVE_TEST_TIMEOUT_MS` як таймаут усього тесту прямої моделі. За замовчуванням: 60 хвилин.
+ - Проби прямої моделі за замовчуванням виконуються з паралелізмом 20; установіть `OPENCLAW_LIVE_MODEL_CONCURRENCY`, щоб перевизначити.
+- Як вибрати провайдерів:
- `OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"` (allowlist через кому)
- Звідки беруться ключі:
- - За замовчуванням: сховище профілю та резервні env-значення
- - Установіть `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`, щоб примусово використовувати лише **сховище профілю**
+ - За замовчуванням: сховище профілів і резервні варіанти env
+ - Установіть `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`, щоб примусово використовувати лише **сховище профілів**
- Навіщо це існує:
- - Відокремлює “API провайдера зламане / ключ недійсний” від “конвеєр агента gateway зламаний”
- - Містить невеликі ізольовані регресійні перевірки (приклад: OpenAI Responses/Codex Responses reasoning replay + потоки tool-call)
+ - Відокремлює «API провайдера зламано / ключ недійсний» від «конвеєр gateway agent зламано»
+ - Містить невеликі, ізольовані регресії (приклад: reasoning replay OpenAI Responses/Codex Responses + потоки tool-call)
-### Шар 2: Gateway + smoke dev-агента (що насправді робить "@openclaw")
+### Шар 2: Gateway + dev agent smoke (що насправді робить "@openclaw")
- Тест: `src/gateway/gateway-models.profiles.live.test.ts`
- Мета:
- - Запустити gateway в процесі
- - Створити/виправити сесію `agent:dev:*` (перевизначення моделі для кожного запуску)
- - Ітерувати моделі з ключами й перевірити:
- - “змістовну” відповідь (без інструментів)
- - працює реальний виклик інструмента (проба читання)
- - необов’язкові додаткові проби інструментів (проба exec+read)
- - регресійні шляхи OpenAI (tool-call-only → follow-up) продовжують працювати
+ - Запустити внутрішньопроцесний Gateway
+ - Створити/змінити сеанс `agent:dev:*` (перевизначення моделі для кожного запуску)
+ - Перебрати моделі з ключами й перевірити:
+ - «змістовну» відповідь (без інструментів)
+ - працює справжній виклик інструмента (read-проба)
+ - необов’язкові додаткові проби інструментів (exec+read-проба)
+ - регресійні шляхи OpenAI (лише tool-call → follow-up) продовжують працювати
- Деталі проб (щоб можна було швидко пояснити збої):
- - проба `read`: тест записує nonce-файл у workspace і просить агента `read` його та повернути nonce.
- - проба `exec+read`: тест просить агента через `exec` записати nonce у тимчасовий файл, а потім `read` його назад.
- - проба зображення: тест додає згенерований PNG (cat + рандомізований код) і очікує, що модель поверне `cat `.
+ - `read`-проба: тест записує nonce-файл у робочій області й просить агента `read` його та повернути nonce.
+ - `exec+read`-проба: тест просить агента через `exec` записати nonce у тимчасовий файл, а потім через `read` прочитати його назад.
+ - проба зображення: тест долучає згенерований PNG (cat + рандомізований код) і очікує, що модель поверне `cat `.
- Посилання на реалізацію: `src/gateway/gateway-models.profiles.live.test.ts` і `src/gateway/live-image-probe.ts`.
- Як увімкнути:
- `pnpm test:live` (або `OPENCLAW_LIVE_TEST=1`, якщо викликаєте Vitest напряму)
-- Як вибирати моделі:
- - Типово: сучасний allowlist (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, DeepSeek V4, GLM 4.7, MiniMax M2.7, Grok 4)
+- Як вибрати моделі:
+ - За замовчуванням: сучасний allowlist (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, DeepSeek V4, GLM 4.7, MiniMax M2.7, Grok 4.3)
- `OPENCLAW_LIVE_GATEWAY_MODELS=all` є псевдонімом для сучасного allowlist
- - Або встановіть `OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"` (або список через кому), щоб звузити вибір
- - Сучасні/all gateway-перевірки за замовчуванням мають кероване високосигнальне обмеження; установіть `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0` для вичерпної сучасної перевірки або додатне число для меншого обмеження.
-- Як вибирати провайдерів (уникати “усе через OpenRouter”):
+ - Або встановіть `OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"` (або список через кому), щоб звузити
+ - Gateway-перевірки modern/all за замовчуванням використовують кураторський високосигнальний ліміт; установіть `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0` для вичерпної modern-перевірки або додатне число для меншого ліміту.
+- Як вибрати провайдерів (уникайте «усе з OpenRouter»):
- `OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"` (allowlist через кому)
-- Проби інструментів і зображень завжди ввімкнені в цьому живому тесті:
- - проба `read` + проба `exec+read` (навантаження інструментів)
- - проба зображення запускається, коли модель оголошує підтримку вводу зображень
+- Проби інструментів + зображень у цьому live-тесті завжди ввімкнені:
+ - `read`-проба + `exec+read`-проба (навантаження інструментів)
+ - проба зображення виконується, коли модель оголошує підтримку введення зображень
- Потік (на високому рівні):
- Тест генерує крихітний PNG із “CAT” + випадковим кодом (`src/gateway/live-image-probe.ts`)
- Надсилає його через `agent` `attachments: [{ mimeType: "image/png", content: "" }]`
- Gateway розбирає вкладення в `images[]` (`src/gateway/server-methods/agent.ts` + `src/gateway/chat-attachments.ts`)
- Вбудований агент пересилає мультимодальне повідомлення користувача до моделі
- - Перевірка: відповідь містить `cat` + код (толерантність OCR: допускаються незначні помилки)
+ - Твердження: відповідь містить `cat` + код (толерантність OCR: незначні помилки дозволені)
-Щоб побачити, що можна протестувати на вашій машині (і точні ids `provider/model`), запустіть:
+Щоб побачити, що можна тестувати на вашій машині (і точні ідентифікатори `provider/model`), запустіть:
```bash
openclaw models list
@@ -144,27 +144,27 @@ openclaw models list --json
-## Живі: smoke CLI-бекенда (Claude, Codex, Gemini або інші локальні CLI)
+## Live: CLI backend smoke (Claude, Codex, Gemini або інші локальні CLI)
- Тест: `src/gateway/gateway-cli-backend.live.test.ts`
- Мета: перевірити конвеєр Gateway + agent за допомогою локального CLI-бекенда, не торкаючись вашої типової конфігурації.
-- Специфічні для бекенда smoke-типові значення містяться у визначенні `cli-backend.ts` власницького plugin.
+- Специфічні для бекенда smoke-налаштування за замовчуванням живуть у визначенні `cli-backend.ts` відповідного Plugin.
- Увімкнення:
- `pnpm test:live` (або `OPENCLAW_LIVE_TEST=1`, якщо викликаєте Vitest напряму)
- `OPENCLAW_LIVE_CLI_BACKEND=1`
- Типові значення:
- Типовий провайдер/модель: `claude-cli/claude-sonnet-4-6`
- - Поведінка команд/аргументів/зображень надходить із metadata власницького CLI backend plugin.
+ - Поведінка команди/аргументів/зображень береться з метаданих відповідного CLI backend plugin.
- Перевизначення (необов’язково):
- `OPENCLAW_LIVE_CLI_BACKEND_MODEL="codex-cli/gpt-5.5"`
- `OPENCLAW_LIVE_CLI_BACKEND_COMMAND="/full/path/to/codex"`
- `OPENCLAW_LIVE_CLI_BACKEND_ARGS='["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]'`
- - `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1`, щоб надіслати реальне вкладення-зображення (шляхи ін’єктуються в prompt). Docker-рецепти за замовчуванням вимикають це, якщо явно не запитано.
+ - `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1`, щоб надіслати справжнє зображення-вкладення (шляхи ін’єктуються в prompt). Docker-рецепти за замовчуванням вимикають це, якщо явно не запитано.
- `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image"`, щоб передавати шляхи до файлів зображень як CLI-аргументи замість ін’єкції в prompt.
- `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"` (або `"list"`), щоб керувати тим, як передаються аргументи зображень, коли встановлено `IMAGE_ARG`.
- `OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1`, щоб надіслати другий хід і перевірити потік resume.
- - `OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=1`, щоб увімкнути пробу безперервності тієї самої сесії Claude Sonnet -> Opus, коли вибрана модель підтримує ціль перемикання. Docker-рецепти за замовчуванням вимикають це для сукупної надійності.
- - `OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1`, щоб увімкнути MCP/tool loopback пробу. Docker-рецепти за замовчуванням вимикають це, якщо явно не запитано.
+ - `OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=1`, щоб увімкнути пробу безперервності Claude Sonnet -> Opus у тому самому сеансі, коли вибрана модель підтримує ціль перемикання. Docker-рецепти за замовчуванням вимикають це для сукупної надійності.
+ - `OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1`, щоб увімкнути пробу MCP/інструментального loopback. Docker-рецепти за замовчуванням вимикають це, якщо явно не запитано.
Приклад:
@@ -174,7 +174,7 @@ OPENCLAW_LIVE_CLI_BACKEND=1 \
pnpm test:live src/gateway/gateway-cli-backend.live.test.ts
```
-Дешевий smoke конфігурації Gemini MCP:
+Дешева smoke-перевірка конфігурації Gemini MCP:
```bash
OPENCLAW_LIVE_TEST=1 \
@@ -183,8 +183,8 @@ OPENCLAW_LIVE_TEST=1 \
Це не просить Gemini згенерувати відповідь. Воно записує ті самі системні
налаштування, які OpenClaw надає Gemini, а потім запускає `gemini --debug mcp list`, щоб довести, що
-збережений сервер `transport: "streamable-http"` нормалізується до HTTP MCP
-форми Gemini й може підключитися до локального streamable-HTTP MCP сервера.
+збережений сервер `transport: "streamable-http"` нормалізується до HTTP MCP-форми Gemini
+і може підключитися до локального streamable-HTTP MCP-сервера.
Docker-рецепт:
@@ -201,31 +201,31 @@ pnpm test:docker:live-cli-backend:codex
pnpm test:docker:live-cli-backend:gemini
```
-Примітки:
+Нотатки:
-- Docker runner розташований у `scripts/test-live-cli-backend-docker.sh`.
-- Він запускає live CLI-backend smoke всередині Docker-образу репозиторію як non-root користувач `node`.
-- Він визначає CLI smoke metadata з власницького plugin, потім встановлює відповідний Linux CLI пакет (`@anthropic-ai/claude-code`, `@openai/codex` або `@google/gemini-cli`) у кешований записуваний префікс за `OPENCLAW_DOCKER_CLI_TOOLS_DIR` (типово: `~/.cache/openclaw/docker-cli-tools`).
-- `pnpm test:docker:live-cli-backend:claude-subscription` потребує переносного Claude Code subscription OAuth через `~/.claude/.credentials.json` із `claudeAiOauth.subscriptionType` або `CLAUDE_CODE_OAUTH_TOKEN` з `claude setup-token`. Спершу він доводить прямий `claude -p` у Docker, потім запускає два Gateway CLI-backend ходи без збереження env vars ключів Anthropic API. Ця subscription lane вимикає Claude MCP/tool і проби зображень за замовчуванням, бо Claude наразі маршрутизує використання сторонніх застосунків через billing додаткового використання замість звичайних лімітів subscription plan.
-- Живий CLI-backend smoke тепер перевіряє той самий наскрізний потік для Claude, Codex і Gemini: текстовий хід, хід класифікації зображення, потім виклик інструмента MCP `cron`, перевірений через gateway CLI.
-- Типовий smoke Claude також виправляє сесію із Sonnet на Opus і перевіряє, що відновлена сесія все ще пам’ятає попередню нотатку.
+- Docker-запускач розташований у `scripts/test-live-cli-backend-docker.sh`.
+- Він запускає live CLI-backend smoke всередині Docker-образу репозиторію як некореневий користувач `node`.
+- Він визначає CLI smoke-метадані з відповідного Plugin, а потім встановлює відповідний Linux CLI-пакет (`@anthropic-ai/claude-code`, `@openai/codex` або `@google/gemini-cli`) у кешований записуваний префікс за `OPENCLAW_DOCKER_CLI_TOOLS_DIR` (за замовчуванням: `~/.cache/openclaw/docker-cli-tools`).
+- `pnpm test:docker:live-cli-backend:claude-subscription` потребує переносного OAuth для підписки Claude Code через `~/.claude/.credentials.json` із `claudeAiOauth.subscriptionType` або `CLAUDE_CODE_OAUTH_TOKEN` з `claude setup-token`. Спочатку він доводить прямий `claude -p` у Docker, а потім запускає два Gateway CLI-backend ходи без збереження env vars ключа Anthropic API. Ця subscription-смуга за замовчуванням вимикає Claude MCP/інструментальну пробу та пробу зображення, бо Claude зараз маршрутизує використання сторонніх застосунків через billing додаткового використання замість звичайних лімітів плану підписки.
+- Live CLI-backend smoke тепер перевіряє той самий end-to-end потік для Claude, Codex і Gemini: текстовий хід, хід класифікації зображення, а потім виклик інструмента MCP `cron`, перевірений через gateway CLI.
+- Типовий smoke Claude також змінює сеанс із Sonnet на Opus і перевіряє, що відновлений сеанс усе ще пам’ятає попередню нотатку.
-## Живі: ACP bind smoke (`/acp spawn ... --bind here`)
+## Live: ACP bind smoke (`/acp spawn ... --bind here`)
- Тест: `src/gateway/gateway-acp-bind.live.test.ts`
-- Мета: перевірити реальний потік прив’язування розмови ACP із live ACP-агентом:
+- Мета: перевірити справжній потік прив’язування розмови ACP із живим агентом ACP:
- надіслати `/acp spawn --bind here`
- - прив’язати синтетичну розмову message-channel на місці
+ - прив’язати синтетичну розмову каналу повідомлень на місці
- надіслати звичайне подальше повідомлення в тій самій розмові
- - перевірити, що подальше повідомлення потрапляє в transcript прив’язаного сеансу ACP
+ - перевірити, що подальше повідомлення потрапляє до транскрипта прив’язаної сесії ACP
- Увімкнення:
- `pnpm test:live src/gateway/gateway-acp-bind.live.test.ts`
- `OPENCLAW_LIVE_ACP_BIND=1`
-- Значення за замовчуванням:
- - ACP-агенти в Docker: `claude,codex,gemini`
- - ACP-агент для прямого `pnpm test:live ...`: `claude`
- - Синтетичний канал: контекст розмови у стилі Slack DM
- - ACP-бекенд: `acpx`
+- Типові значення:
+ - агенти ACP у Docker: `claude,codex,gemini`
+ - агент ACP для прямого `pnpm test:live ...`: `claude`
+ - синтетичний канал: контекст розмови у стилі Slack DM
+ - бекенд ACP: `acpx`
- Перевизначення:
- `OPENCLAW_LIVE_ACP_BIND_AGENT=claude`
- `OPENCLAW_LIVE_ACP_BIND_AGENT=codex`
@@ -240,9 +240,9 @@ pnpm test:docker:live-cli-backend:gemini
- `OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1`
- `OPENCLAW_LIVE_ACP_BIND_PARENT_MODEL=openai/gpt-5.5`
- Примітки:
- - Ця лінія використовує поверхню gateway `chat.send` з admin-only синтетичними полями originating-route, щоб тести могли приєднувати контекст message-channel без імітації зовнішньої доставки.
- - Коли `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND` не задано, тест використовує вбудований реєстр агентів embedded `acpx` plugin для вибраного агента ACP harness.
- - Створення bound-session cron MCP за замовчуванням виконується best-effort, оскільки зовнішні ACP harnesses можуть скасувати MCP-виклики після того, як bind/image proof уже пройшов; задайте `OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1`, щоб зробити цей post-bind cron probe суворим.
+ - Ця лінія використовує поверхню Gateway `chat.send` з адміністративними полями синтетичного вихідного маршруту, щоб тести могли приєднувати контекст каналу повідомлень без удавання зовнішньої доставки.
+ - Коли `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND` не задано, тест використовує вбудований реєстр агентів вбудованого Plugin `acpx` для вибраного агента ACP harness.
+ - Створення Cron MCP для прив’язаної сесії типово виконується за принципом best-effort, бо зовнішні ACP harness можуть скасовувати виклики MCP після проходження перевірки прив’язування/зображення; задайте `OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1`, щоб зробити цю перевірку Cron після прив’язування суворою.
Приклад:
@@ -270,39 +270,38 @@ pnpm test:docker:live-acp-bind:opencode
Примітки Docker:
-- Docker runner розташований у `scripts/test-live-acp-bind-docker.sh`.
-- За замовчуванням він послідовно запускає ACP bind smoke проти агрегованих live CLI-агентів: `claude`, `codex`, потім `gemini`.
+- Runner Docker розташований у `scripts/test-live-acp-bind-docker.sh`.
+- Типово він послідовно запускає smoke ACP bind для сукупних живих агентів CLI: `claude`, `codex`, потім `gemini`.
- Використовуйте `OPENCLAW_LIVE_ACP_BIND_AGENTS=claude`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=codex`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=droid`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=gemini` або `OPENCLAW_LIVE_ACP_BIND_AGENTS=opencode`, щоб звузити матрицю.
-- Він завантажує `~/.profile`, підготовлює відповідні матеріали CLI auth у контейнері, а потім встановлює запитаний live CLI (`@anthropic-ai/claude-code`, `@openai/codex`, Factory Droid через `https://app.factory.ai/cli`, `@google/gemini-cli` або `opencode-ai`), якщо його бракує. Сам ACP-бекенд — це bundled embedded пакет `acpx/runtime` з plugin `acpx`.
-- Варіант Droid Docker підготовлює `~/.factory` для налаштувань, передає `FACTORY_API_KEY` і потребує цей API-ключ, оскільки локальна Factory OAuth/keyring auth не є переносимою в контейнер. Він використовує вбудований запис реєстру ACPX `droid exec --output-format acp`.
-- Варіант OpenCode Docker — це сувора single-agent regression lane. Він записує тимчасову модель за замовчуванням `OPENCODE_CONFIG_CONTENT` з `OPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL` (за замовчуванням `opencode/kimi-k2.6`) після завантаження `~/.profile`, а `pnpm test:docker:live-acp-bind:opencode` вимагає transcript прив’язаного assistant замість прийняття загального post-bind skip.
-- Прямі виклики `acpx` CLI — лише ручний/обхідний шлях для порівняння поведінки поза Gateway. Docker ACP bind smoke перевіряє embedded `acpx` runtime backend OpenClaw.
+- Він підключає `~/.profile`, розміщує відповідні матеріали автентифікації CLI в контейнері, а потім, якщо бракує, встановлює запитаний живий CLI (`@anthropic-ai/claude-code`, `@openai/codex`, Factory Droid через `https://app.factory.ai/cli`, `@google/gemini-cli` або `opencode-ai`). Сам бекенд ACP є вбудованим пакетом `acpx/runtime` із Plugin `acpx`.
+- Варіант Docker для Droid розміщує `~/.factory` для налаштувань, передає `FACTORY_API_KEY` і вимагає цей API-ключ, бо локальна автентифікація Factory через OAuth/keyring не переноситься в контейнер. Він використовує вбудований запис реєстру ACPX `droid exec --output-format acp`.
+- Варіант Docker для OpenCode є суворою регресійною лінією з одним агентом. Він записує тимчасову типову модель `OPENCODE_CONFIG_CONTENT` з `OPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL` (типово `opencode/kimi-k2.6`) після підключення `~/.profile`, а `pnpm test:docker:live-acp-bind:opencode` вимагає прив’язаний транскрипт асистента замість прийняття загального пропуску після прив’язування.
+- Прямі виклики CLI `acpx` є лише ручним/обхідним шляхом для порівняння поведінки поза Gateway. Docker smoke ACP bind перевіряє вбудований бекенд runtime `acpx` OpenClaw.
-## Live: Codex app-server harness smoke
+## Live: smoke app-server harness Codex
-- Мета: перевірити Codex harness, що належить plugin, через звичайний gateway
- метод `agent`:
- - завантажити bundled plugin `codex`
+- Мета: перевірити Codex harness, що належить Plugin, через звичайний метод gateway
+ `agent`:
+ - завантажити вбудований Plugin `codex`
- вибрати `OPENCLAW_AGENT_RUNTIME=codex`
- - надіслати перший gateway agent turn до `openai/gpt-5.5` із примусово заданим Codex harness
- - надіслати другий turn до того самого сеансу OpenClaw і перевірити, що app-server
- thread може відновитися
- - виконати `/codex status` і `/codex models` через той самий gateway command
- path
- - опційно запустити два Guardian-reviewed escalated shell probes: одну нешкідливу
- команду, яку слід схвалити, і одне фейкове завантаження секрету, яке слід
- відхилити, щоб агент перепитав
+ - надіслати перший хід агента gateway до `openai/gpt-5.5` із примусово заданим Codex harness
+ - надіслати другий хід до тієї самої сесії OpenClaw і перевірити, що потік app-server
+ може відновитися
+ - виконати `/codex status` і `/codex models` через той самий шлях команди gateway
+ - необов’язково виконати дві перевірені Guardian підвищені shell-перевірки: одну нешкідливу
+ команду, яку має бути схвалено, і одне фальшиве завантаження секрету, яке має бути
+ відхилено, щоб агент поставив запитання у відповідь
- Тест: `src/gateway/gateway-codex-harness.live.test.ts`
- Увімкнення: `OPENCLAW_LIVE_CODEX_HARNESS=1`
-- Модель за замовчуванням: `openai/gpt-5.5`
-- Опційний image probe: `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1`
-- Опційний MCP/tool probe: `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1`
-- Опційний Guardian probe: `OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1`
-- Smoke задає `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб зламаний Codex
- harness не міг пройти, тихо повернувшись до PI.
-- Auth: Codex app-server auth з локального входу Codex subscription. Docker
- smokes також можуть надавати `OPENAI_API_KEY` для non-Codex probes, коли застосовно,
- плюс опційно скопійовані `~/.codex/auth.json` і `~/.codex/config.toml`.
+- Типова модель: `openai/gpt-5.5`
+- Необов’язкова перевірка зображення: `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1`
+- Необов’язкова перевірка MCP/інструмента: `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1`
+- Необов’язкова перевірка Guardian: `OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1`
+- Smoke задає `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб несправний Codex
+ harness не міг пройти через мовчазний fallback до PI.
+- Автентифікація: автентифікація app-server Codex з локального входу в підписку Codex. Docker
+ smokes також можуть надавати `OPENAI_API_KEY` для перевірок не-Codex, коли застосовно,
+ плюс необов’язково скопійовані `~/.codex/auth.json` і `~/.codex/config.toml`.
Локальний рецепт:
@@ -325,22 +324,21 @@ pnpm test:docker:live-codex-harness
Примітки Docker:
-- Docker runner розташований у `scripts/test-live-codex-harness-docker.sh`.
-- Він завантажує змонтований `~/.profile`, передає `OPENAI_API_KEY`, копіює файли Codex CLI
- auth, якщо вони наявні, встановлює `@openai/codex` у доступний для запису змонтований npm
- prefix, підготовлює дерево вихідного коду, а потім запускає лише live-тест Codex-harness.
-- Docker за замовчуванням вмикає image, MCP/tool і Guardian probes. Задайте
- `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0` або
- `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0` або
- `OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0`, коли потрібен вужчий debug
- run.
-- Docker також експортує `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, відповідно до live
- test config, щоб legacy aliases або PI fallback не могли приховати регресію
- Codex harness.
+- Runner Docker розташований у `scripts/test-live-codex-harness-docker.sh`.
+- Він підключає змонтований `~/.profile`, передає `OPENAI_API_KEY`, копіює файли автентифікації Codex CLI
+ за наявності, встановлює `@openai/codex` у доступний для запису змонтований префікс npm,
+ розміщує дерево вихідного коду, а потім запускає лише живий тест Codex-harness.
+- Docker типово вмикає перевірки зображення, MCP/інструмента та Guardian. Задайте
+ `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0`, або
+ `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0`, або
+ `OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0`, коли потрібен вужчий налагоджувальний
+ запуск.
+- Docker також експортує `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, відповідно до конфігурації живого
+ тесту, щоб застарілі псевдоніми або fallback PI не могли приховати регресію Codex harness.
-### Рекомендовані live recipes
+### Рекомендовані живі рецепти
-Вузькі, явні allowlists — найшвидші й найменш flaky:
+Вузькі, явні списки дозволеного найшвидші й найменш нестабільні:
- Одна модель, напряму (без gateway):
- `OPENCLAW_LIVE_MODELS="openai/gpt-5.5" pnpm test:live src/agents/models.profiles.live.test.ts`
@@ -348,36 +346,36 @@ pnpm test:docker:live-codex-harness
- Одна модель, gateway smoke:
- `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts`
-- Tool calling у кількох providers:
+- Виклики інструментів у кількох провайдерів:
- `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,google/gemini-3-flash-preview,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts`
-- Фокус на Google (Gemini API key + Antigravity):
- - Gemini (API key): `OPENCLAW_LIVE_GATEWAY_MODELS="google/gemini-3-flash-preview" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts`
+- Фокус Google (API-ключ Gemini + Antigravity):
+ - Gemini (API-ключ): `OPENCLAW_LIVE_GATEWAY_MODELS="google/gemini-3-flash-preview" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts`
- Antigravity (OAuth): `OPENCLAW_LIVE_GATEWAY_MODELS="google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-pro-high" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts`
- Google adaptive thinking smoke:
- - Якщо локальні ключі зберігаються в shell profile: `source ~/.profile`
- - Gemini 3 dynamic default: `pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-3.1-pro-preview --alt-model google/gemini-3.1-pro-preview --message '/think adaptive Reply exactly: GEMINI_ADAPTIVE_OK' --timeout-ms 180000`
- - Gemini 2.5 dynamic budget: `pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-2.5-flash --alt-model google/gemini-2.5-flash --message '/think adaptive Reply exactly: GEMINI25_ADAPTIVE_OK' --timeout-ms 180000`
+ - Якщо локальні ключі зберігаються в профілі shell: `source ~/.profile`
+ - Динамічне типове значення Gemini 3: `pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-3.1-pro-preview --alt-model google/gemini-3.1-pro-preview --message '/think adaptive Reply exactly: GEMINI_ADAPTIVE_OK' --timeout-ms 180000`
+ - Динамічний бюджет Gemini 2.5: `pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-2.5-flash --alt-model google/gemini-2.5-flash --message '/think adaptive Reply exactly: GEMINI25_ADAPTIVE_OK' --timeout-ms 180000`
Примітки:
-- `google/...` використовує Gemini API (API key).
-- `google-antigravity/...` використовує Antigravity OAuth bridge (endpoint агента у стилі Cloud Code Assist).
-- `google-gemini-cli/...` використовує локальний Gemini CLI на вашій машині (окрема auth + особливості tooling).
-- Gemini API vs Gemini CLI:
- - API: OpenClaw викликає розміщений Google Gemini API через HTTP (API key / profile auth); це те, що більшість користувачів мають на увазі під “Gemini”.
- - CLI: OpenClaw запускає локальний бінарник `gemini`; він має власну auth і може поводитися інакше (streaming/tool support/version skew).
+- `google/...` використовує Gemini API (API-ключ).
+- `google-antigravity/...` використовує міст Antigravity OAuth (endpoint агента в стилі Cloud Code Assist).
+- `google-gemini-cli/...` використовує локальний Gemini CLI на вашій машині (окрема автентифікація + особливості інструментів).
+- Gemini API проти Gemini CLI:
+ - API: OpenClaw викликає розміщений Google Gemini API через HTTP (API-ключ / автентифікація профілю); саме це більшість користувачів має на увазі під “Gemini”.
+ - CLI: OpenClaw запускає локальний бінарний файл `gemini` через shell; він має власну автентифікацію й може поводитися інакше (streaming/підтримка інструментів/розбіжність версій).
-## Live: model matrix (що ми покриваємо)
+## Live: матриця моделей (що ми покриваємо)
-Немає фіксованого “CI model list” (live є opt-in), але це **рекомендовані** моделі для регулярного покриття на dev-машині з ключами.
+Фіксованого “списку моделей CI” немає (live вмикається явно), але це **рекомендовані** моделі для регулярного покриття на машині розробника з ключами.
-### Сучасний smoke set (tool calling + image)
+### Сучасний smoke-набір (виклик інструментів + зображення)
-Це запуск “common models”, який ми очікуємо підтримувати робочим:
+Це запуск “поширених моделей”, який ми очікуємо підтримувати в робочому стані:
-- OpenAI (non-Codex): `openai/gpt-5.5`
+- OpenAI (не-Codex): `openai/gpt-5.5`
- OpenAI Codex OAuth: `openai-codex/gpt-5.5`
- Anthropic: `anthropic/claude-opus-4-6` (або `anthropic/claude-sonnet-4-6`)
- Google (Gemini API): `google/gemini-3.1-pro-preview` і `google/gemini-3-flash-preview` (уникайте старіших моделей Gemini 2.x)
@@ -386,12 +384,12 @@ pnpm test:docker:live-codex-harness
- Z.AI (GLM): `zai/glm-5.1`
- MiniMax: `minimax/MiniMax-M2.7`
-Запустіть gateway smoke з tools + image:
+Запустіть gateway smoke з інструментами + зображенням:
`OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,google/gemini-3.1-pro-preview,google/gemini-3-flash-preview,google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-flash,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts`
-### Базовий рівень: tool calling (Read + опційний Exec)
+### Базовий рівень: виклик інструментів (Read + необов’язковий Exec)
-Виберіть щонайменше одну на provider family:
+Виберіть принаймні одну модель для кожної родини провайдерів:
- OpenAI: `openai/gpt-5.5`
- Anthropic: `anthropic/claude-opus-4-6` (або `anthropic/claude-sonnet-4-6`)
@@ -400,46 +398,46 @@ pnpm test:docker:live-codex-harness
- Z.AI (GLM): `zai/glm-5.1`
- MiniMax: `minimax/MiniMax-M2.7`
-Опційне додаткове покриття (добре мати):
+Необов’язкове додаткове покриття (бажано мати):
-- xAI: `xai/grok-4` (або найновіша доступна)
-- Mistral: `mistral/`… (виберіть одну модель із підтримкою “tools”, яку ви маєте ввімкненою)
+- xAI: `xai/grok-4.3` (або остання доступна)
+- Mistral: `mistral/`… (виберіть одну модель із підтримкою “tools”, яку у вас увімкнено)
- Cerebras: `cerebras/`… (якщо маєте доступ)
-- LM Studio: `lmstudio/`… (локально; tool calling залежить від API mode)
+- LM Studio: `lmstudio/`… (локально; виклик інструментів залежить від режиму API)
-### Vision: image send (attachment → multimodal message)
+### Vision: надсилання зображення (вкладення → мультимодальне повідомлення)
-Додайте щонайменше одну image-capable model до `OPENCLAW_LIVE_GATEWAY_MODELS` (Claude/Gemini/OpenAI vision-capable variants тощо), щоб перевірити image probe.
+Додайте принаймні одну модель із підтримкою зображень до `OPENCLAW_LIVE_GATEWAY_MODELS` (варіанти Claude/Gemini/OpenAI з підтримкою vision тощо), щоб виконати перевірку зображення.
-### Aggregators / alternate gateways
+### Агрегатори / альтернативні gateway
-Якщо у вас увімкнені ключі, ми також підтримуємо тестування через:
+Якщо у вас увімкнено ключі, ми також підтримуємо тестування через:
-- OpenRouter: `openrouter/...` (сотні моделей; використовуйте `openclaw models scan`, щоб знайти кандидатів із підтримкою tool+image)
-- OpenCode: `opencode/...` для Zen і `opencode-go/...` для Go (auth через `OPENCODE_API_KEY` / `OPENCODE_ZEN_API_KEY`)
+- OpenRouter: `openrouter/...` (сотні моделей; використовуйте `openclaw models scan`, щоб знайти кандидатів із підтримкою інструментів+зображень)
+- OpenCode: `opencode/...` для Zen і `opencode-go/...` для Go (автентифікація через `OPENCODE_API_KEY` / `OPENCODE_ZEN_API_KEY`)
-Інші providers, які можна включити до live matrix (якщо маєте creds/config):
+Додаткові провайдери, яких можна включити в live-матрицю (якщо маєте облікові дані/конфігурацію):
-- Built-in: `openai`, `openai-codex`, `anthropic`, `google`, `google-vertex`, `google-antigravity`, `google-gemini-cli`, `zai`, `openrouter`, `opencode`, `opencode-go`, `xai`, `groq`, `cerebras`, `mistral`, `github-copilot`
-- Через `models.providers` (custom endpoints): `minimax` (cloud/API), плюс будь-який OpenAI/Anthropic-compatible proxy (LM Studio, vLLM, LiteLLM тощо)
+- Вбудовані: `openai`, `openai-codex`, `anthropic`, `google`, `google-vertex`, `google-antigravity`, `google-gemini-cli`, `zai`, `openrouter`, `opencode`, `opencode-go`, `xai`, `groq`, `cerebras`, `mistral`, `github-copilot`
+- Через `models.providers` (власні endpoints): `minimax` (хмара/API), плюс будь-який проксі, сумісний з OpenAI/Anthropic (LM Studio, vLLM, LiteLLM тощо)
-Не hardcode "all models" у docs. Авторитетний список — це те, що `discoverModels(...)` повертає на вашій машині, плюс доступні ключі.
+Не хардкодьте "all models" у документації. Авторитетний список — це те, що `discoverModels(...)` повертає на вашій машині, плюс доступні ключі.
-## Облікові дані (ніколи не commit)
+## Облікові дані (ніколи не комітьте)
-Live tests знаходять облікові дані так само, як це робить CLI. Практичні наслідки:
+Живі тести знаходять облікові дані так само, як це робить CLI. Практичні наслідки:
- Якщо CLI працює, live-тести мають знаходити ті самі ключі.
-- Якщо live-тест повідомляє «no creds», налагоджуйте це так само, як налагоджували б `openclaw models list` / вибір моделі.
+- Якщо live-тест повідомляє «no creds», налагоджуйте так само, як налагоджували б `openclaw models list` / вибір моделі.
-- Профілі автентифікації для окремих агентів: `~/.openclaw/agents//agent/auth-profiles.json` (саме це означає “profile keys” у live-тестах)
+- Профілі автентифікації для кожного агента: `~/.openclaw/agents//agent/auth-profiles.json` (саме це означає “profile keys” у live-тестах)
- Конфігурація: `~/.openclaw/openclaw.json` (або `OPENCLAW_CONFIG_PATH`)
-- Каталог застарілого стану: `~/.openclaw/credentials/` (копіюється у підготовлений live-домашній каталог, коли наявний, але не є основним сховищем ключів профілів)
-- Локальні live-запуски типово копіюють активну конфігурацію, файли `auth-profiles.json` для окремих агентів, застарілий каталог `credentials/` і підтримувані каталоги автентифікації зовнішніх CLI у тимчасовий тестовий домашній каталог; підготовлені live-домашні каталоги пропускають `workspace/` і `sandboxes/`, а перевизначення шляхів `agents.*.workspace` / `agentDir` вилучаються, щоб проби не зверталися до вашого реального робочого простору на хості.
+- Каталог застарілого стану: `~/.openclaw/credentials/` (копіюється до проміжного live-домашнього каталогу, якщо присутній, але не є основним сховищем profile-key)
+- Локальні live-запуски за замовчуванням копіюють активну конфігурацію, файли `auth-profiles.json` для кожного агента, застарілий каталог `credentials/` і підтримувані зовнішні каталоги автентифікації CLI до тимчасового тестового домашнього каталогу; проміжні live-домашні каталоги пропускають `workspace/` і `sandboxes/`, а перевизначення шляхів `agents.*.workspace` / `agentDir` вилучаються, щоб зондування не потрапляли у ваш реальний робочий простір хоста.
-Якщо ви хочете покладатися на ключі середовища (наприклад, експортовані у вашому `~/.profile`), запускайте локальні тести після `source ~/.profile` або використовуйте наведені нижче Docker-запускачі (вони можуть монтувати `~/.profile` у контейнер).
+Якщо ви хочете покладатися на env-ключі (наприклад, експортовані у вашому `~/.profile`), запускайте локальні тести після `source ~/.profile` або використовуйте Docker-ранери нижче (вони можуть монтувати `~/.profile` у контейнер).
## Deepgram live (транскрибування аудіо)
@@ -459,19 +457,19 @@ Live tests знаходять облікові дані так само, як ц
- Обсяг:
- Перевіряє вбудовані шляхи comfy для зображень, відео та `music_generate`
- Пропускає кожну можливість, якщо `plugins.entries.comfy.config.` не налаштовано
- - Корисно після змін у надсиланні workflow comfy, опитуванні, завантаженнях або реєстрації plugin
+ - Корисно після зміни надсилання workflow comfy, polling, завантажень або реєстрації plugin
## Image generation live
- Тест: `test/image-generation.runtime.live.test.ts`
- Команда: `pnpm test:live test/image-generation.runtime.live.test.ts`
-- Обв’язка: `pnpm test:live:media image`
+- Harness: `pnpm test:live:media image`
- Обсяг:
- - Перелічує кожен зареєстрований provider plugin для генерації зображень
- - Завантажує відсутні змінні середовища провайдера з вашого login shell (`~/.profile`) перед пробою
- - Типово використовує live/API-ключі із середовища перед збереженими профілями автентифікації, тому застарілі тестові ключі в `auth-profiles.json` не маскують реальні облікові дані shell
+ - Перелічує кожен зареєстрований plugin провайдера генерації зображень
+ - Завантажує відсутні env-змінні провайдера з вашої login shell (`~/.profile`) перед зондуванням
+ - За замовчуванням використовує live/env API-ключі перед збереженими профілями автентифікації, щоб застарілі тестові ключі в `auth-profiles.json` не маскували реальні облікові дані shell
- Пропускає провайдерів без придатної автентифікації/профілю/моделі
- - Запускає кожного налаштованого провайдера через спільний runtime генерації зображень:
+ - Проганяє кожного налаштованого провайдера через спільний runtime генерації зображень:
- `:generate`
- `:edit`, коли провайдер заявляє підтримку редагування
- Поточні охоплені вбудовані провайдери:
@@ -489,7 +487,7 @@ Live tests знаходять облікові дані так само, як ц
- `OPENCLAW_LIVE_IMAGE_GENERATION_MODELS="openai/gpt-image-2,google/gemini-3.1-flash-image-preview,openrouter/google/gemini-3.1-flash-image-preview,xai/grok-imagine-image"`
- `OPENCLAW_LIVE_IMAGE_GENERATION_CASES="google:flash-generate,google:pro-edit,openrouter:generate,xai:default-generate,xai:default-edit"`
- Необов’язкова поведінка автентифікації:
- - `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`, щоб примусово використовувати автентифікацію зі сховища профілів та ігнорувати перевизначення лише із середовища
+ - `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`, щоб примусово використовувати автентифікацію зі сховища профілів та ігнорувати перевизначення лише через env
Для поставленого CLI-шляху додайте smoke `infer` після успішного проходження live-тесту провайдера/runtime:
@@ -503,23 +501,23 @@ openclaw infer image generate \
--json
```
-Це охоплює розбір аргументів CLI, визначення конфігурації/типового агента, активацію вбудованих plugin, спільний runtime генерації зображень і live-запит до провайдера. Очікується, що залежності plugin будуть наявні перед завантаженням runtime.
+Це охоплює розбір аргументів CLI, визначення конфігурації/default-agent, активацію вбудованого plugin, спільний runtime генерації зображень і live-запит до провайдера. Очікується, що залежності Plugin будуть наявні до завантаження runtime.
## Music generation live
- Тест: `extensions/music-generation-providers.live.test.ts`
- Увімкнення: `OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts`
-- Обв’язка: `pnpm test:live:media music`
+- Harness: `pnpm test:live:media music`
- Обсяг:
- - Перевіряє спільний шлях вбудованого провайдера генерації музики
+ - Перевіряє спільний вбудований шлях провайдера генерації музики
- Наразі охоплює Google і MiniMax
- - Завантажує змінні середовища провайдера з вашого login shell (`~/.profile`) перед пробою
- - Типово використовує live/API-ключі із середовища перед збереженими профілями автентифікації, тому застарілі тестові ключі в `auth-profiles.json` не маскують реальні облікові дані shell
+ - Завантажує env-змінні провайдера з вашої login shell (`~/.profile`) перед зондуванням
+ - За замовчуванням використовує live/env API-ключі перед збереженими профілями автентифікації, щоб застарілі тестові ключі в `auth-profiles.json` не маскували реальні облікові дані shell
- Пропускає провайдерів без придатної автентифікації/профілю/моделі
- - Запускає обидва заявлені режими runtime, коли вони доступні:
+ - Запускає обидва заявлені режими runtime, коли доступні:
- `generate` із введенням лише prompt
- `edit`, коли провайдер заявляє `capabilities.edit.enabled`
- - Поточне покриття спільної lane:
+ - Поточне охоплення shared-lane:
- `google`: `generate`, `edit`
- `minimax`: `generate`
- `comfy`: окремий Comfy live-файл, не цей спільний sweep
@@ -527,51 +525,51 @@ openclaw infer image generate \
- `OPENCLAW_LIVE_MUSIC_GENERATION_PROVIDERS="google,minimax"`
- `OPENCLAW_LIVE_MUSIC_GENERATION_MODELS="google/lyria-3-clip-preview,minimax/music-2.6"`
- Необов’язкова поведінка автентифікації:
- - `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`, щоб примусово використовувати автентифікацію зі сховища профілів та ігнорувати перевизначення лише із середовища
+ - `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`, щоб примусово використовувати автентифікацію зі сховища профілів та ігнорувати перевизначення лише через env
## Video generation live
- Тест: `extensions/video-generation-providers.live.test.ts`
- Увімкнення: `OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts`
-- Обв’язка: `pnpm test:live:media video`
+- Harness: `pnpm test:live:media video`
- Обсяг:
- - Перевіряє спільний шлях вбудованого провайдера генерації відео
- - Типово використовує release-safe smoke-шлях: не-FAL провайдери, один запит text-to-video на провайдера, односекундний prompt з омаром і обмеження операції для кожного провайдера з `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS` (`180000` типово)
- - Типово пропускає FAL, бо затримка черги на боці провайдера може домінувати час релізу; передайте `--video-providers fal` або `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"`, щоб запустити його явно
- - Завантажує змінні середовища провайдера з вашого login shell (`~/.profile`) перед пробою
- - Типово використовує live/API-ключі із середовища перед збереженими профілями автентифікації, тому застарілі тестові ключі в `auth-profiles.json` не маскують реальні облікові дані shell
+ - Перевіряє спільний вбудований шлях провайдера генерації відео
+ - За замовчуванням використовує release-safe smoke-шлях: провайдери не FAL, один text-to-video-запит на провайдера, односекундний lobster prompt і ліміт операцій на провайдера з `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS` (`180000` за замовчуванням)
+ - За замовчуванням пропускає FAL, бо затримка черги на боці провайдера може домінувати в часі релізу; передайте `--video-providers fal` або `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"`, щоб запустити його явно
+ - Завантажує env-змінні провайдера з вашої login shell (`~/.profile`) перед зондуванням
+ - За замовчуванням використовує live/env API-ключі перед збереженими профілями автентифікації, щоб застарілі тестові ключі в `auth-profiles.json` не маскували реальні облікові дані shell
- Пропускає провайдерів без придатної автентифікації/профілю/моделі
- - Типово запускає лише `generate`
- - Встановіть `OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1`, щоб також запускати заявлені режими transform, коли вони доступні:
- - `imageToVideo`, коли провайдер заявляє `capabilities.imageToVideo.enabled`, а вибраний провайдер/модель приймає локальне зображення з buffer-backed input у спільному sweep
- - `videoToVideo`, коли провайдер заявляє `capabilities.videoToVideo.enabled`, а вибраний провайдер/модель приймає локальне відео з buffer-backed input у спільному sweep
+ - За замовчуванням запускає лише `generate`
+ - Установіть `OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1`, щоб також запускати заявлені режими transform, коли доступні:
+ - `imageToVideo`, коли провайдер заявляє `capabilities.imageToVideo.enabled` і вибраний провайдер/модель приймає buffer-backed локальне зображення у спільному sweep
+ - `videoToVideo`, коли провайдер заявляє `capabilities.videoToVideo.enabled` і вибраний провайдер/модель приймає buffer-backed локальне відео у спільному sweep
- Поточні заявлені, але пропущені провайдери `imageToVideo` у спільному sweep:
- - `vydra`, бо вбудований `veo3` є лише text-only, а вбудований `kling` потребує віддаленого URL зображення
- - Покриття Vydra, специфічне для провайдера:
+ - `vydra`, бо вбудований `veo3` підтримує лише text-only, а вбудований `kling` потребує віддаленого URL зображення
+ - Специфічне для провайдера охоплення Vydra:
- `OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_VYDRA_VIDEO=1 pnpm test:live -- extensions/vydra/vydra.live.test.ts`
- - цей файл запускає `veo3` text-to-video плюс lane `kling`, яка типово використовує fixture із віддаленим URL зображення
- - Поточне live-покриття `videoToVideo`:
+ - цей файл запускає `veo3` text-to-video плюс lane `kling`, який за замовчуванням використовує fixture віддаленого URL зображення
+ - Поточне live-охоплення `videoToVideo`:
- лише `runway`, коли вибрана модель — `runway/gen4_aleph`
- Поточні заявлені, але пропущені провайдери `videoToVideo` у спільному sweep:
- `alibaba`, `qwen`, `xai`, бо ці шляхи наразі потребують віддалених `http(s)` / MP4 reference URL
- - `google`, бо поточна спільна lane Gemini/Veo використовує локальне buffer-backed input, і цей шлях не приймається у спільному sweep
- - `openai`, бо поточній спільній lane бракує гарантій доступу до video inpaint/remix, специфічних для org
+ - `google`, бо поточний спільний lane Gemini/Veo використовує локальне buffer-backed введення, і цей шлях не приймається у спільному sweep
+ - `openai`, бо поточний спільний lane не має гарантій доступу до org-specific video inpaint/remix
- Необов’язкове звуження:
- `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="deepinfra,google,openai,runway"`
- `OPENCLAW_LIVE_VIDEO_GENERATION_MODELS="google/veo-3.1-fast-generate-preview,openai/sora-2,runway/gen4_aleph"`
- - `OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""`, щоб включити кожного провайдера в типовий sweep, зокрема FAL
- - `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000`, щоб зменшити обмеження кожної операції провайдера для агресивного smoke-запуску
+ - `OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""`, щоб включити кожного провайдера в default sweep, включно з FAL
+ - `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000`, щоб зменшити ліміт операції кожного провайдера для агресивного smoke-запуску
- Необов’язкова поведінка автентифікації:
- - `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`, щоб примусово використовувати автентифікацію зі сховища профілів та ігнорувати перевизначення лише із середовища
+ - `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`, щоб примусово використовувати автентифікацію зі сховища профілів та ігнорувати перевизначення лише через env
## Media live harness
- Команда: `pnpm test:live:media`
- Призначення:
- - Запускає спільні live-набори для зображень, музики та відео через одну repo-native entrypoint
- - Автоматично завантажує відсутні змінні середовища провайдера з `~/.profile`
- - Типово автоматично звужує кожен набір до провайдерів, які наразі мають придатну автентифікацію
- - Повторно використовує `scripts/test-live.mjs`, тому поведінка Heartbeat і quiet-mode лишається узгодженою
+ - Запускає спільні image, music і video live-набори через одну repo-native точку входу
+ - Автоматично завантажує відсутні env-змінні провайдера з `~/.profile`
+ - За замовчуванням автоматично звужує кожен набір до провайдерів, які наразі мають придатну автентифікацію
+ - Повторно використовує `scripts/test-live.mjs`, тож поведінка Heartbeat і quiet-mode лишається узгодженою
- Приклади:
- `pnpm test:live:media`
- `pnpm test:live:media image video --providers openai,google,minimax`
@@ -580,4 +578,4 @@ openclaw infer image generate \
## Пов’язане
-- [Тестування](/uk/help/testing) — unit-, інтеграційні, QA- та Docker-набори
+- [Тестування](/uk/help/testing) — unit, integration, QA та Docker-набори
diff --git a/docs/uk/providers/xai.md b/docs/uk/providers/xai.md
index eb6dd4793..5759266a4 100644
--- a/docs/uk/providers/xai.md
+++ b/docs/uk/providers/xai.md
@@ -5,34 +5,34 @@ read_when:
summary: Використовуйте моделі xAI Grok в OpenClaw
title: xAI
x-i18n:
- generated_at: "2026-04-25T17:33:41Z"
- model: gpt-5.4
+ generated_at: "2026-05-02T01:45:06Z"
+ model: gpt-5.5
provider: openai
- source_hash: 420f60d5e80964b926e50cf74cf414d11de1c30d3a4aa8917f1861e0d56ef5b9
+ source_hash: 9366d6a053fb515d843bbb984ee0fce2eb342a022a6d9aa60df983fc0f8d5745
source_path: providers/xai.md
- workflow: 15
+ workflow: 16
---
-OpenClaw постачається з вбудованим Plugin провайдера `xai` для моделей Grok.
+OpenClaw постачається з вбудованим плагіном провайдера `xai` для моделей Grok.
## Початок роботи
-
- Створіть ключ API у [консолі xAI](https://console.x.ai/).
+
+ Створіть API-ключ у [консолі xAI](https://console.x.ai/).
-
- Установіть `XAI_API_KEY` або виконайте:
+
+ Задайте `XAI_API_KEY` або виконайте:
```bash
openclaw onboard --auth-choice xai-api-key
```
-
+
```json5
{
- agents: { defaults: { model: { primary: "xai/grok-4" } } },
+ agents: { defaults: { model: { primary: "xai/grok-4.3" } } },
}
```
@@ -40,92 +40,93 @@ OpenClaw постачається з вбудованим Plugin провайд
OpenClaw використовує xAI Responses API як вбудований транспорт xAI. Той самий
-`XAI_API_KEY` також може використовуватися для Grok-backed `web_search`, first-class `x_search`
-та віддаленого `code_execution`.
-Якщо ви зберігаєте ключ xAI в `plugins.entries.xai.config.webSearch.apiKey`,
-вбудований провайдер моделей xAI також повторно використовує цей ключ як резервний варіант.
-Налаштування `code_execution` розміщується в `plugins.entries.xai.config.codeExecution`.
+`XAI_API_KEY` також може забезпечувати `web_search` на базі Grok, першокласний
+`x_search` і віддалене `code_execution`.
+Якщо ви зберігаєте ключ xAI у `plugins.entries.xai.config.webSearch.apiKey`,
+вбудований провайдер моделей xAI також повторно використовує цей ключ як резервний.
+Налаштування `code_execution` розміщено в `plugins.entries.xai.config.codeExecution`.
## Вбудований каталог
-OpenClaw включає ці сімейства моделей xAI із коробки:
+OpenClaw одразу містить такі сімейства моделей xAI:
-| Сімейство | Ідентифікатори моделей |
+| Сімейство | Ідентифікатори моделей |
| -------------- | ------------------------------------------------------------------------ |
| Grok 3 | `grok-3`, `grok-3-fast`, `grok-3-mini`, `grok-3-mini-fast` |
+| Grok 4.3 | `grok-4.3` |
| Grok 4 | `grok-4`, `grok-4-0709` |
| Grok 4 Fast | `grok-4-fast`, `grok-4-fast-non-reasoning` |
| Grok 4.1 Fast | `grok-4-1-fast`, `grok-4-1-fast-non-reasoning` |
| Grok 4.20 Beta | `grok-4.20-beta-latest-reasoning`, `grok-4.20-beta-latest-non-reasoning` |
| Grok Code | `grok-code-fast-1` |
-Plugin також виконує forward-resolve новіших ідентифікаторів `grok-4*` і `grok-code-fast*`, коли
-вони дотримуються тієї самої форми API.
+Плагін також перенаправляє новіші ідентифікатори `grok-4*` і `grok-code-fast*`,
+коли вони мають таку саму форму API.
-`grok-4-fast`, `grok-4-1-fast` і варіанти `grok-4.20-beta-*` — це
-поточні посилання Grok із підтримкою зображень у вбудованому каталозі.
+`grok-4.3`, `grok-4-fast`, `grok-4-1-fast` і варіанти `grok-4.20-beta-*`
+є поточними посиланнями Grok із підтримкою зображень у вбудованому каталозі.
-## Покриття можливостей OpenClaw
+## Покриття функцій OpenClaw
-Вбудований Plugin зіставляє поточну публічну поверхню API xAI зі спільними
-контрактами провайдера та інструментів OpenClaw. Можливості, які не вписуються у спільний контракт
-(наприклад, потоковий TTS і voice у реальному часі), не відкриваються — див. таблицю
-нижче.
+Вбудований плагін відображає поточну публічну поверхню API xAI на спільні
+контракти провайдерів та інструментів OpenClaw. Можливості, які не вписуються
+у спільний контракт (наприклад, потоковий TTS і голос у реальному часі), не
+експонуються — див. таблицю нижче.
-| Можливість xAI | Поверхня OpenClaw | Статус |
-| -------------------------- | ---------------------------------------- | ------------------------------------------------------------------- |
-| Чат / Responses | провайдер моделей `xai/` | Так |
-| Вебпошук на стороні сервера| провайдер `web_search` `grok` | Так |
-| Пошук X на стороні сервера | інструмент `x_search` | Так |
-| Виконання коду на стороні сервера | інструмент `code_execution` | Так |
-| Зображення | `image_generate` | Так |
-| Відео | `video_generate` | Так |
-| Пакетне перетворення тексту на мовлення | `messages.tts.provider: "xai"` / `tts` | Так |
-| Потоковий TTS | — | Не відкрито; контракт TTS OpenClaw повертає завершені аудіобуфери |
-| Пакетне перетворення мовлення на текст | `tools.media.audio` / розуміння медіа | Так |
-| Потокове перетворення мовлення на текст | Voice Call `streaming.provider: "xai"` | Так |
-| Мовлення в реальному часі | — | Ще не відкрито; інший контракт сеансу/WebSocket |
-| Файли / пакети | Лише сумісність із Generic model API | Не є first-class інструментом OpenClaw |
+| Можливість xAI | Поверхня OpenClaw | Стан |
+| -------------------------- | ----------------------------------------- | ------------------------------------------------------------------- |
+| Chat / Responses | провайдер моделей `xai/` | Так |
+| Серверний вебпошук | провайдер `web_search` `grok` | Так |
+| Серверний пошук X | інструмент `x_search` | Так |
+| Серверне виконання коду | інструмент `code_execution` | Так |
+| Зображення | `image_generate` | Так |
+| Відео | `video_generate` | Так |
+| Пакетний text-to-speech | `messages.tts.provider: "xai"` / `tts` | Так |
+| Потоковий TTS | — | Не експонується; контракт TTS OpenClaw повертає повні аудіобуфери |
+| Пакетний speech-to-text | `tools.media.audio` / розуміння медіа | Так |
+| Потоковий speech-to-text | Voice Call `streaming.provider: "xai"` | Так |
+| Голос у реальному часі | — | Ще не експонується; інший контракт сеансу/WebSocket |
+| Файли / пакети | Лише сумісність із загальним API моделей | Не першокласний інструмент OpenClaw |
-OpenClaw використовує REST API xAI для зображень/відео/TTS/STT для генерації медіа,
-мовлення та пакетної транскрипції, потоковий WebSocket STT xAI для живої
-транскрипції голосових дзвінків, а також Responses API для моделей, пошуку та
-інструментів виконання коду. Можливості, яким потрібні інші контракти OpenClaw, такі як
-сеанси Realtime voice, документуються тут як можливості upstream, а не як
-прихована поведінка Plugin.
+OpenClaw використовує REST API xAI для зображень/відео/TTS/STT для генерації
+медіа, мовлення та пакетної транскрипції, потоковий WebSocket STT xAI для живої
+транскрипції голосових викликів і Responses API для моделей, пошуку та
+інструментів виконання коду. Функції, яким потрібні інші контракти OpenClaw,
+як-от сеанси голосу в реальному часі, задокументовано тут як можливості upstream,
+а не як приховану поведінку плагіна.
-### Зіставлення швидкого режиму
+### Зіставлення Fast-режиму
`/fast on` або `agents.defaults.models["xai/"].params.fastMode: true`
-перезаписує нативні запити xAI так:
+переписує нативні запити xAI так:
-| Вихідна модель | Ціль швидкого режиму |
-| -------------- | -------------------- |
-| `grok-3` | `grok-3-fast` |
-| `grok-3-mini` | `grok-3-mini-fast` |
-| `grok-4` | `grok-4-fast` |
-| `grok-4-0709` | `grok-4-fast` |
+| Початкова модель | Ціль Fast-режиму |
+| ---------------- | ----------------- |
+| `grok-3` | `grok-3-fast` |
+| `grok-3-mini` | `grok-3-mini-fast` |
+| `grok-4` | `grok-4-fast` |
+| `grok-4-0709` | `grok-4-fast` |
### Застарілі псевдоніми сумісності
-Застарілі псевдоніми все ще нормалізуються до канонічних вбудованих ідентифікаторів:
+Застарілі псевдоніми й надалі нормалізуються до канонічних вбудованих ідентифікаторів:
-| Застарілий псевдонім | Канонічний ідентифікатор |
+| Застарілий псевдонім | Канонічний ідентифікатор |
| ------------------------- | ------------------------------------- |
| `grok-4-fast-reasoning` | `grok-4-fast` |
| `grok-4-1-fast-reasoning` | `grok-4-1-fast` |
| `grok-4.20-reasoning` | `grok-4.20-beta-latest-reasoning` |
| `grok-4.20-non-reasoning` | `grok-4.20-beta-latest-non-reasoning` |
-## Можливості
+## Функції
-
+
Вбудований провайдер вебпошуку `grok` також використовує `XAI_API_KEY`:
```bash
@@ -134,27 +135,28 @@ OpenClaw використовує REST API xAI для зображень/від
-
- Вбудований Plugin `xai` реєструє генерацію відео через спільний
+
+ Вбудований плагін `xai` реєструє генерацію відео через спільний
інструмент `video_generate`.
- - Типова модель відео: `xai/grok-imagine-video`
+ - Стандартна модель відео: `xai/grok-imagine-video`
- Режими: text-to-video, image-to-video, генерація reference-image, віддалене
редагування відео та віддалене розширення відео
- Співвідношення сторін: `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `3:2`, `2:3`
- Роздільні здатності: `480P`, `720P`
- - Тривалість: 1-15 секунд для generation/image-to-video, 1-10 секунд при
- використанні ролей `reference_image`, 2-10 секунд для розширення
- - Генерація reference-image: установіть `imageRoles` у `reference_image` для
+ - Тривалість: 1-15 секунд для генерації/image-to-video, 1-10 секунд під час
+ використання ролей `reference_image`, 2-10 секунд для розширення
+ - Генерація reference-image: задайте `imageRoles` як `reference_image` для
кожного наданого зображення; xAI приймає до 7 таких зображень
- Локальні відеобуфери не приймаються. Використовуйте віддалені URL `http(s)` для
- входів редагування/розширення відео. image-to-video приймає локальні буфери зображень, оскільки
- OpenClaw може кодувати їх як URL даних для xAI.
+ Локальні відеобуфери не приймаються. Використовуйте віддалені URL `http(s)`
+ для вхідних даних редагування/розширення відео. Image-to-video приймає
+ локальні буфери зображень, оскільки OpenClaw може закодувати їх як data URL
+ для xAI.
- Щоб використовувати xAI як типового провайдера відео:
+ Щоб використовувати xAI як стандартного постачальника відео:
```json5
{
@@ -169,30 +171,30 @@ OpenClaw використовує REST API xAI для зображень/від
```
- Див. [Генерація відео](/uk/tools/video-generation), щоб дізнатися про спільні параметри інструмента,
- вибір провайдера та поведінку резервного перемикання.
+ Див. [Генерація відео](/uk/tools/video-generation) щодо спільних параметрів інструмента,
+ вибору постачальника та поведінки перемикання в разі відмови.
- Вбудований Plugin `xai` реєструє генерацію зображень через спільний
+ Вбудований `xai` plugin реєструє генерацію зображень через спільний
інструмент `image_generate`.
- - Типова модель зображень: `xai/grok-imagine-image`
+ - Стандартна модель зображень: `xai/grok-imagine-image`
- Додаткова модель: `xai/grok-imagine-image-pro`
- - Режими: text-to-image і редагування reference-image
- - Вхідні reference: одне `image` або до п’яти `images`
+ - Режими: текст-у-зображення та редагування за референсним зображенням
+ - Референсні вхідні дані: одне `image` або до п’яти `images`
- Співвідношення сторін: `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `2:3`, `3:2`
- - Роздільні здатності: `1K`, `2K`
+ - Роздільності: `1K`, `2K`
- Кількість: до 4 зображень
- OpenClaw запитує в xAI відповіді зображень `b64_json`, щоб згенеровані медіа могли
- зберігатися та доставлятися через звичайний шлях вкладень каналу. Локальні
- reference-зображення перетворюються на URL даних; віддалені reference `http(s)`
+ OpenClaw запитує в xAI відповіді зображень у форматі `b64_json`, щоб згенеровані медіа можна було
+ зберігати й доставляти через звичайний шлях вкладень каналу. Локальні
+ референсні зображення перетворюються на data URLs; віддалені посилання `http(s)`
передаються без змін.
- Щоб використовувати xAI як типового провайдера зображень:
+ Щоб використовувати xAI як стандартного постачальника зображень:
```json5
{
@@ -207,26 +209,26 @@ OpenClaw використовує REST API xAI для зображень/від
```
- xAI також документує `quality`, `mask`, `user` і додаткові нативні співвідношення
- сторін, такі як `1:2`, `2:1`, `9:20` і `20:9`. OpenClaw сьогодні передає лише
- спільні міжпровайдерні елементи керування зображеннями; непідтримувані нативні параметри
- навмисно не відкриваються через `image_generate`.
+ xAI також документує `quality`, `mask`, `user` і додаткові нативні співвідношення,
+ такі як `1:2`, `2:1`, `9:20` і `20:9`. Наразі OpenClaw передає лише
+ спільні міжпостачальницькі елементи керування зображеннями; непідтримувані параметри,
+ притаманні лише нативному інтерфейсу, навмисно не експонуються через `image_generate`.
-
- Вбудований Plugin `xai` реєструє перетворення тексту на мовлення через спільну
- поверхню провайдера `tts`.
+
+ Вбудований `xai` plugin реєструє текст-у-мовлення через спільну поверхню
+ постачальника `tts`.
- Голоси: `eve`, `ara`, `rex`, `sal`, `leo`, `una`
- - Типовий голос: `eve`
+ - Стандартний голос: `eve`
- Формати: `mp3`, `wav`, `pcm`, `mulaw`, `alaw`
- Мова: код BCP-47 або `auto`
- - Швидкість: нативне перевизначення швидкості провайдера
+ - Швидкість: нативне перевизначення швидкості постачальника
- Нативний формат голосових нотаток Opus не підтримується
- Щоб використовувати xAI як типового провайдера TTS:
+ Щоб використовувати xAI як стандартного постачальника TTS:
```json5
{
@@ -244,25 +246,25 @@ OpenClaw використовує REST API xAI для зображень/від
```
- OpenClaw використовує пакетний ендпоінт xAI `/v1/tts`. xAI також пропонує потоковий TTS
- через WebSocket, але контракт провайдера мовлення OpenClaw наразі очікує
+ OpenClaw використовує пакетний endpoint xAI `/v1/tts`. xAI також пропонує потоковий TTS
+ через WebSocket, але контракт постачальника мовлення OpenClaw наразі очікує
повний аудіобуфер перед доставленням відповіді.
-
- Вбудований Plugin `xai` реєструє пакетне перетворення мовлення на текст через
- поверхню транскрипції для розуміння медіа в OpenClaw.
+
+ Вбудований `xai` plugin реєструє пакетне мовлення-у-текст через поверхню
+ транскрибування для розуміння медіа OpenClaw.
- - Типова модель: `grok-stt`
- - Ендпоінт: xAI REST `/v1/stt`
- - Шлях введення: multipart-завантаження аудіофайлу
- - Підтримується в OpenClaw всюди, де транскрипція вхідного аудіо використовує
- `tools.media.audio`, включно з сегментами голосових каналів Discord і
+ - Стандартна модель: `grok-stt`
+ - Endpoint: xAI REST `/v1/stt`
+ - Шлях введення: завантаження аудіофайлу multipart
+ - Підтримується OpenClaw усюди, де транскрибування вхідного аудіо використовує
+ `tools.media.audio`, включно із сегментами голосових каналів Discord і
аудіовкладеннями каналів
- Щоб примусово використовувати xAI для транскрипції вхідного аудіо:
+ Щоб примусово використовувати xAI для транскрибування вхідного аудіо:
```json5
{
@@ -282,25 +284,25 @@ OpenClaw використовує REST API xAI для зображень/від
}
```
- Мову можна передавати через спільну конфігурацію аудіомедіа або в запиті
- транскрипції для окремого виклику. Підказки prompt приймаються спільною поверхнею OpenClaw,
- але інтеграція xAI REST STT передає лише файл, модель і
- мову, оскільки саме вони чисто зіставляються з поточним публічним ендпоінтом xAI.
+ Мову можна надати через спільну конфігурацію аудіомедіа або через запит
+ транскрибування для окремого виклику. Підказки prompt приймаються спільною поверхнею
+ OpenClaw, але інтеграція xAI REST STT передає лише файл, модель і
+ мову, оскільки вони чітко відповідають поточному публічному endpoint xAI.
-
- Вбудований Plugin `xai` також реєструє провайдера транскрипції в реальному часі
- для аудіо живих voice call.
+
+ Вбудований `xai` plugin також реєструє постачальника транскрибування в реальному часі
+ для аудіо живих голосових викликів.
- - Ендпоінт: xAI WebSocket `wss://api.x.ai/v1/stt`
- - Типове кодування: `mulaw`
- - Типова частота дискретизації: `8000`
- - Типове визначення кінця фрази: `800ms`
- - Проміжні транскрипти: увімкнено типово
+ - Endpoint: xAI WebSocket `wss://api.x.ai/v1/stt`
+ - Стандартне кодування: `mulaw`
+ - Стандартна частота дискретизації: `8000`
+ - Стандартне визначення завершення: `800ms`
+ - Проміжні транскрипти: увімкнено за замовчуванням
Медіапотік Twilio у Voice Call надсилає аудіокадри G.711 µ-law, тому
- провайдер xAI може пересилати ці кадри напряму без транскодування:
+ постачальник xAI може передавати ці кадри напряму без перекодування:
```json5
{
@@ -326,29 +328,29 @@ OpenClaw використовує REST API xAI для зображень/від
}
```
- Конфігурація, що належить провайдеру, розміщується в
+ Конфігурація, що належить постачальнику, розміщується в
`plugins.entries.voice-call.config.streaming.providers.xai`. Підтримувані
ключі: `apiKey`, `baseUrl`, `sampleRate`, `encoding` (`pcm`, `mulaw` або
`alaw`), `interimResults`, `endpointingMs` і `language`.
- Цей потоковий провайдер призначений для шляху транскрипції в реальному часі у Voice Call.
- Голосові канали Discord наразі записують короткі сегменти й замість цього використовують пакетний
+ Цей потоковий провайдер призначений для шляху транскрипції в реальному часі Voice Call.
+ Голос Discord наразі записує короткі сегменти й натомість використовує пакетний
шлях транскрипції `tools.media.audio`.
-
- Вбудований Plugin xAI надає `x_search` як інструмент OpenClaw для пошуку
- контенту в X (раніше Twitter) через Grok.
+
+ Вбудований xAI Plugin надає `x_search` як інструмент OpenClaw для пошуку
+ вмісту X (раніше Twitter) через Grok.
Шлях конфігурації: `plugins.entries.xai.config.xSearch`
- | Ключ | Тип | Типове значення | Опис |
+ | Ключ | Тип | Типове значення | Опис |
| ------------------ | ------- | ------------------ | ------------------------------------ |
| `enabled` | boolean | — | Увімкнути або вимкнути x_search |
- | `model` | string | `grok-4-1-fast` | Модель для запитів x_search |
+ | `model` | string | `grok-4-1-fast` | Модель, що використовується для запитів x_search |
| `inlineCitations` | boolean | — | Додавати вбудовані цитати в результати |
| `maxTurns` | number | — | Максимальна кількість ходів розмови |
| `timeoutSeconds` | number | — | Тайм-аут запиту в секундах |
@@ -374,21 +376,21 @@ OpenClaw використовує REST API xAI для зображень/від
-
- Вбудований Plugin xAI надає `code_execution` як інструмент OpenClaw для
- віддаленого виконання коду в середовищі sandbox xAI.
+
+ Вбудований xAI Plugin надає `code_execution` як інструмент OpenClaw для
+ віддаленого виконання коду в пісочниці xAI.
Шлях конфігурації: `plugins.entries.xai.config.codeExecution`
- | Ключ | Тип | Типове значення | Опис |
- | ----------------- | ------- | ------------------------- | ---------------------------------------- |
+ | Ключ | Тип | Типове значення | Опис |
+ | ----------------- | ------- | ------------------------- | --------------------------------- |
| `enabled` | boolean | `true` (якщо ключ доступний) | Увімкнути або вимкнути виконання коду |
- | `model` | string | `grok-4-1-fast` | Модель для запитів виконання коду |
- | `maxTurns` | number | — | Максимальна кількість ходів розмови |
- | `timeoutSeconds` | number | — | Тайм-аут запиту в секундах |
+ | `model` | string | `grok-4-1-fast` | Модель, що використовується для запитів виконання коду |
+ | `maxTurns` | number | — | Максимальна кількість ходів розмови |
+ | `timeoutSeconds` | number | — | Тайм-аут запиту в секундах |
- Це віддалене виконання в sandbox xAI, а не локальний [`exec`](/uk/tools/exec).
+ Це віддалене виконання в пісочниці xAI, а не локальний [`exec`](/uk/tools/exec).
```json5
@@ -411,39 +413,41 @@ OpenClaw використовує REST API xAI для зображень/від
- - Наразі автентифікація підтримує лише API-ключі. У OpenClaw поки що немає xAI OAuth або device-code flow.
+ - Сьогодні автентифікація доступна лише за API-ключем. В OpenClaw ще немає
+ потоку xAI OAuth або device-code.
- `grok-4.20-multi-agent-experimental-beta-0304` не підтримується на
- звичайному шляху провайдера xAI, оскільки вимагає іншої поверхні upstream API, ніж стандартний транспорт xAI в OpenClaw.
- - Realtime voice xAI ще не зареєстровано як провайдер OpenClaw. Для нього
- потрібен інший двонапрямний контракт голосового сеансу, ніж для пакетного STT або
+ звичайному шляху провайдера xAI, оскільки він потребує іншої поверхні
+ upstream API, ніж стандартний транспорт xAI в OpenClaw.
+ - Голос xAI Realtime ще не зареєстрований як провайдер OpenClaw. Для нього
+ потрібен інший контракт двонапрямної голосової сесії, ніж для пакетного STT або
потокової транскрипції.
- - `quality`, `mask` і додаткові нативні співвідношення сторін для зображень xAI
- не відкриваються, доки спільний інструмент `image_generate` не отримає відповідні
- міжпровайдерні елементи керування.
+ - `quality` зображення xAI, `mask` зображення та додаткові власні співвідношення сторін
+ не надаються, доки спільний інструмент `image_generate` не матиме відповідних
+ міжпровайдерних елементів керування.
- OpenClaw автоматично застосовує специфічні для xAI виправлення сумісності
- схем інструментів і викликів інструментів на спільному шляху виконавця.
- - Нативні запити xAI типово використовують `tool_stream: true`. Установіть
- `agents.defaults.models["xai/"].params.tool_stream` у `false`, щоб
+ схем інструментів і викликів інструментів на спільному шляху runner.
+ - Власні запити xAI типово використовують `tool_stream: true`. Установіть
+ `agents.defaults.models["xai/"].params.tool_stream` на `false`, щоб
вимкнути це.
- - Вбудована обгортка xAI прибирає непідтримувані прапорці strict tool-schema і
- ключі payload reasoning перед надсиланням нативних запитів xAI.
+ - Вбудована обгортка xAI вилучає непідтримувані суворі прапорці схем інструментів і
+ ключі payload reasoning перед надсиланням власних запитів xAI.
- `web_search`, `x_search` і `code_execution` надаються як інструменти OpenClaw.
- OpenClaw вмикає конкретний вбудований інструмент xAI, який потрібен, усередині кожного запиту
- інструмента замість того, щоб додавати всі нативні інструменти до кожного ходу чату.
- - `x_search` і `code_execution` належать вбудованому Plugin xAI, а не
- жорстко закодовані в основне runtime моделей.
- - `code_execution` — це віддалене виконання в sandbox xAI, а не локальний
+ OpenClaw вмикає конкретний вбудований інструмент xAI, потрібний у кожному запиті
+ інструмента, замість прикріплення всіх власних інструментів до кожного ходу чату.
+ - `x_search` і `code_execution` належать вбудованому xAI Plugin, а не жорстко
+ закодовані в базовому runtime моделі.
+ - `code_execution` — це віддалене виконання в пісочниці xAI, а не локальний
[`exec`](/uk/tools/exec).
-## Живе тестування
+## Live testing
-Шляхи медіа xAI покриваються модульними тестами та opt-in живими наборами. Живі
-команди завантажують секрети з вашої login shell, включно з `~/.profile`, перед
+Медійні шляхи xAI покриті модульними тестами та opt-in live-наборами. Live
+команди завантажують секрети з вашої login shell, зокрема `~/.profile`, перед
перевіркою `XAI_API_KEY`.
```bash
@@ -452,25 +456,25 @@ OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_TEST_QUIET=1 pnpm test:live -- extensions/xai
OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_TEST_QUIET=1 OPENCLAW_LIVE_IMAGE_GENERATION_PROVIDERS=xai pnpm test:live -- test/image-generation.runtime.live.test.ts
```
-Специфічний для провайдера live-файл синтезує звичайний TTS, придатний для телефонії PCM
-TTS, транскрибує аудіо через пакетний STT xAI, потоково передає той самий PCM через
-realtime STT xAI, генерує результат text-to-image і редагує reference-image. Спільний
-live-файл для зображень перевіряє того самого провайдера xAI через
-вибір під час виконання в OpenClaw, резервне перемикання, нормалізацію та шлях вкладення медіа.
+Специфічний для провайдера live-файл синтезує звичайний TTS, дружній до телефонії PCM
+TTS, транскрибує аудіо через пакетний STT xAI, передає той самий PCM потоком через
+xAI realtime STT, генерує результат text-to-image і редагує еталонне зображення. Спільний
+live-файл зображень перевіряє той самий провайдер xAI через шлях вибору runtime,
+fallback, нормалізації та медійних вкладень OpenClaw.
## Пов’язане
- Вибір провайдерів, посилань на моделі та поведінки резервного перемикання.
+ Вибір провайдерів, посилань на моделі та поведінки failover.
- Спільні параметри інструмента відео та вибір провайдера.
+ Спільні параметри відеоінструмента та вибір провайдера.
Ширший огляд провайдерів.
-
- Поширені проблеми та способи їх усунення.
+
+ Поширені проблеми та виправлення.