chore(i18n): refresh uk translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-05-02 05:19:32 +00:00
parent c522f90d62
commit 9b74328cdc
4 changed files with 357 additions and 325 deletions

View File

@ -1,68 +1,68 @@
---
read_when:
- Вам потрібен довідник з налаштування моделей для кожного постачальника
- Вам потрібен довідник із налаштування моделей для кожного провайдера
- Вам потрібні приклади конфігурацій або команди CLI для початкового налаштування постачальників моделей
sidebarTitle: Model providers
summary: Огляд постачальників моделей із прикладами конфігурацій + сценаріями CLI
title: Провайдери моделей
summary: Огляд постачальників моделей із прикладами конфігурацій + CLI-процесами
title: Постачальники моделей
x-i18n:
generated_at: "2026-05-02T02:37:10Z"
generated_at: "2026-05-02T05:17:41Z"
model: gpt-5.5
provider: openai
source_hash: 34e6a6b691b447a66a94f69a7b609f26c587eaa5bc55c5ed62460ce14cc288fd
source_hash: 02494bfb71c0e0449eacd9ec028316e7a1479e51c6591aea5885baf3941272d5
source_path: concepts/model-providers.md
workflow: 16
---
Довідка для **постачальників LLM/моделей** (не каналів чату, як-от WhatsApp/Telegram). Правила вибору моделей див. у [Моделі](/uk/concepts/models).
Довідник для **провайдерів LLM/моделей** (не каналів чату, як-от WhatsApp/Telegram). Правила вибору моделі див. у [Моделі](/uk/concepts/models).
## Короткі правила
## Швидкі правила
<AccordionGroup>
<Accordion title="Посилання на моделі та CLI-помічники">
<Accordion title="Посилання на моделі та помічники CLI">
- Посилання на моделі використовують `provider/model` (приклад: `opencode/claude-opus-4-6`).
- `agents.defaults.models` діє як список дозволених, коли його задано.
- CLI-помічники: `openclaw onboard`, `openclaw models list`, `openclaw models set <provider/model>`.
- `models.providers.*.contextWindow` / `contextTokens` / `maxTokens` задають типові значення на рівні постачальника; `models.providers.*.models[].contextWindow` / `contextTokens` / `maxTokens` перевизначають їх для окремої моделі.
- Правила резервного перемикання, проби після cooldown і збереження перевизначень сеансу: [Резервне перемикання моделей](/uk/concepts/model-failover).
- `agents.defaults.models` діє як список дозволених, коли задано.
- Помічники CLI: `openclaw onboard`, `openclaw models list`, `openclaw models set <provider/model>`.
- `models.providers.*.contextWindow` / `contextTokens` / `maxTokens` задають стандартні значення на рівні провайдера; `models.providers.*.models[].contextWindow` / `contextTokens` / `maxTokens` перевизначають їх для окремої моделі.
- Правила резервного перемикання, проби cooldown і збереження перевизначень сеансу: [Резервне перемикання моделей](/uk/concepts/model-failover).
</Accordion>
<Accordion title="Додавання автентифікації постачальника не змінює вашу основну модель">
`openclaw configure` зберігає наявний `agents.defaults.model.primary`, коли ви додаєте або повторно автентифікуєте постачальника. Plugin-и постачальників усе ще можуть повертати рекомендовану типову модель у своєму патчі конфігурації автентифікації, але configure трактує це як "зробити цю модель доступною", якщо основна модель уже існує, а не як "замінити поточну основну модель."
<Accordion title="Додавання автентифікації провайдера не змінює вашу основну модель">
`openclaw configure` зберігає наявний `agents.defaults.model.primary`, коли ви додаєте або повторно автентифікуєте провайдера. Плагіни провайдерів усе ще можуть повертати рекомендовану стандартну модель у своєму патчі конфігурації автентифікації, але configure трактує це як "зробити цю модель доступною", коли основна модель уже існує, а не як "замінити поточну основну модель".
Щоб навмисно змінити типову модель, використайте `openclaw models set <provider/model>` або `openclaw models auth login --provider <id> --set-default`.
Щоб навмисно перемкнути стандартну модель, використовуйте `openclaw models set <provider/model>` або `openclaw models auth login --provider <id> --set-default`.
</Accordion>
<Accordion title="Розділення постачальника/середовища виконання OpenAI">
Маршрути родини OpenAI залежать від префікса:
<Accordion title="Розділення провайдера/runtime OpenAI">
Маршрути сімейства OpenAI залежать від префікса:
- `openai/<model>` разом із `agents.defaults.agentRuntime.id: "codex"` використовує нативний harness сервера застосунку Codex. Це звичайне налаштування для підписки ChatGPT/Codex.
- `openai/<model>` плюс `agents.defaults.agentRuntime.id: "codex"` використовує нативну app-server обв’язку Codex. Це звичайне налаштування підписки ChatGPT/Codex.
- `openai-codex/<model>` використовує Codex OAuth у PI.
- `openai/<model>` без перевизначення середовища виконання Codex використовує прямого постачальника OpenAI з API-ключем у PI.
- `openai/<model>` без перевизначення runtime Codex використовує прямий провайдер OpenAI з API-ключем у PI.
Див. [OpenAI](/uk/providers/openai) і [harness Codex](/uk/plugins/codex-harness). Якщо розділення постачальника/середовища виконання незрозуміле, спершу прочитайте [Середовища виконання агентів](/uk/concepts/agent-runtimes).
Див. [OpenAI](/uk/providers/openai) і [Обв’язка Codex](/uk/plugins/codex-harness). Якщо розділення провайдера/runtime заплутує, спершу прочитайте [Runtime агентів](/uk/concepts/agent-runtimes).
Автоматичне вмикання Plugin дотримується тієї самої межі: `openai-codex/<model>` належить до Plugin OpenAI, тоді як Plugin Codex вмикається через `agentRuntime.id: "codex"` або застарілі посилання `codex/<model>`.
Автоувімкнення Plugin дотримується тієї самої межі: `openai-codex/<model>` належить до OpenAI Plugin, тоді як Codex Plugin увімкнено через `agentRuntime.id: "codex"` або застарілі посилання `codex/<model>`.
GPT-5.5 доступна через нативний harness сервера застосунку Codex, коли задано `agentRuntime.id: "codex"`, через `openai-codex/gpt-5.5` у PI для Codex OAuth і через `openai/gpt-5.5` у PI для прямого трафіку з API-ключем, коли ваш обліковий запис це надає.
GPT-5.5 доступний через нативну app-server обв’язку Codex, коли задано `agentRuntime.id: "codex"`, через `openai-codex/gpt-5.5` у PI для Codex OAuth і через `openai/gpt-5.5` у PI для прямого трафіку з API-ключем, якщо ваш акаунт його надає.
</Accordion>
<Accordion title="CLI-середовища виконання">
CLI-середовища виконання використовують те саме розділення: виберіть канонічні посилання на моделі, як-от `anthropic/claude-*`, `google/gemini-*` або `openai/gpt-*`, а потім задайте `agents.defaults.agentRuntime.id` як `claude-cli`, `google-gemini-cli` або `codex-cli`, коли потрібен локальний CLI-бекенд.
<Accordion title="Runtime CLI">
Runtime CLI використовують те саме розділення: виберіть канонічні посилання на моделі, як-от `anthropic/claude-*`, `google/gemini-*` або `openai/gpt-*`, а потім задайте `agents.defaults.agentRuntime.id` як `claude-cli`, `google-gemini-cli` або `codex-cli`, коли потрібен локальний backend CLI.
Застарілі посилання `claude-cli/*`, `google-gemini-cli/*` і `codex-cli/*` мігрують назад до канонічних посилань постачальників, а середовище виконання записується окремо.
Застарілі посилання `claude-cli/*`, `google-gemini-cli/*` і `codex-cli/*` мігрують назад до канонічних посилань провайдера з runtime, записаним окремо.
</Accordion>
</AccordionGroup>
## Поведінка постачальника, керована Plugin
## Поведінка провайдера, що належить Plugin
Більшість специфічної для постачальника логіки живе в Plugin-ах постачальників (`registerProvider(...)`), тоді як OpenClaw зберігає універсальний цикл інференсу. Plugin-и відповідають за onboarding, каталоги моделей, зіставлення env-var для автентифікації, нормалізацію транспорту/конфігурації, очищення схем інструментів, класифікацію резервного перемикання, оновлення OAuth, звітування про використання, профілі thinking/reasoning тощо.
Більшість логіки, специфічної для провайдера, живе в плагінах провайдерів (`registerProvider(...)`), тоді як OpenClaw зберігає загальний цикл інференсу. Плагіни відповідають за onboarding, каталоги моделей, зіставлення env-змінних автентифікації, нормалізацію транспорту/конфігурації, очищення схем інструментів, класифікацію failover, оновлення OAuth, звітування про використання, профілі thinking/reasoning тощо.
Повний список хуків provider-SDK і прикладів вбудованих Plugin-ів міститься в [Plugin-и постачальників](/uk/plugins/sdk-provider-plugins). Постачальник, якому потрібен повністю власний виконавець запитів, є окремою, глибшою поверхнею розширення.
Повний список provider-SDK hooks і прикладів bundled-plugin наведено в [Плагіни провайдерів](/uk/plugins/sdk-provider-plugins). Провайдер, якому потрібен повністю власний executor запитів, є окремою, глибшою поверхнею розширення.
<Note>
Поведінка runner, що належить постачальнику, живе в явних хуках постачальника, як-от політика replay, нормалізація схем інструментів, обгортання потоку та помічники транспорту/запитів. Застарілий статичний набір `ProviderPlugin.capabilities` існує лише для сумісності й більше не читається спільною логікою runner.
Поведінка runner, що належить провайдеру, живе на явних hooks провайдера, як-от replay policy, нормалізація tool-schema, обгортання stream і транспортні/request helpers. Застарілий статичний набір `ProviderPlugin.capabilities` призначений лише для сумісності й більше не читається спільною логікою runner.
</Note>
## Ротація API-ключів
@ -71,43 +71,43 @@ x-i18n:
<Accordion title="Джерела ключів і пріоритет">
Налаштуйте кілька ключів через:
- `OPENCLAW_LIVE_<PROVIDER>_KEY` (єдине live-перевизначення, найвищий пріоритет)
- `OPENCLAW_LIVE_<PROVIDER>_KEY` (одне live-перевизначення, найвищий пріоритет)
- `<PROVIDER>_API_KEYS` (список через кому або крапку з комою)
- `<PROVIDER>_API_KEY` (основний ключ)
- `<PROVIDER>_API_KEY_*` (нумерований список, наприклад `<PROVIDER>_API_KEY_1`)
- `<PROVIDER>_API_KEY_*` (нумерований список, напр. `<PROVIDER>_API_KEY_1`)
Для постачальників Google `GOOGLE_API_KEY` також включено як fallback. Порядок вибору ключів зберігає пріоритет і усуває дублікати значень.
Для провайдерів Google `GOOGLE_API_KEY` також включено як fallback. Порядок вибору ключів зберігає пріоритет і прибирає дублікати значень.
</Accordion>
<Accordion title="Коли вмикається ротація">
- Запити повторюються з наступним ключем лише для відповідей про обмеження швидкості (наприклад `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` або періодичні повідомлення про usage-limit).
- Збої, не пов’язані з rate-limit, завершуються негайно; ротація ключів не виконується.
- Коли всі кандидатні ключі зазнають збою, фінальна помилка повертається з останньої спроби.
</Accordion>
</AccordionGroup>
## Вбудовані постачальники (каталог pi-ai)
## Вбудовані провайдери (каталог pi-ai)
OpenClaw постачається з каталогом piai. Ці постачальники **не** потребують конфігурації `models.providers`; просто задайте автентифікацію й виберіть модель.
OpenClaw постачається з каталогом piai. Ці провайдери **не** потребують конфігурації `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, fallback на SSE)
- Перевизначайте для окремої моделі через `agents.defaults.models["openai/<model>"].params.transport` (`"sse"`, `"websocket"` або `"auto"`)
- Розігрів OpenAI Responses WebSocket типово ввімкнений через `params.openaiWsWarmup` (`true`/`false`)
- Стандартний транспорт — `auto` (спершу WebSocket, fallback на SSE)
- Перевизначення для окремої моделі через `agents.defaults.models["openai/<model>"].params.transport` (`"sse"`, `"websocket"` або `"auto"`)
- Прогрів OpenAI Responses WebSocket стандартно ввімкнено через `params.openaiWsWarmup` (`true`/`false`)
- Пріоритетну обробку OpenAI можна ввімкнути через `agents.defaults.models["openai/<model>"].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-сумісних проксі
- Нативні маршрути OpenAI також зберігають Responses `store`, підказки prompt-cache і формування payload для сумісності з reasoning OpenAI; проксі-маршрути цього не роблять
- `openai/gpt-5.3-codex-spark` навмисно приховано в OpenClaw, оскільки live-запити OpenAI API його відхиляють, а поточний каталог Codex його не надає
- `/fast` і `params.fastMode` зіставляють прямі запити `openai/*` Responses з `service_tier=priority` на `api.openai.com`
- Використовуйте `params.serviceTier`, коли потрібен явний tier замість спільного перемикача `/fast`
- Приховані заголовки атрибуції OpenClaw (`originator`, `version`, `User-Agent`) застосовуються лише до нативного трафіку OpenAI на `api.openai.com`, а не до загальних OpenAI-сумісних проксі
- Нативні маршрути OpenAI також зберігають Responses `store`, підказки prompt-cache і формування payload для сумісності з reasoning OpenAI; маршрути проксі — ні
- `openai/gpt-5.3-codex-spark` навмисно приглушено в OpenClaw, оскільки live-запити OpenAI API його відхиляють, а поточний каталог Codex його не надає
```json5
{
@ -117,19 +117,19 @@ OpenClaw постачається з каталогом piai. Ці поста
### 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`)
- Прямі публічні запити 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` усе ще працюють для сумісності.
backend окремо: `anthropic/claude-opus-4-7` з
`agents.defaults.agentRuntime.id: "claude-cli"`. Застарілі посилання
`claude-cli/claude-opus-4-7` усе ще працюють для сумісності.
<Note>
Співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволено, тому OpenClaw вважає повторне використання Claude CLI і використання `claude -p` санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. Anthropic setup-token залишається доступним як підтримуваний шлях токена OpenClaw, але OpenClaw тепер надає перевагу повторному використанню Claude CLI і `claude -p`, коли вони доступні.
Співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволене, тому OpenClaw вважає повторне використання Claude CLI і використання `claude -p` санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. Setup-token Anthropic залишається доступним як підтримуваний шлях токена OpenClaw, але OpenClaw тепер віддає перевагу повторному використанню Claude CLI і `claude -p`, коли вони доступні.
</Note>
```json5
@ -140,23 +140,23 @@ OpenClaw постачається з каталогом piai. Ці поста
### OpenAI Codex OAuth
- Постачальник: `openai-codex`
- Провайдер: `openai-codex`
- Автентифікація: OAuth (ChatGPT)
- Посилання на модель PI: `openai-codex/gpt-5.5`
- Посилання на нативний harness сервера застосунку Codex: `openai/gpt-5.5` з `agents.defaults.agentRuntime.id: "codex"`
- Документація нативного harness сервера застосунку Codex: [harness Codex](/uk/plugins/codex-harness)
- Посилання нативної app-server обв’язки Codex: `openai/gpt-5.5` з `agents.defaults.agentRuntime.id: "codex"`
- Документація нативної app-server обв’язки Codex: [Обв’язка Codex](/uk/plugins/codex-harness)
- Застарілі посилання на моделі: `codex/gpt-*`
- Межа Plugin: `openai-codex/*` завантажує Plugin OpenAI; нативний Plugin сервера застосунку Codex вибирається лише середовищем виконання harness Codex або застарілими посиланнями `codex/*`.
- Межа Plugin: `openai-codex/*` завантажує OpenAI Plugin; нативний app-server Plugin Codex вибирається лише runtime обв’язки Codex або застарілими посиланнями `codex/*`.
- CLI: `openclaw onboard --auth-choice openai-codex` або `openclaw models auth login --provider openai-codex`
- Типовий транспорт — `auto` (спочатку WebSocket, fallback на SSE)
- Перевизначайте для окремої моделі PI через `agents.defaults.models["openai-codex/<model>"].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` і типове середовище виконання `contextTokens = 272000`; перевизначте ліміт середовища виконання через `models.providers.openai-codex.models[].contextTokens`
- Примітка щодо політики: OpenAI Codex OAuth явно підтримується для зовнішніх інструментів/робочих процесів на кшталт OpenClaw.
- Для поширеного маршруту з підпискою плюс нативним середовищем виконання Codex увійдіть через автентифікацію `openai-codex`, але налаштуйте `openai/gpt-5.5` плюс `agents.defaults.agentRuntime.id: "codex"`.
- Використовуйте `openai-codex/gpt-5.5` лише коли потрібен маршрут Codex OAuth/підписки через PI; використовуйте `openai/gpt-5.5` без перевизначення середовища виконання Codex, коли ваше налаштування API-ключа й локальний каталог надають маршрут публічного API.
- Стандартний транспорт — `auto` (спершу WebSocket, fallback на SSE)
- Перевизначення для окремої моделі PI через `agents.defaults.models["openai-codex/<model>"].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 cap через `models.providers.openai-codex.models[].contextTokens`
- Примітка щодо політики: OpenAI Codex OAuth явно підтримується для зовнішніх інструментів/workflows, як-от OpenClaw.
- Для поширеного маршруту з підпискою плюс нативним runtime Codex увійдіть через автентифікацію `openai-codex`, але налаштуйте `openai/gpt-5.5` плюс `agents.defaults.agentRuntime.id: "codex"`.
- Використовуйте `openai-codex/gpt-5.5` лише коли потрібен маршрут Codex OAuth/підписки через PI; використовуйте `openai/gpt-5.5` без перевизначення runtime Codex, коли ваше налаштування API-ключа й локальний каталог надають публічний API-маршрут.
```json5
{
@ -182,25 +182,25 @@ OpenClaw постачається з каталогом piai. Ці поста
}
```
### Інші розміщені варіанти у стилі підписки
### Інші hosted-опції у стилі підписки
<CardGroup cols={3}>
<Card title="Моделі GLM" href="/uk/providers/glm">
Z.AI Coding Plan або загальні API-ендпоїнти.
Z.AI Coding Plan або загальні API endpoints.
</Card>
<Card title="MiniMax" href="/uk/providers/minimax">
MiniMax Coding Plan OAuth або доступ за API-ключем.
</Card>
<Card title="Qwen Cloud" href="/uk/providers/qwen">
Поверхня постачальника Qwen Cloud плюс зіставлення ендпоїнтів Alibaba DashScope і Coding Plan.
Поверхня провайдера Qwen Cloud плюс зіставлення endpoints Alibaba DashScope і Coding Plan.
</Card>
</CardGroup>
### OpenCode
- Автентифікація: `OPENCODE_API_KEY` (або `OPENCODE_ZEN_API_KEY`)
- Постачальник середовища виконання Zen: `opencode`
- Постачальник середовища виконання Go: `opencode-go`
- Провайдер Zen runtime: `opencode`
- Провайдер Go runtime: `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`
@ -214,27 +214,27 @@ OpenClaw постачається з каталогом piai. Ці поста
- Провайдер: `google`
- Автентифікація: `GEMINI_API_KEY`
- Необов’язкова ротація: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, запасний варіант `GOOGLE_API_KEY` і `OPENCLAW_LIVE_GEMINI_KEY` (одинарне перевизначення)
- Необов’язкова ротація: резервні `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, `GOOGLE_API_KEY` і `OPENCLAW_LIVE_GEMINI_KEY` (одиночне перевизначення)
- Приклади моделей: `google/gemini-3.1-pro-preview`, `google/gemini-3-flash-preview`
- Сумісність: застаріла конфігурація OpenClaw, що використовує `google/gemini-3.1-flash-preview`, нормалізується до `google/gemini-3-flash-preview`
- Псевдонім: `google/gemini-3.1-pro` приймається та нормалізується до ідентифікатора поточного Gemini API від Google, `google/gemini-3.1-pro-preview`
- Сумісність: застаріла конфігурація 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`
- 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/<model>"].params.cachedContent` (або застарілий `cached_content`), щоб передати власний для провайдера дескриптор `cachedContents/...`; влучання в кеш Gemini відображаються як OpenClaw `cacheRead`
- Мислення: `/think adaptive` використовує динамічне мислення Google. Gemini 3/3.1 не включають фіксований `thinkingLevel`; Gemini 2.5 надсилає `thinkingBudget: -1`.
- Прямі запуски Gemini також приймають `agents.defaults.models["google/<model>"].params.cachedContent` (або застарілий `cached_content`), щоб передати provider-native дескриптор `cachedContents/...`; влучання в кеш Gemini відображаються як OpenClaw `cacheRead`
### Google Vertex і Gemini CLI
- Провайдери: `google-vertex`, `google-gemini-cli`
- Автентифікація: Vertex використовує gcloud ADC; Gemini CLI використовує свій потік OAuth
- Автентифікація: Vertex використовує gcloud ADC; Gemini CLI використовує свій OAuth-потік
<Warning>
Gemini CLI OAuth в OpenClaw є неофіційною інтеграцією. Деякі користувачі повідомляли про обмеження облікового запису Google після використання сторонніх клієнтів. Перегляньте умови Google і використовуйте некритичний обліковий запис, якщо вирішите продовжити.
Gemini CLI OAuth в OpenClaw є неофіційною інтеграцією. Деякі користувачі повідомляли про обмеження облікових записів Google після використання сторонніх клієнтів. Ознайомтеся з умовами Google і використовуйте некритичний обліковий запис, якщо вирішите продовжити.
</Warning>
Gemini CLI OAuth постачається як частина вбудованого Plugin `google`.
Gemini CLI OAuth постачається як частина bundled `google` plugin.
<Steps>
<Step title="Установіть Gemini CLI">
<Step title="Встановіть Gemini CLI">
<Tabs>
<Tab title="brew">
```bash
@ -248,7 +248,7 @@ Gemini CLI OAuth постачається як частина вбудовано
</Tab>
</Tabs>
</Step>
<Step title="Увімкніть Plugin">
<Step title="Увімкніть plugin">
```bash
openclaw plugins enable google
```
@ -258,15 +258,15 @@ Gemini CLI OAuth постачається як частина вбудовано
openclaw models auth login --provider google-gemini-cli --set-default
```
Стандартна модель: `google-gemini-cli/gemini-3-flash-preview`. Ви **не** вставляєте ідентифікатор клієнта чи секрет у `openclaw.json`. Потік входу CLI зберігає токени в профілях автентифікації на хості Gateway.
Модель за замовчуванням: `google-gemini-cli/gemini-3-flash-preview`. Ви **не** вставляєте client id або secret у `openclaw.json`. Потік входу CLI зберігає токени в профілях автентифікації на хості gateway.
</Step>
<Step title="Налаштуйте проєкт (за потреби)">
Якщо запити не виконуються після входу, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості Gateway.
<Step title="Задайте проєкт (за потреби)">
Якщо запити не виконуються після входу, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості gateway.
</Step>
</Steps>
JSON-відповіді Gemini CLI розбираються з `response`; usage використовує запасний варіант `stats`, а `stats.cached` нормалізується в OpenClaw `cacheRead`.
JSON-відповіді Gemini CLI аналізуються з `response`; використання резервно береться зі `stats`, а `stats.cached` нормалізується в OpenClaw `cacheRead`.
### Z.AI (GLM)
@ -275,7 +275,7 @@ JSON-відповіді Gemini CLI розбираються з `response`; usage
- Приклад моделі: `zai/glm-5.1`
- CLI: `openclaw onboard --auth-choice zai-api-key`
- Псевдоніми: `z.ai/*` і `z-ai/*` нормалізуються до `zai/*`
- `zai-api-key` автоматично визначає відповідну кінцеву точку Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово задають конкретну поверхню
- `zai-api-key` автоматично визначає відповідний endpoint Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово задають конкретну поверхню
### Vercel AI Gateway
@ -290,15 +290,15 @@ JSON-відповіді Gemini CLI розбираються з `response`; usage
- Автентифікація: `KILOCODE_API_KEY`
- Приклад моделі: `kilocode/kilo/auto`
- CLI: `openclaw onboard --auth-choice kilocode-api-key`
- Базова URL-адреса: `https://api.kilo.ai/api/gateway/`
- Статичний запасний каталог постачає `kilocode/kilo/auto`; поточне виявлення `https://api.kilo.ai/api/gateway/models` може додатково розширити каталог середовища виконання.
- Точна висхідна маршрутизація за `kilocode/kilo/auto` належить Kilo Gateway, а не жорстко закодована в OpenClaw.
- Базовий URL: `https://api.kilo.ai/api/gateway/`
- Статичний резервний каталог постачає `kilocode/kilo/auto`; live discovery `https://api.kilo.ai/api/gateway/models` може додатково розширити runtime-каталог.
- Точна upstream-маршрутизація за `kilocode/kilo/auto` належить Kilo Gateway, а не жорстко прописана в OpenClaw.
Див. [/providers/kilocode](/uk/providers/kilocode) для подробиць налаштування.
Див. [/providers/kilocode](/uk/providers/kilocode), щоб дізнатися подробиці налаштування.
### Інші вбудовані Plugin провайдерів
### Інші bundled provider plugins
| Провайдер | Ідентифікатор | Змінна середовища автентифікації | Приклад моделі |
| Провайдер | Id | Середовище автентифікації | Приклад моделі |
| ----------------------- | -------------------------------- | ------------------------------------------------------------ | --------------------------------------------- |
| BytePlus | `byteplus` / `byteplus-plan` | `BYTEPLUS_API_KEY` | `byteplus-plan/ark-code-latest` |
| Cerebras | `cerebras` | `CEREBRAS_API_KEY` | `cerebras/zai-glm-4.7` |
@ -329,22 +329,22 @@ JSON-відповіді Gemini CLI розбираються з `response`; usage
<AccordionGroup>
<Accordion title="OpenRouter">
Застосовує свої заголовки атрибуції застосунку та маркери Anthropic `cache_control` лише на перевірених маршрутах `openrouter.ai`. Посилання DeepSeek, Moonshot і ZAI придатні для cache-TTL у керованому OpenRouter кешуванні промптів, але не отримують маркерів кешу Anthropic. Як proxy-стиль OpenAI-сумісного шляху, він пропускає формування, властиве лише нативному OpenAI (`serviceTier`, Responses `store`, підказки prompt-cache, сумісність reasoning OpenAI). Посилання на базі Gemini зберігають лише proxy-Gemini очищення thought-signature.
Застосовує свої заголовки атрибуції застосунку та маркери Anthropic `cache_control` лише на перевірених маршрутах `openrouter.ai`. Посилання DeepSeek, Moonshot і ZAI придатні для TTL кешу в керованому OpenRouter кешуванні промптів, але не отримують маркерів кешу Anthropic. Як проксі-подібний OpenAI-сумісний шлях, він пропускає формування, призначене лише для нативного OpenAI (`serviceTier`, Responses `store`, підказки prompt-cache, OpenAI reasoning-compat). Посилання на базі Gemini зберігають лише санітизацію підписів міркувань proxy-Gemini.
</Accordion>
<Accordion title="Kilo Gateway">
Посилання на базі Gemini проходять той самий шлях очищення proxy-Gemini; `kilocode/kilo/auto` та інші посилання, що не підтримують proxy reasoning, пропускають інʼєкцію proxy reasoning.
Посилання на базі Gemini проходять той самий шлях санітизації proxy-Gemini; `kilocode/kilo/auto` та інші посилання, що не підтримують proxy reasoning, пропускають інєкцію proxy reasoning.
</Accordion>
<Accordion title="MiniMax">
Онбординг з API-ключем записує явні текстові визначення чат-моделей M2.7; розуміння зображень залишається на медіапровайдері `MiniMax-VL-01`, що належить Plugin.
Онбординг через API-ключ записує явні текстові визначення чат-моделей M2.7; розуміння зображень залишається на медіапровайдері `MiniMax-VL-01`, що належить plugin.
</Accordion>
<Accordion title="NVIDIA">
Ідентифікатори моделей використовують простір імен `nvidia/<vendor>/<model>` (наприклад, `nvidia/nvidia/nemotron-...` поряд із `nvidia/moonshotai/kimi-k2.5`); вибирачі зберігають буквальну композицію `<provider>/<model-id>`, тоді як канонічний ключ, надісланий до API, залишається з одним префіксом.
Ідентифікатори моделей використовують простір імен `nvidia/<vendor>/<model>` (наприклад, `nvidia/nvidia/nemotron-...` поруч із `nvidia/moonshotai/kimi-k2.5`); засоби вибору зберігають буквальну композицію `<provider>/<model-id>`, тоді як канонічний ключ, що надсилається до API, залишається з одним префіксом.
</Accordion>
<Accordion title="xAI">
Використовує шлях 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/<model>"].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/<model>"].params.tool_stream=false`.
</Accordion>
<Accordion title="Cerebras">
Постачається як вбудований Plugin провайдера `cerebras`. GLM використовує `zai-glm-4.7`; OpenAI-сумісний базовий URL: `https://api.cerebras.ai/v1`.
Постачається як вбудований provider plugin `cerebras`. GLM використовує `zai-glm-4.7`; OpenAI-сумісний базовий URL `https://api.cerebras.ai/v1`.
</Accordion>
</AccordionGroup>
@ -352,13 +352,13 @@ JSON-відповіді Gemini CLI розбираються з `response`; usage
Використовуйте `models.providers` (або `models.json`), щоб додати **користувацьких** провайдерів або OpenAI/Anthropicсумісні проксі.
Багато наведених нижче вбудованих Plugin провайдерів уже публікують типовий каталог. Використовуйте явні записи `models.providers.<id>` лише тоді, коли потрібно перевизначити типовий базовий URL, заголовки або список моделей.
Багато з наведених нижче вбудованих provider plugins уже публікують стандартний каталог. Використовуйте явні записи `models.providers.<id>` лише тоді, коли потрібно перевизначити стандартний базовий URL, заголовки або список моделей.
Перевірки можливостей моделей Gateway також читають явні метадані `models.providers.<id>.models[]`. Якщо користувацька або проксі-модель приймає зображення, установіть `input: ["text", "image"]` для цієї моделі, щоб WebChat і шляхи вкладень із джерелом у вузлі передавали зображення як нативні входи моделі, а не як текстові медіапосилання.
Перевірки можливостей моделей Gateway також читають явні метадані `models.providers.<id>.models[]`. Якщо користувацька або проксі-модель приймає зображення, задайте `input: ["text", "image"]` для цієї моделі, щоб WebChat і шляхи вкладень із походженням від вузла передавали зображення як нативні входи моделі, а не як текстові медіапосилання.
### Moonshot AI (Kimi)
Moonshot постачається як вбудований Plugin провайдера. Використовуйте вбудованого провайдера за замовчуванням і додавайте явний запис `models.providers.moonshot` лише тоді, коли потрібно перевизначити базовий URL або метадані моделі:
Moonshot постачається як вбудований provider plugin. За замовчуванням використовуйте вбудованого провайдера й додавайте явний запис `models.providers.moonshot` лише тоді, коли потрібно перевизначити базовий URL або метадані моделі:
- Провайдер: `moonshot`
- Автентифікація: `MOONSHOT_API_KEY`
@ -396,9 +396,9 @@ Moonshot постачається як вбудований Plugin провай
}
```
### Kimi для програмування
### Kimi coding
Kimi Coding використовує Anthropic-сумісний кінцевий пункт Moonshot AI:
Kimi Coding використовує Anthropic-сумісну кінцеву точку Moonshot AI:
- Провайдер: `kimi`
- Автентифікація: `KIMI_API_KEY`
@ -413,13 +413,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`
@ -432,9 +432,9 @@ Volcano Engine (火山引擎) надає доступ до Doubao та інши
}
```
Під час онбордингу за замовчуванням використовується поверхня для кодування, але загальний каталог `volcengine/*` реєструється одночасно.
Онбординг за замовчуванням використовує поверхню для кодування, але загальний каталог `volcengine/*` реєструється одночасно.
У засобах вибору моделей під час онбордингу/налаштування варіант автентифікації Volcengine віддає перевагу рядкам `volcengine/*` і `volcengine-plan/*`. Якщо ці моделі ще не завантажено, OpenClaw повертається до нефільтрованого каталогу замість показу порожнього засобу вибору, обмеженого провайдером.
У засобах вибору моделей під час онбордингу/налаштування вибір автентифікації Volcengine надає перевагу рядкам `volcengine/*` і `volcengine-plan/*`. Якщо ці моделі ще не завантажені, OpenClaw повертається до нефільтрованого каталогу замість того, щоб показувати порожній засіб вибору, обмежений провайдером.
<Tabs>
<Tab title="Стандартні моделі">
@ -455,11 +455,11 @@ Volcano Engine (火山引擎) надає доступ до Doubao та інши
</Tab>
</Tabs>
### BytePlus (International)
### BytePlus (міжнародний)
BytePlus ARK надає міжнародним користувачам доступ до тих самих моделей, що й Volcano Engine.
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`
@ -472,9 +472,9 @@ BytePlus ARK надає міжнародним користувачам дост
}
```
Під час онбордингу за замовчуванням використовується поверхня для кодування, але загальний каталог `byteplus/*` реєструється одночасно.
Онбординг за замовчуванням використовує поверхню для кодування, але загальний каталог `byteplus/*` реєструється одночасно.
У засобах вибору моделей під час онбордингу/налаштування варіант автентифікації BytePlus віддає перевагу рядкам `byteplus/*` і `byteplus-plan/*`. Якщо ці моделі ще не завантажено, OpenClaw повертається до нефільтрованого каталогу замість показу порожнього засобу вибору, обмеженого провайдером.
У засобах вибору моделей під час онбордингу/налаштування вибір автентифікації BytePlus надає перевагу рядкам `byteplus/*` і `byteplus-plan/*`. Якщо ці моделі ще не завантажені, OpenClaw повертається до нефільтрованого каталогу замість того, щоб показувати порожній засіб вибору, обмежений провайдером.
<Tabs>
<Tab title="Стандартні моделі">
@ -495,7 +495,7 @@ BytePlus ARK надає міжнародним користувачам дост
### Synthetic
Synthetic надає моделі, сумісні з Anthropic, через провайдера `synthetic`:
Synthetic надає Anthropic-сумісні моделі через провайдера `synthetic`:
- Провайдер: `synthetic`
- Автентифікація: `SYNTHETIC_API_KEY`
@ -525,23 +525,23 @@ Synthetic надає моделі, сумісні з Anthropic, через пр
MiniMax налаштовується через `models.providers`, оскільки використовує власні кінцеві точки:
- MiniMax OAuth (Global): `--auth-choice minimax-global-oauth`
- MiniMax OAuth (CN): `--auth-choice minimax-cn-oauth`
- Ключ API MiniMax (Global): `--auth-choice minimax-global-api`
- Ключ API MiniMax (CN): `--auth-choice minimax-cn-api`
- MiniMax OAuth (глобальний): `--auth-choice minimax-global-oauth`
- MiniMax OAuth (Китай): `--auth-choice minimax-cn-oauth`
- API-ключ MiniMax (глобальний): `--auth-choice minimax-global-api`
- API-ключ MiniMax (Китай): `--auth-choice minimax-cn-api`
- Автентифікація: `MINIMAX_API_KEY` для `minimax`; `MINIMAX_OAUTH_TOKEN` або `MINIMAX_API_KEY` для `minimax-portal`
Див. [/providers/minimax](/uk/providers/minimax), щоб дізнатися подробиці налаштування, варіанти моделей і фрагменти конфігурації.
<Note>
На Anthropic-сумісному шляху потокового передавання MiniMax OpenClaw за замовчуванням вимикає мислення, якщо ви явно його не задасте, а `/fast on` переписує `MiniMax-M2.7` на `MiniMax-M2.7-highspeed`.
На Anthropic-сумісному потоковому шляху MiniMax OpenClaw вимикає thinking за замовчуванням, якщо ви явно його не задасте, а `/fast on` переписує `MiniMax-M2.7` на `MiniMax-M2.7-highspeed`.
</Note>
Розподіл можливостей, якими володіє Plugin:
Розділення можливостей, що належить Plugin:
- Стандартні значення для тексту/чату залишаються на `minimax/MiniMax-M2.7`
- Текстові/чатові значення за замовчуванням залишаються на `minimax/MiniMax-M2.7`
- Генерація зображень — це `minimax/image-01` або `minimax-portal/image-01`
- Розуміння зображень належить Plugin: `MiniMax-VL-01` в обох шляхах автентифікації MiniMax
- Розуміння зображень належить Plugin `MiniMax-VL-01` на обох шляхах автентифікації MiniMax
- Вебпошук залишається на ідентифікаторі провайдера `minimax`
### LM Studio
@ -552,7 +552,7 @@ LM Studio постачається як вбудований Plugin провай
- Автентифікація: `LM_API_TOKEN`
- Базова URL-адреса інференсу за замовчуванням: `http://localhost:1234/v1`
Потім задайте модель (замініть на один з ідентифікаторів, повернених `http://localhost:1234/api/v1/models`):
Потім задайте модель (замініть одним з ідентифікаторів, повернених `http://localhost:1234/api/v1/models`):
```json5
{
@ -562,7 +562,7 @@ LM Studio постачається як вбудований Plugin провай
}
```
OpenClaw використовує нативні `/api/v1/models` і `/api/v1/models/load` LM Studio для виявлення й автоматичного завантаження, а `/v1/chat/completions` — для інференсу за замовчуванням. Див. [/providers/lmstudio](/uk/providers/lmstudio) для налаштування й усунення несправностей.
OpenClaw використовує нативні `/api/v1/models` і `/api/v1/models/load` LM Studio для виявлення та автозавантаження, а `/v1/chat/completions` — для інференсу за замовчуванням. Якщо ви хочете, щоб JIT-завантаження, TTL і автоматичне витіснення LM Studio керували життєвим циклом моделі, задайте `models.providers.lmstudio.params.preload: false`. Див. [/providers/lmstudio](/uk/providers/lmstudio) для налаштування та усунення несправностей.
### Ollama
@ -571,7 +571,7 @@ Ollama постачається як вбудований Plugin провайд
- Провайдер: `ollama`
- Автентифікація: не потрібна (локальний сервер)
- Приклад моделі: `ollama/llama3.3`
- Встановлення: [https://ollama.com/download](https://ollama.com/download)
- Установлення: [https://ollama.com/download](https://ollama.com/download)
```bash
# Install Ollama, then pull a model:
@ -586,23 +586,23 @@ ollama pull llama3.3
}
```
Ollama виявляється локально за адресою `http://127.0.0.1:11434`, коли ви явно вмикаєте це через `OLLAMA_API_KEY`, а вбудований Plugin провайдера додає Ollama безпосередньо до `openclaw onboard` і засобу вибору моделей. Див. [/providers/ollama](/uk/providers/ollama) для онбордингу, хмарного/локального режиму та власної конфігурації.
Ollama виявляється локально за адресою `http://127.0.0.1:11434`, коли ви вмикаєте це через `OLLAMA_API_KEY`, а вбудований Plugin провайдера додає Ollama безпосередньо до `openclaw onboard` і засобу вибору моделей. Див. [/providers/ollama](/uk/providers/ollama) для онбордингу, хмарного/локального режиму та власної конфігурації.
### vLLM
vLLM постачається як вбудований Plugin провайдера для локальних/самостійно розгорнутих серверів, сумісних з OpenAI:
vLLM постачається як вбудований Plugin провайдера для локальних/самостійно розміщених OpenAI-сумісних серверів:
- Провайдер: `vllm`
- Автентифікація: необов’язкова (залежить від вашого сервера)
- Базова URL-адреса за замовчуванням: `http://127.0.0.1:8000/v1`
Щоб явно ввімкнути локальне автоматичне виявлення (працює будь-яке значення, якщо ваш сервер не вимагає автентифікації):
Щоб увімкнути локальне автовиявлення (будь-яке значення працює, якщо ваш сервер не вимагає автентифікації):
```bash
export VLLM_API_KEY="vllm-local"
```
Потім задайте модель (замініть на один з ідентифікаторів, повернених `/v1/models`):
Потім задайте модель (замініть одним з ідентифікаторів, повернених `/v1/models`):
```json5
{
@ -616,19 +616,19 @@ export VLLM_API_KEY="vllm-local"
### SGLang
SGLang постачається як вбудований Plugin провайдера для швидких самостійно розгорнутих серверів, сумісних з OpenAI:
SGLang постачається як вбудований Plugin провайдера для швидких самостійно розміщених OpenAI-сумісних серверів:
- Провайдер: `sglang`
- Автентифікація: необов’язкова (залежить від вашого сервера)
- Базова URL-адреса за замовчуванням: `http://127.0.0.1:30000/v1`
Щоб явно ввімкнути локальне автоматичне виявлення (працює будь-яке значення, якщо ваш сервер не вимагає автентифікації):
Щоб увімкнути локальне автовиявлення (будь-яке значення працює, якщо ваш сервер не вимагає автентифікації):
```bash
export SGLANG_API_KEY="sglang-local"
```
Потім задайте модель (замініть на один з ідентифікаторів, повернених `/v1/models`):
Потім задайте модель (замініть одним з ідентифікаторів, повернених `/v1/models`):
```json5
{
@ -642,7 +642,7 @@ export SGLANG_API_KEY="sglang-local"
### Локальні проксі (LM Studio, vLLM, LiteLLM тощо)
Приклад (сумісний з OpenAI):
Приклад (OpenAIсумісний):
```json5
{
@ -677,8 +677,8 @@ export SGLANG_API_KEY="sglang-local"
```
<AccordionGroup>
<Accordion title="Стандартні необов’язкові поля">
Для власних провайдерів `reasoning`, `input`, `cost`, `contextWindow` і `maxTokens` є необов’язковими. Якщо їх пропущено, OpenClaw використовує такі стандартні значення:
<Accordion title="Необов’язкові поля за замовчуванням">
Для власних провайдерів `reasoning`, `input`, `cost`, `contextWindow` і `maxTokens` є необов’язковими. Якщо їх не вказано, OpenClaw за замовчуванням використовує:
- `reasoning: false`
- `input: ["text"]`
@ -689,15 +689,15 @@ export SGLANG_API_KEY="sglang-local"
Рекомендовано: задайте явні значення, що відповідають обмеженням вашого проксі/моделі.
</Accordion>
<Accordion title="Правила формування маршруту проксі">
<Accordion title="Правила формування проксі-маршрутів">
- Для `api: "openai-completions"` на ненативних кінцевих точках (будь-яка непорожня `baseUrl`, хост якої не є `api.openai.com`) OpenClaw примусово задає `compat.supportsDeveloperRole: false`, щоб уникнути помилок 400 від провайдера для непідтримуваних ролей `developer`.
- Проксі-маршрути, сумісні з OpenAI, також пропускають формування запитів, специфічне лише для нативного OpenAI: без `service_tier`, без Responses `store`, без Completions `store`, без підказок кешу промптів, без формування payload сумісності reasoning OpenAI і без прихованих заголовків атрибуції OpenClaw.
- Для проксі OpenAI-сумісних Completions, яким потрібні поля, специфічні для постачальника, задайте `agents.defaults.models["provider/model"].params.extra_body` (або `extraBody`), щоб об’єднати додатковий JSON у вихідне тіло запиту.
- Для елементів керування chat-template vLLM задайте `agents.defaults.models["provider/model"].params.chat_template_kwargs`. Вбудований Plugin vLLM автоматично надсилає `enable_thinking: false` і `force_nonempty_content: true` для `vllm/nemotron-3-*`, коли рівень мислення сесії вимкнено.
- Для повільних локальних моделей або віддалених хостів LAN/tailnet задайте `models.providers.<id>.timeoutSeconds`. Це розширює обробку HTTP-запитів до моделей провайдера, включно з підключенням, заголовками, потоковим передаванням тіла та повним guarded-fetch abort, не збільшуючи загальний тайм-аут виконання агента.
- Якщо `baseUrl` порожній/пропущений, OpenClaw зберігає стандартну поведінку OpenAI (яка розв’язується до `api.openai.com`).
- Проксі-маршрути в стилі OpenAI-compatible також пропускають нативне формування запитів, властиве лише OpenAI: без `service_tier`, без Responses `store`, без Completions `store`, без підказок кешу промптів, без формування payload для сумісності reasoning OpenAI і без прихованих заголовків атрибуції OpenClaw.
- Для OpenAI-сумісних проксі Completions, яким потрібні специфічні для постачальника поля, задайте `agents.defaults.models["provider/model"].params.extra_body` (або `extraBody`), щоб об’єднати додатковий JSON із тілом вихідного запиту.
- Для елементів керування chat-template vLLM задайте `agents.defaults.models["provider/model"].params.chat_template_kwargs`. Вбудований Plugin vLLM автоматично надсилає `enable_thinking: false` і `force_nonempty_content: true` для `vllm/nemotron-3-*`, коли рівень thinking сеансу вимкнений.
- Для повільних локальних моделей або віддалених LAN/tailnet-хостів задайте `models.providers.<id>.timeoutSeconds`. Це розширює обробку HTTP-запитів до моделей провайдера, включно з підключенням, заголовками, потоковою передачею тіла та загальним перериванням guarded-fetch, без збільшення тайм-ауту всього runtime агента.
- Якщо `baseUrl` порожня/пропущена, OpenClaw зберігає стандартну поведінку OpenAI (яка розв’язується до `api.openai.com`).
- З міркувань безпеки явне `compat.supportsDeveloperRole: true` все одно перевизначається на ненативних кінцевих точках `openai-completions`.
- Для `api: "anthropic-messages"` на непрямих кінцевих точках (будь-який провайдер, окрім канонічного `anthropic`, або власний `models.providers.anthropic.baseUrl`, хост якого не є публічною кінцевою точкою `api.anthropic.com`) OpenClaw пригнічує неявні бета-заголовки Anthropic, як-от `claude-code-20250219`, `interleaved-thinking-2025-05-14` і маркери OAuth, щоб власні Anthropic-сумісні проксі не відхиляли непідтримувані бета-прапорці. Явно задайте `models.providers.<id>.headers["anthropic-beta"]`, якщо вашому проксі потрібні певні бета-функції.
- Для `api: "anthropic-messages"` на непрямих кінцевих точках (будь-який провайдер, окрім канонічного `anthropic`, або власна `models.providers.anthropic.baseUrl`, хост якої не є публічною кінцевою точкою `api.anthropic.com`) OpenClaw пригнічує неявні Anthropic beta заголовки, як-от `claude-code-20250219`, `interleaved-thinking-2025-05-14` і маркери OAuth, щоб власні Anthropic-сумісні проксі не відхиляли непідтримувані beta-прапорці. Явно задайте `models.providers.<id>.headers["anthropic-beta"]`, якщо вашому проксі потрібні певні beta-можливості.
</Accordion>
</AccordionGroup>
@ -714,7 +714,7 @@ openclaw models list
## Пов’язане
- [Довідник конфігурації](/uk/gateway/config-agents#agent-defaults) — ключі конфігурації моделі
- [Відмовостійкість моделей](/uk/concepts/model-failover) — ланцюжки резервування та поведінка повторних спроб
- [Довідник конфігурації](/uk/gateway/config-agents#agent-defaults) — ключі конфігурації моделей
- [Відмовостійке перемикання моделей](/uk/concepts/model-failover) — ланцюжки fallback і поведінка повторних спроб
- [Моделі](/uk/concepts/models) — конфігурація моделей і псевдоніми
- [Провайдери](/uk/providers) — посібники з налаштування для кожного провайдера

View File

@ -1,19 +1,19 @@
---
read_when:
- Ви хочете запускати OpenClaw з open source моделями через LM Studio
- Ви хочете налаштувати й сконфігурувати LM Studio
- Ви хочете запускати OpenClaw з моделями з відкритим кодом через LM Studio
- Ви хочете встановити й налаштувати LM Studio
summary: Запуск OpenClaw з LM Studio
title: LM Studio
x-i18n:
generated_at: "2026-04-27T12:54:20Z"
model: gpt-5.4
generated_at: "2026-05-02T05:17:42Z"
model: gpt-5.5
provider: openai
source_hash: fe6d1feadf355579b244ab4187a8d3b8bad661a5605aed906eedf361d6fcae3f
source_hash: 3971bc471e5d8b0f142394b7b1897f8fdb2be283082245fbb2cf744d06143292
source_path: providers/lmstudio.md
workflow: 15
workflow: 16
---
LM Studio — це зручний, але потужний застосунок для запуску open-weight моделей на власному обладнанні. Він дає змогу запускати моделі llama.cpp (GGUF) або MLX (Apple Silicon). Доступний як GUI-пакет або headless daemon (`llmster`). Документацію про продукт і налаштування див. на [lmstudio.ai](https://lmstudio.ai/).
LM Studio — дружній, але потужний застосунок для запуску моделей з відкритими вагами на власному обладнанні. Він дає змогу запускати моделі llama.cpp (GGUF) або MLX (Apple Silicon). Постачається як GUI-пакет або headless daemon (`llmster`). Документацію щодо продукту й налаштування див. на [lmstudio.ai](https://lmstudio.ai/).
## Швидкий старт
@ -25,7 +25,7 @@ curl -fsSL https://lmstudio.ai/install.sh | bash
2. Запустіть сервер
Переконайтеся, що ви або запускаєте desktop-застосунок, або запускаєте daemon такою командою:
Переконайтеся, що ви або запускаєте desktop-застосунок, або запускаєте daemon за допомогою такої команди:
```bash
lms daemon up
@ -35,17 +35,17 @@ lms daemon up
lms server start --port 1234
```
Якщо ви використовуєте застосунок, переконайтеся, що у вас увімкнено JIT для комфортної роботи. Докладніше див. у [посібнику LM Studio JIT and TTL](https://lmstudio.ai/docs/developer/core/ttl-and-auto-evict).
Якщо ви використовуєте застосунок, переконайтеся, що JIT увімкнено для плавної роботи. Докладніше див. у [посібнику LM Studio з JIT і TTL](https://lmstudio.ai/docs/developer/core/ttl-and-auto-evict).
3. Якщо в LM Studio увімкнено автентифікацію, задайте `LM_API_TOKEN`:
3. Якщо автентифікацію LM Studio увімкнено, задайте `LM_API_TOKEN`:
```bash
export LM_API_TOKEN="your-lm-studio-api-token"
```
Якщо автентифікацію LM Studio вимкнено, під час інтерактивного налаштування OpenClaw можна залишити API key порожнім.
Якщо автентифікацію LM Studio вимкнено, під час інтерактивного налаштування OpenClaw можна залишити ключ API порожнім.
Докладніше про налаштування auth у LM Studio див. у [LM Studio Authentication](https://lmstudio.ai/docs/developer/core/authentication).
Докладніше про налаштування автентифікації LM Studio див. у [автентифікації LM Studio](https://lmstudio.ai/docs/developer/core/authentication).
4. Запустіть onboarding і виберіть `LM Studio`:
@ -53,21 +53,21 @@ export LM_API_TOKEN="your-lm-studio-api-token"
openclaw onboard
```
5. Під час onboarding використайте запит `Default model`, щоб вибрати свою модель LM Studio.
5. В onboarding скористайтеся запитом `Default model`, щоб вибрати свою модель LM Studio.
Ви також можете задати або змінити її пізніше:
Також можна встановити або змінити її пізніше:
```bash
openclaw models set lmstudio/qwen/qwen3.5-9b
```
Ключі моделей LM Studio використовують формат `author/model-name` (наприклад, `qwen/qwen3.5-9b`). Посилання на моделі OpenClaw
додають префікс імені провайдера: `lmstudio/qwen/qwen3.5-9b`. Точний ключ моделі
можна знайти, виконавши `curl http://localhost:1234/api/v1/models` і подивившись на поле `key`.
Ключі моделей LM Studio мають формат `author/model-name` (наприклад, `qwen/qwen3.5-9b`). Посилання на моделі OpenClaw
додають на початок назву провайдера: `lmstudio/qwen/qwen3.5-9b`. Точний ключ
моделі можна знайти, виконавши `curl http://localhost:1234/api/v1/models` і переглянувши поле `key`.
## Неінтерактивний onboarding
Використовуйте неінтерактивний onboarding, коли хочете автоматизувати налаштування (CI, provisioning, remote bootstrap):
Використовуйте неінтерактивний onboarding, коли потрібно скриптувати налаштування (CI, provisioning, віддалений bootstrap):
```bash
openclaw onboard \
@ -76,7 +76,7 @@ openclaw onboard \
--auth-choice lmstudio
```
Або вкажіть base URL, модель і необов’язковий API key:
Або вкажіть базову URL-адресу, модель і необов’язковий ключ API:
```bash
openclaw onboard \
@ -88,30 +88,30 @@ openclaw onboard \
--custom-model-id qwen/qwen3.5-9b
```
`--custom-model-id` приймає ключ моделі, який повертає LM Studio (наприклад, `qwen/qwen3.5-9b`), без
`--custom-model-id` приймає ключ моделі у форматі, який повертає LM Studio (наприклад, `qwen/qwen3.5-9b`), без
префікса провайдера `lmstudio/`.
Для автентифікованих серверів LM Studio передайте `--lmstudio-api-key` або задайте `LM_API_TOKEN`.
Для серверів LM Studio без автентифікації не передавайте ключ; OpenClaw збереже локальний несекретний маркер.
Для серверів LM Studio з автентифікацією передайте `--lmstudio-api-key` або задайте `LM_API_TOKEN`.
Для серверів LM Studio без автентифікації пропустіть ключ; OpenClaw зберігає локальний несекретний маркер.
`--custom-api-key` і далі підтримується для сумісності, але для LM Studio краще використовувати `--lmstudio-api-key`.
`--custom-api-key` і надалі підтримується для сумісності, але для LM Studio бажано використовувати `--lmstudio-api-key`.
Це записує `models.providers.lmstudio` і задає модель за замовчуванням як
`lmstudio/<custom-model-id>`. Якщо ви надаєте API key, налаштування також записує
профіль auth `lmstudio:default`.
`lmstudio/<custom-model-id>`. Коли ви надаєте ключ API, налаштування також записує
профіль автентифікації `lmstudio:default`.
Інтерактивне налаштування може запропонувати необов’язкову бажану довжину контексту завантаження та застосовує її до виявлених моделей LM Studio, які воно зберігає в конфігурації.
Конфігурація Plugin LM Studio довіряє налаштованому endpoint LM Studio для запитів моделей, включно з хостами loopback, LAN і tailnet. Ви можете відмовитися від цього, задавши `models.providers.lmstudio.request.allowPrivateNetwork: false`.
Інтерактивне налаштування може запитати необов’язкову бажану довжину контексту завантаження та застосовує її до виявлених моделей LM Studio, які зберігає в конфігурації.
Конфігурація Plugin LM Studio довіряє налаштованому endpoint LM Studio для запитів моделей, зокрема loopback, LAN і tailnet hosts. Ви можете відмовитися від цього, задавши `models.providers.lmstudio.request.allowPrivateNetwork: false`.
## Конфігурація
### Сумісність із використанням потокової передачі
### Сумісність використання streaming
LM Studio сумісний із streaming usage. Коли він не надсилає об’єкт
`usage` у форматі OpenAI, OpenClaw відновлює підрахунок токенів із метаданих у стилі llama.cpp
`timings.prompt_n` / `timings.predicted_n`.
LM Studio сумісний із streaming usage. Коли він не видає об’єкт
`usage` у форматі OpenAI, OpenClaw натомість відновлює лічильники токенів із метаданих
`timings.prompt_n` / `timings.predicted_n` у стилі llama.cpp.
Така сама поведінка streaming usage застосовується до цих локальних backend, сумісних з OpenAI:
Така сама поведінка streaming usage застосовується до цих OpenAI-сумісних локальних backend:
- vLLM
- SGLang
@ -123,11 +123,11 @@ LM Studio сумісний із streaming usage. Коли він не надси
### Сумісність thinking
Коли виявлення `/api/v1/models` у LM Studio повідомляє
специфічні для моделі параметри reasoning, OpenClaw зберігає ці нативні значення в метаданих сумісності моделі. Для
бінарних моделей thinking, які оголошують `allowed_options: ["off", "on"]`,
OpenClaw зіставляє вимкнене thinking з `off`, а ввімкнені рівні `/think` з `on`
замість надсилання значень, специфічних лише для OpenAI, таких як `low` або `medium`.
Коли discovery LM Studio `/api/v1/models` повідомляє специфічні для моделі
параметри reasoning, OpenClaw зберігає ці нативні значення в метаданих сумісності моделі. Для
бінарних thinking-моделей, які оголошують `allowed_options: ["off", "on"]`,
OpenClaw зіставляє вимкнене thinking із `off`, а ввімкнені рівні `/think` з `on`
замість надсилання значень лише для OpenAI, як-от `low` або `medium`.
### Явна конфігурація
@ -156,14 +156,14 @@ OpenClaw зіставляє вимкнене thinking з `off`, а ввімкн
}
```
## Усунення проблем
## Усунення несправностей
### LM Studio не виявляється
### LM Studio не виявлено
Переконайтеся, що LM Studio запущено. Якщо автентифікацію ввімкнено, також задайте `LM_API_TOKEN`:
```bash
# Запуск через desktop-застосунок або в headless-режимі:
# Start via desktop app, or headless:
lms server start --port 1234
```
@ -175,19 +175,34 @@ curl http://localhost:1234/api/v1/models
### Помилки автентифікації (HTTP 401)
Якщо налаштування повідомляє про HTTP 401, перевірте свій API key:
Якщо налаштування повідомляє про HTTP 401, перевірте ключ API:
- Переконайтеся, що `LM_API_TOKEN` збігається з ключем, налаштованим у LM Studio.
- Докладніше про налаштування auth у LM Studio див. у [LM Studio Authentication](https://lmstudio.ai/docs/developer/core/authentication).
- Якщо ваш сервер не вимагає автентифікації, залиште ключ порожнім під час налаштування.
- Перевірте, що `LM_API_TOKEN` збігається з ключем, налаштованим у LM Studio.
- Докладніше про налаштування автентифікації LM Studio див. у [автентифікації LM Studio](https://lmstudio.ai/docs/developer/core/authentication).
- Якщо ваш сервер не потребує автентифікації, залиште ключ порожнім під час налаштування.
### Завантаження моделей just-in-time
### Just-in-time завантаження моделей
LM Studio підтримує завантаження моделей just-in-time (JIT), коли моделі завантажуються під час першого запиту. Переконайтеся, що це ввімкнено, щоб уникнути помилок "Model not loaded".
LM Studio підтримує just-in-time (JIT) завантаження моделей, коли моделі завантажуються під час першого запиту. OpenClaw за замовчуванням попередньо завантажує моделі через нативний endpoint завантаження LM Studio, що допомагає, коли JIT вимкнено. Щоб дозволити JIT, idle TTL і auto-evict поведінці LM Studio керувати життєвим циклом моделі, вимкніть крок попереднього завантаження OpenClaw:
### Хост LM Studio у LAN або tailnet
```json5
{
models: {
providers: {
lmstudio: {
baseUrl: "http://localhost:1234/v1",
api: "openai-completions",
params: { preload: false },
models: [{ id: "qwen/qwen3.5-9b" }],
},
},
},
}
```
Використовуйте доступну адресу хоста LM Studio, збережіть `/v1` і переконайтеся, що LM Studio на тій машині прив’язано не лише до loopback:
### LAN або tailnet хост LM Studio
Використовуйте доступну адресу хоста LM Studio, зберігайте `/v1` і переконайтеся, що LM Studio на цій машині прив’язано не лише до loopback:
```json5
{
@ -204,9 +219,9 @@ LM Studio підтримує завантаження моделей just-in-tim
}
```
На відміну від загальних провайдерів, сумісних з OpenAI, `lmstudio` автоматично довіряє своєму налаштованому локальному/приватному endpoint для захищених запитів моделей. Власні ID провайдерів loopback, такі як `localhost` або `127.0.0.1`, також автоматично вважаються довіреними; для власних ID провайдерів у LAN, tailnet або приватному DNS явно задайте `models.providers.<id>.request.allowPrivateNetwork: true`.
На відміну від generic OpenAI-compatible провайдерів, `lmstudio` автоматично довіряє своєму налаштованому локальному/приватному endpoint для захищених запитів моделей. Користувацькі ID loopback-провайдерів, як-от `localhost` або `127.0.0.1`, також автоматично вважаються довіреними; для LAN, tailnet або private DNS користувацьких ID провайдерів явно задайте `models.providers.<id>.request.allowPrivateNetwork: true`.
## Пов’язані теми
## Пов’язане
- [Вибір моделі](/uk/concepts/model-providers)
- [Ollama](/uk/providers/ollama)

View File

@ -1,16 +1,16 @@
---
read_when:
- Вам потрібен зрозумілий для початківців покроковий огляд TUI
- Вам потрібен повний список можливостей, команд і клавіатурних скорочень TUI
- Вам потрібен зрозумілий для початківців покроковий посібник із TUI
- Потрібен повний список функцій, команд і комбінацій клавіш TUI
summary: 'Термінальний інтерфейс користувача (TUI): підключення до Gateway або локальний запуск у вбудованому режимі'
title: TUI
x-i18n:
generated_at: "2026-04-27T06:29:42Z"
model: gpt-5.4
generated_at: "2026-05-02T05:17:38Z"
model: gpt-5.5
provider: openai
source_hash: 5caca4b3f4df02ce1226a8ed0d759023464e5b0752b9cd1b7922b20099d58df1
source_hash: 5c13268991bf11eece9984f21eb959e7a5fab7071be6dc3a47855b525bfe80d8
source_path: web/tui.md
workflow: 15
workflow: 16
---
## Швидкий старт
@ -45,63 +45,64 @@ openclaw tui --url ws://<host>:<port> --token <gateway-token>
```bash
openclaw chat
# або
# or
openclaw tui --local
```
Примітки:
- `openclaw chat` і `openclaw terminal` — це псевдоніми для `openclaw tui --local`.
- `openclaw chat` і `openclaw terminal` є псевдонімами для `openclaw tui --local`.
- `--local` не можна поєднувати з `--url`, `--token` або `--password`.
- Локальний режим напряму використовує вбудоване середовище виконання агента. Більшість локальних інструментів працює, але функції, доступні лише через Gateway, недоступні.
- `openclaw` і `openclaw crestodian` також використовують цю оболонку TUI, при цьому Crestodian виступає як локальний бекенд для чату налаштування й відновлення.
- Локальний режим використовує вбудоване середовище виконання агента напряму. Більшість локальних інструментів працюють, але функції, доступні лише через Gateway, недоступні.
- `openclaw` і `openclaw crestodian` також використовують цю оболонку TUI, а Crestodian є локальним чат-бекендом для налаштування та відновлення.
## Що ви бачите
- Заголовок: URL підключення, поточний агент, поточний сеанс.
- Журнал чату: повідомлення користувача, відповіді помічника, системні сповіщення, картки інструментів.
- Рядок стану: стан підключення/запуску (`connecting`, `running`, `streaming`, `idle`, `error`).
- Нижній колонтитул: стан підключення + агент + сеанс + модель + think/fast/verbose/trace/reasoning + лічильники токенів + deliver.
- Поле вводу: текстовий редактор з автодоповненням.
- Заголовок: URL підключення, поточний агент, поточна сесія.
- Журнал чату: повідомлення користувача, відповіді асистента, системні сповіщення, картки інструментів.
- Рядок стану: стан підключення/запуску (підключення, виконання, потокове передавання, бездіяльність, помилка).
- Нижній колонтитул: стан підключення + агент + сесія + модель + міркування/швидкий режим/докладність/трасування/reasoning + кількість токенів + доставка.
- Введення: текстовий редактор з автодоповненням.
## Ментальна модель: агенти + сеанси
## Ментальна модель: агенти + сесії
- Агенти — це унікальні slug-и (наприклад, `main`, `research`). Gateway надає їх список.
- Сеанси належать поточному агенту.
- Ключі сеансів зберігаються як `agent:<agentId>:<sessionKey>`.
- Якщо ви введете `/session main`, TUI розгорне це в `agent:<currentAgent>:main`.
- Якщо ви введете `/session agent:other:main`, ви явно переключитеся на сеанс того агента.
- Область дії сеансу:
- `per-sender` (типово): кожен агент має багато сеансів.
- `global`: TUI завжди використовує сеанс `global` (picker може бути порожнім).
- Поточний агент + сеанс завжди видно в нижньому колонтитулі.
- Агенти — це унікальні слаги (наприклад, `main`, `research`). Gateway надає список.
- Сесії належать поточному агенту.
- Ключі сесій зберігаються як `agent:<agentId>:<sessionKey>`.
- Якщо ви введете `/session main`, TUI розгорне це до `agent:<currentAgent>:main`.
- Якщо ви введете `/session agent:other:main`, ви явно перемкнетеся на сесію цього агента.
- Область сесії:
- `per-sender` (за замовчуванням): кожен агент має багато сесій.
- `global`: TUI завжди використовує сесію `global` (вибір може бути порожнім).
- Поточний агент + сесія завжди видимі в нижньому колонтитулі.
- Коли TUI у режимі Gateway запускається без `--session`, він відновлює останню вибрану сесію для того самого gateway, агента й області сесії, якщо ця сесія ще існує. Передавання `--session`, `/session`, `/new` або `/reset` залишається явною дією.
## Надсилання + доставка
- Повідомлення надсилаються до Gateway; доставка провайдерам типово вимкнена.
- Увімкнути доставку:
- Повідомлення надсилаються до Gateway; доставка провайдерам за замовчуванням вимкнена.
- Увімкніть доставку:
- `/deliver on`
- або через панель Settings
- або запустити з `openclaw tui --deliver`
- або панель налаштувань
- або запустіть з `openclaw tui --deliver`
## Picker-и + оверлеї
## Вибір + накладки
- Picker моделі: перелік доступних моделей і встановлення перевизначення для сеансу.
- Picker агента: вибір іншого агента.
- Picker сеансу: показує лише сеанси поточного агента.
- Settings: перемикання доставки, розгортання виводу інструментів і видимості thinking.
- Вибір моделі: список доступних моделей і встановлення перевизначення для сесії.
- Вибір агента: виберіть іншого агента.
- Вибір сесії: показує лише сесії для поточного агента.
- Налаштування: перемикайте доставку, розгортання виводу інструментів і видимість міркувань.
## Клавіатурні скорочення
- Enter: надіслати повідомлення
- Esc: перервати активний запуск
- Ctrl+C: очистити поле вводу (натисніть двічі для виходу)
- Ctrl+C: очистити введення (натисніть двічі, щоб вийти)
- Ctrl+D: вийти
- Ctrl+L: picker моделі
- Ctrl+G: picker агента
- Ctrl+P: picker сеансу
- Ctrl+L: вибір моделі
- Ctrl+G: вибір агента
- Ctrl+P: вибір сесії
- Ctrl+O: перемкнути розгортання виводу інструментів
- Ctrl+T: перемкнути видимість thinking (перезавантажує історію)
- Ctrl+T: перемкнути видимість міркувань (перезавантажує історію)
## Команди зі скісною рискою
@ -113,7 +114,7 @@ openclaw tui --local
- `/session <key>` (або `/sessions`)
- `/model <provider/model>` (або `/models`)
Керування сеансом:
Керування сесією:
- `/think <off|minimal|low|medium|high>`
- `/fast <status|on|off>`
@ -125,9 +126,9 @@ openclaw tui --local
- `/activation <mention|always>`
- `/deliver <on|off>`
Життєвий цикл сеансу:
Життєвий цикл сесії:
- `/new` або `/reset` (скинути сеанс)
- `/new` або `/reset` (скинути сесію)
- `/abort` (перервати активний запуск)
- `/settings`
- `/exit`
@ -138,22 +139,23 @@ openclaw tui --local
Інші команди Gateway зі скісною рискою (наприклад, `/context`) пересилаються до Gateway і показуються як системний вивід. Див. [Команди зі скісною рискою](/uk/tools/slash-commands).
## Локальні shell-команди
## Локальні команди оболонки
- Додайте `!` на початку рядка, щоб виконати локальну shell-команду на хості TUI.
- TUI один раз за сеанс запитує дозвіл на локальне виконання; якщо відмовити, `!` залишиться вимкненим для цього сеансу.
- Команди виконуються в новій неінтерактивній shell у робочому каталозі TUI (без постійного `cd`/env).
- Локальні shell-команди отримують у середовищі `OPENCLAW_SHELL=tui-local`.
- Окремий символ `!` надсилається як звичайне повідомлення; початкові пробіли не запускають локальне виконання.
- Додайте `!` на початку рядка, щоб виконати локальну команду оболонки на хості TUI.
- TUI один раз за сесію запитує дозвіл на локальне виконання; відмова залишає `!` вимкненим для сесії.
- Команди виконуються у свіжій неінтерактивній оболонці в робочому каталозі TUI (без постійного `cd`/env).
- Локальні команди оболонки отримують `OPENCLAW_SHELL=tui-local` у своєму середовищі.
- Одинокий `!` надсилається як звичайне повідомлення; початкові пробіли не запускають локальне виконання.
## Виправлення конфігурацій з локального TUI
## Відновлення конфігурацій із локального TUI
Використовуйте локальний режим, коли поточна конфігурація вже проходить валідацію і ви хочете, щоб
вбудований агент перевірив її на тій самій машині, порівняв з документацією
і допоміг виправити дрейф без залежності від запущеного Gateway.
Використовуйте локальний режим, коли поточна конфігурація вже проходить перевірку, і ви хочете, щоб
вбудований агент перевірив її на тому самому комп’ютері, порівняв із документацією
та допоміг виправити розходження без залежності від запущеного Gateway.
Якщо `openclaw config validate` уже завершується помилкою, спочатку використайте `openclaw configure`
або `openclaw doctor --fix`. `openclaw chat` не обходить захист від недійсної конфігурації.
Якщо `openclaw config validate` вже завершується помилкою, спочатку запустіть `openclaw configure`
або `openclaw doctor --fix`. `openclaw chat` не обходить захист від недійсної
конфігурації.
Типовий цикл:
@ -163,13 +165,13 @@ openclaw tui --local
openclaw chat
```
2. Попросіть агента перевірити те, що вам потрібно, наприклад:
2. Запитайте агента, що потрібно перевірити, наприклад:
```text
Порівняй мою конфігурацію автентифікації gateway з документацією і запропонуй найменше виправлення.
Compare my gateway auth config with the docs and suggest the smallest fix.
```
3. Використовуйте локальні shell-команди для точних доказів і валідації:
3. Використовуйте локальні команди оболонки для точних доказів і перевірки:
```text
!openclaw config file
@ -178,31 +180,31 @@ openclaw chat
!openclaw doctor
```
4. Застосуйте точкові зміни через `openclaw config set` або `openclaw configure`, а потім знову виконайте `!openclaw config validate`.
5. Якщо Doctor рекомендує автоматичну міграцію або виправлення, перегляньте рекомендацію й виконайте `!openclaw doctor --fix`.
4. Застосуйте вузькі зміни за допомогою `openclaw config set` або `openclaw configure`, потім повторно запустіть `!openclaw config validate`.
5. Якщо Doctor рекомендує автоматичну міграцію або відновлення, перегляньте її та запустіть `!openclaw doctor --fix`.
Поради:
- Віддавайте перевагу `openclaw config set` або `openclaw configure` замість ручного редагування `openclaw.json`.
- `openclaw docs "<query>"` виконує пошук у live-індексі документації з тієї самої машини.
- `openclaw config validate --json` корисно, коли вам потрібні структуровані помилки схеми та SecretRef/доступності.
- `openclaw docs "<query>"` шукає в актуальному індексі документації з того самого комп’ютера.
- `openclaw config validate --json` корисна, коли потрібні структурована схема та помилки SecretRef/розв’язуваності.
## Вивід інструментів
- Виклики інструментів показуються як картки з аргументами та результатами.
- Виклики інструментів показуються як картки з аргументами + результатами.
- Ctrl+O перемикає між згорнутим і розгорнутим виглядом.
- Поки інструменти працюють, часткові оновлення транслюються в ту саму картку.
- Під час виконання інструментів часткові оновлення передаються в ту саму картку.
## Кольори термінала
- TUI зберігає основний текст помічника у стандартному кольорі переднього плану вашого термінала, щоб і темні, і світлі термінали залишалися читабельними.
- Якщо ваш термінал має світле тло й автовизначення спрацьовує неправильно, перед запуском `openclaw tui` задайте `OPENCLAW_THEME=light`.
- Щоб примусово повернути початкову темну палітру, задайте `OPENCLAW_THEME=dark`.
- TUI залишає основний текст асистента у стандартному кольорі переднього плану вашого термінала, щоб він залишався читабельним і в темних, і у світлих терміналах.
- Якщо ваш термінал використовує світле тло, а автовизначення помиляється, установіть `OPENCLAW_THEME=light` перед запуском `openclaw tui`.
- Щоб натомість примусово використати початкову темну палітру, установіть `OPENCLAW_THEME=dark`.
## Історія + streaming
## Історія + потокове передавання
- Під час підключення TUI завантажує останню історію (типово 200 повідомлень).
- Streaming-відповіді оновлюються на місці до остаточного завершення.
- Після підключення TUI завантажує останню історію (за замовчуванням 200 повідомлень).
- Потокові відповіді оновлюються на місці до завершення.
- TUI також слухає події інструментів агента для багатших карток інструментів.
## Деталі підключення
@ -210,41 +212,41 @@ openclaw chat
- TUI реєструється в Gateway як `mode: "tui"`.
- Повторні підключення показують системне повідомлення; прогалини в подіях відображаються в журналі.
## Параметри
## Опції
- `--local`: Запускати з локальним вбудованим середовищем виконання агента
- `--url <url>`: URL WebSocket Gateway (типово з config або `ws://127.0.0.1:<port>`)
- `--token <token>`: Токен Gateway (за потреби)
- `--password <password>`: Пароль Gateway (за потреби)
- `--session <key>`: Ключ сеансу (типово: `main`, або `global`, коли область дії глобальна)
- `--deliver`: Доставляти відповіді помічника провайдеру (типово вимкнено)
- `--thinking <level>`: Перевизначити рівень thinking для надсилань
- `--message <text>`: Надіслати початкове повідомлення після підключення
- `--timeout-ms <ms>`: Тайм-аут агента в мс (типово з `agents.defaults.timeoutSeconds`)
- `--history-limit <n>`: Кількість записів історії для завантаження (типово `200`)
- `--local`: запускати з локальним вбудованим середовищем виконання агента
- `--url <url>`: URL WebSocket Gateway (за замовчуванням із конфігурації або `ws://127.0.0.1:<port>`)
- `--token <token>`: токен Gateway (якщо потрібен)
- `--password <password>`: пароль Gateway (якщо потрібен)
- `--session <key>`: ключ сесії (за замовчуванням: `main`, або `global`, коли область глобальна)
- `--deliver`: доставляти відповіді асистента провайдеру (за замовчуванням вимкнено)
- `--thinking <level>`: перевизначити рівень міркувань для надсилань
- `--message <text>`: надіслати початкове повідомлення після підключення
- `--timeout-ms <ms>`: тайм-аут агента в мс (за замовчуванням `agents.defaults.timeoutSeconds`)
- `--history-limit <n>`: кількість записів історії для завантаження (за замовчуванням `200`)
<Warning>
Коли ви задаєте `--url`, TUI не повертається до config або облікових даних із середовища. Передайте `--token` або `--password` явно. Відсутність явних облікових даних є помилкою. У локальному режимі не передавайте `--url`, `--token` або `--password`.
Коли ви задаєте `--url`, TUI не повертається до конфігурації або облікових даних із середовища. Передавайте `--token` або `--password` явно. Відсутність явних облікових даних є помилкою. У локальному режимі не передавайте `--url`, `--token` або `--password`.
</Warning>
## Усунення несправностей
Немає виводу після надсилання повідомлення:
- Виконайте `/status` у TUI, щоб підтвердити, що Gateway підключений і перебуває в стані idle/busy.
- Запустіть `/status` у TUI, щоб підтвердити, що Gateway підключений і перебуває в стані бездіяльності/зайнятості.
- Перевірте журнали Gateway: `openclaw logs --follow`.
- Переконайтеся, що агент може працювати: `openclaw status` і `openclaw models status`.
- Якщо ви очікуєте повідомлення в чат-каналі, увімкніть доставку (`/deliver on` або `--deliver`).
- Підтвердьте, що агент може запускатися: `openclaw status` і `openclaw models status`.
- Якщо ви очікуєте повідомлення в каналі чату, увімкніть доставку (`/deliver on` або `--deliver`).
## Усунення проблем із підключенням
## Усунення несправностей підключення
- `disconnected`: переконайтеся, що Gateway запущений і ваші `--url/--token/--password` правильні.
- У picker немає агентів: перевірте `openclaw agents list` і вашу конфігурацію маршрутизації.
- Порожній picker сеансів: можливо, ви в глобальній області дії або ще не маєте сеансів.
- `disconnected`: переконайтеся, що Gateway запущений, а ваші `--url/--token/--password` правильні.
- Немає агентів у виборі: перевірте `openclaw agents list` і вашу конфігурацію маршрутизації.
- Порожній вибір сесій: можливо, ви перебуваєте в глобальній області або ще не маєте сесій.
## Пов’язане
- [Control UI](/uk/web/control-ui) — вебінтерфейс керування
- [Config](/uk/cli/config) — перегляд, валідація та редагування `openclaw.json`
- [Doctor](/uk/cli/doctor) — керовані перевірки відновлення й міграції
- [Довідка CLI](/uk/cli) — повна довідка з команд CLI
- [Control UI](/uk/web/control-ui) — веб-інтерфейс керування
- [Конфігурація](/uk/cli/config) — перегляд, перевірка й редагування `openclaw.json`
- [Doctor](/uk/cli/doctor) — кероване відновлення та перевірки міграції
- [Довідник CLI](/uk/cli) — повний довідник команд CLI

View File

@ -1,77 +1,92 @@
---
read_when:
- Налагодження або налаштування доступу до WebChat
summary: Статичний хостинг WebChat у loopback і використання Gateway WS для інтерфейсу чату
title: WebChat
summary: Статичний хост Loopback WebChat і використання Gateway WS для інтерфейсу чату
title: Вебчат
x-i18n:
generated_at: "2026-04-27T19:49:02Z"
model: gpt-5.4
generated_at: "2026-05-02T05:17:39Z"
model: gpt-5.5
provider: openai
source_hash: d8a4fef0aab37ca82bff249c6b31eb65475f12c16dfb9b86ddd62c1a938a34f3
source_hash: fe6d3cb30ed18d651b0d0ca8fd188b47c5f1d186410ee340deb79315f194ed8d
source_path: web/webchat.md
workflow: 15
workflow: 16
---
Статус: інтерфейс чату SwiftUI для macOS/iOS напряму взаємодіє з Gateway WebSocket.
Стан: macOS/iOS SwiftUI чат-інтерфейс напряму взаємодіє з Gateway WebSocket.
## Що це таке
- Нативний інтерфейс чату для gateway (без вбудованого браузера і без локального статичного сервера).
- Використовує ті самі сеанси й правила маршрутизації, що й інші канали.
- Нативний чат-інтерфейс для Gateway (без вбудованого браузера й без локального статичного сервера).
- Використовує ті самі сесії та правила маршрутизації, що й інші канали.
- Детермінована маршрутизація: відповіді завжди повертаються до WebChat.
## Швидкий старт
1. Запустіть gateway.
2. Відкрийте інтерфейс WebChat (застосунок macOS/iOS) або вкладку чату в Control UI.
3. Переконайтеся, що налаштовано дійсний шлях автентифікації gateway (типово — shared-secret, навіть у loopback).
1. Запустіть Gateway.
2. Відкрийте WebChat UI (macOS/iOS застосунок) або вкладку чату Control UI.
3. Переконайтеся, що налаштовано чинний шлях автентифікації Gateway (типово shared-secret,
навіть на loopback).
## Як це працює (поведінка)
- Інтерфейс підключається до Gateway WebSocket і використовує `chat.history`, `chat.send` і `chat.inject`.
- `chat.history` обмежений для стабільності: Gateway може обрізати довгі текстові поля, пропускати важкі метадані та замінювати надто великі записи на `[chat.history omitted: message too large]`.
- `chat.history` дотримується активної гілки транскрипту для сучасних append-only файлів сеансу, тож покинуті гілки перезапису й витіснені копії промптів не відображаються у WebChat.
- Control UI об’єднує дублікати поточних відправлень для того самого сеансу, повідомлення й вкладень перед створенням нового run id для `chat.send`; Gateway усе одно дедуплікує повторні запити, що повторно використовують той самий idempotency key.
- `chat.history` також нормалізується для відображення: з видимого тексту прибираються контекст OpenClaw лише для runtime, обгортки вхідних конвертів, вбудовані теги директив доставки на кшталт `[[reply_to_*]]` і `[[audio_as_voice]]`, XML-пейлоади викликів інструментів у plain text (зокрема `<tool_call>...</tool_call>`, `<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`, `<function_calls>...</function_calls>` і обрізані блоки викликів інструментів), а також ASCII/full-width токени керування моделі, що просочилися; записи помічника, весь видимий текст яких складається лише з точного silent token `NO_REPLY` / `no_reply`, пропускаються.
- Пейлоади відповідей, позначені як reasoning (`isReasoning: true`), виключаються з вмісту повідомлень помічника у WebChat, тексту повторного відтворення транскрипту та аудіоблоків, щоб пейлоади лише з міркуваннями не з’являлися як видимі повідомлення помічника або відтворюване аудіо.
- `chat.inject` напряму додає нотатку помічника до транскрипту й транслює її в інтерфейс (без запуску агента).
- Перервані запуски можуть залишати частковий вивід помічника видимим в інтерфейсі.
- Gateway зберігає частковий текст помічника з перерваних запусків в історії транскрипту, коли існує буферизований вивід, і позначає такі записи метаданими переривання.
- Історія завжди отримується з gateway (без локального відстеження файлів).
- Якщо gateway недосяжний, WebChat доступний лише для читання.
- UI підключається до Gateway WebSocket і використовує `chat.history`, `chat.send` та `chat.inject`.
- `chat.history` обмежено для стабільності: Gateway може обрізати довгі текстові поля, пропускати важкі метадані та замінювати завеликі записи на `[chat.history omitted: message too large]`.
- `chat.history` дотримується активної гілки транскрипту для сучасних append-only файлів сесій, тож покинуті гілки перезапису й замінені копії промптів не відображаються у WebChat.
- Control UI запам’ятовує базовий Gateway `sessionId`, повернений `chat.history`, і додає його до наступних викликів `chat.send`, тож повторні підключення та оновлення сторінки продовжують ту саму збережену розмову, якщо користувач не починає або не скидає сесію.
- Control UI об’єднує дублікати відправлень у процесі виконання для тієї самої сесії, повідомлення й вкладень перед створенням нового ідентифікатора запуску `chat.send`; Gateway усе одно дедуплікує повторні запити, які повторно використовують той самий ключ ідемпотентності.
- `chat.history` також нормалізується для відображення: контекст OpenClaw лише часу виконання,
вхідні обгортки envelope, inline-теги директив доставки
на кшталт `[[reply_to_*]]` і `[[audio_as_voice]]`, plain-text XML-навантаження
викликів інструментів (зокрема `<tool_call>...</tool_call>`,
`<function_call>...</function_call>`, `<tool_calls>...</tool_calls>`,
`<function_calls>...</function_calls>` і обрізані блоки викликів інструментів), а також
просочені ASCII/full-width керівні токени моделі вилучаються з видимого тексту,
а записи асистента, весь видимий текст яких є лише точним silent-токеном
`NO_REPLY` / `no_reply`, пропускаються.
- Навантаження відповідей із прапорцем reasoning (`isReasoning: true`) вилучаються з вмісту асистента у WebChat, тексту відтворення транскрипту та аудіоблоків, тож thinking-only навантаження не з’являються як видимі повідомлення асистента або відтворюване аудіо.
- `chat.inject` додає примітку асистента безпосередньо до транскрипту й транслює її в UI (без запуску агента).
- Перервані запуски можуть залишати частковий вивід асистента видимим в UI.
- Gateway зберігає перерваний частковий текст асистента в історії транскрипту, коли буферизований вивід існує, і позначає ці записи метаданими переривання.
- Історія завжди отримується з Gateway (без локального спостереження за файлами).
- Якщо Gateway недоступний, WebChat працює лише для читання.
## Панель інструментів агентів у Control UI
## Панель інструментів агентів Control UI
- Панель Tools у розділі `/agents` в Control UI має два окремі подання:
- **Доступно зараз** використовує `tools.effective(sessionKey=...)` і показує, що поточний сеанс справді може використовувати під час runtime, зокрема інструменти, що належать core, Plugin і каналу.
- **Конфігурація інструментів** використовує `tools.catalog` і залишається зосередженою на профілях, перевизначеннях і семантиці каталогу.
- Доступність під час runtime прив’язана до сеансу. Перемикання між сеансами на тому самому агенті може змінити список **Доступно зараз**.
- Редактор конфігурації не означає доступність під час runtime; фактичний доступ і далі визначається пріоритетом політик (`allow`/`deny`, перевизначеннями для окремого агента та provider/channel).
- Панель інструментів Control UI `/agents` має два окремі подання:
- **Доступно прямо зараз** використовує `tools.effective(sessionKey=...)` і показує, що поточна
сесія фактично може використовувати під час виконання, зокрема інструменти ядра, Plugin і каналу.
- **Конфігурація інструментів** використовує `tools.catalog` і зосереджується на профілях, перевизначеннях і
семантиці каталогу.
- Доступність під час виконання обмежена сесією. Перемикання сесій на тому самому агенті може змінити
список **Доступно прямо зараз**.
- Редактор конфігурації не означає доступність під час виконання; ефективний доступ усе одно дотримується пріоритету політик
(`allow`/`deny`, перевизначення для окремого агента й провайдера/каналу).
## Віддалене використання
- Віддалений режим тунелює Gateway WebSocket через SSH/Tailscale.
- Вам не потрібно запускати окремий сервер WebChat.
## Довідник з конфігурації (WebChat)
## Довідник конфігурації (WebChat)
Повна конфігурація: [Конфігурація](/uk/gateway/configuration)
Параметри WebChat:
Опції WebChat:
- `gateway.webchat.chatHistoryMaxChars`: максимальна кількість символів для текстових полів у відповідях `chat.history`. Коли запис транскрипту перевищує цей ліміт, Gateway обрізає довгі текстові поля й може замінювати надто великі повідомлення плейсхолдером. Клієнт також може передати `maxChars` у запиті, щоб перевизначити це значення за замовчуванням для одного виклику `chat.history`.
- `gateway.webchat.chatHistoryMaxChars`: максимальна кількість символів для текстових полів у відповідях `chat.history`. Коли запис транскрипту перевищує цей ліміт, Gateway обрізає довгі текстові поля й може замінювати завеликі повідомлення заповнювачем. Клієнт також може надіслати `maxChars` у конкретному запиті, щоб перевизначити це типове значення для одного виклику `chat.history`.
Пов’язані глобальні параметри:
Пов’язані глобальні опції:
- `gateway.port`, `gateway.bind`: хост/порт WebSocket.
- `gateway.auth.mode`, `gateway.auth.token`, `gateway.auth.password`:
автентифікація WebSocket через shared-secret.
- `gateway.auth.allowTailscale`: вкладка чату браузерного Control UI може використовувати заголовки ідентифікації Tailscale Serve, якщо це ввімкнено.
- `gateway.auth.mode: "trusted-proxy"`: автентифікація через reverse proxy для браузерних клієнтів за identity-aware **не-loopback** джерелом proxy (див. [Автентифікація Trusted Proxy](/uk/gateway/trusted-proxy-auth)).
- `gateway.remote.url`, `gateway.remote.token`, `gateway.remote.password`: цільовий віддалений gateway.
- `session.*`: сховище сеансів і типові значення основного ключа.
- `gateway.auth.allowTailscale`: вкладка чату браузерного Control UI може використовувати
заголовки ідентичності Tailscale Serve, коли це ввімкнено.
- `gateway.auth.mode: "trusted-proxy"`: автентифікація через reverse-proxy для браузерних клієнтів за identity-aware **non-loopback** джерелом проксі (див. [Автентифікація Trusted Proxy](/uk/gateway/trusted-proxy-auth)).
- `gateway.remote.url`, `gateway.remote.token`, `gateway.remote.password`: ціль віддаленого Gateway.
- `session.*`: сховище сесій і типові значення головного ключа.
## Пов’язане
- [Control UI](/uk/web/control-ui)
- [Панель керування](/uk/web/dashboard)
- [Dashboard](/uk/web/dashboard)