From a88039dd040c741b3cdb35ff0cb0a3cc912228da Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Fri, 24 Apr 2026 15:14:50 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/concepts/model-providers.md | 241 ++++++++++++------------- docs/uk/pi.md | 269 ++++++++++++++-------------- docs/uk/providers/deepseek.md | 52 +++--- 3 files changed, 282 insertions(+), 280 deletions(-) diff --git a/docs/uk/concepts/model-providers.md b/docs/uk/concepts/model-providers.md index 0358d011c..18e599489 100644 --- a/docs/uk/concepts/model-providers.md +++ b/docs/uk/concepts/model-providers.md @@ -1,62 +1,62 @@ --- read_when: - - Потрібен довідник із налаштування моделей для кожного постачальника окремо - - Вам потрібні приклади конфігурацій або команди онбордингу CLI для постачальників моделей + - Вам потрібен довідник із налаштування моделей для кожного постачальника окремо + - Вам потрібні приклади конфігурацій або команд онбордингу CLI для постачальників моделей summary: Огляд постачальника моделей із прикладами конфігурацій + потоками CLI title: Постачальники моделей x-i18n: - generated_at: "2026-04-24T05:42:13Z" + generated_at: "2026-04-24T15:13:05Z" model: gpt-5.4 provider: openai - source_hash: ac9bf48897446576d8bc339b340295691741a589863bb57b379c17a5519bffd7 + source_hash: 79258cb26fae7926c65b6fe0db938c7b5736a540b33bc24c1fad5ad706ac8204 source_path: concepts/model-providers.md workflow: 15 --- Ця сторінка охоплює **постачальників LLM/моделей** (а не чат-канали на кшталт WhatsApp/Telegram). -Правила вибору моделей див. у [/concepts/models](/uk/concepts/models). +Правила вибору моделей дивіться в [/concepts/models](/uk/concepts/models). ## Швидкі правила -- Посилання на моделі використовують `provider/model` (приклад: `opencode/claude-opus-4-6`). -- `agents.defaults.models` працює як allowlist, коли його задано. -- Допоміжні команди CLI: `openclaw onboard`, `openclaw models list`, `openclaw models set `. -- `models.providers.*.models[].contextWindow` — це нативні метадані моделі; `contextTokens` — це фактичне обмеження середовища виконання. -- Правила резервного перемикання, перевірки cooldown і збереження перевизначень сеансу: [Відмовостійкість моделей](/uk/concepts/model-failover). -- Маршрути сімейства OpenAI залежать від префікса: `openai/` використовує прямого постачальника API-ключа OpenAI у PI, `openai-codex/` використовує OAuth Codex у PI, а `openai/` разом із `agents.defaults.embeddedHarness.runtime: "codex"` використовує нативний harness app-server Codex. Див. [OpenAI](/uk/providers/openai) і [Codex harness](/uk/plugins/codex-harness). -- Автоматичне ввімкнення Plugin дотримується цієї ж межі: `openai-codex/` належить до Plugin OpenAI, тоді як Plugin Codex вмикається через `embeddedHarness.runtime: "codex"` або застарілі посилання `codex/`. -- GPT-5.5 наразі доступна через маршрути підписки/OAuth: `openai-codex/gpt-5.5` у PI або `openai/gpt-5.5` з harness app-server Codex. Прямий маршрут API-ключа для `openai/gpt-5.5` підтримується, щойно OpenAI увімкне GPT-5.5 у публічному API; до того часу використовуйте моделі з доступом через API, як-от `openai/gpt-5.4`, для конфігурацій `OPENAI_API_KEY`. +- Посилання на моделі використовують формат `provider/model` (приклад: `opencode/claude-opus-4-6`). +- `agents.defaults.models` працює як список дозволених значень, якщо його задано. +- Допоміжні CLI-команди: `openclaw onboard`, `openclaw models list`, `openclaw models set `. +- `models.providers.*.models[].contextWindow` — це власні метадані моделі; `contextTokens` — це фактичне обмеження середовища виконання. +- Правила резервного перемикання, перевірки cooldown і збереження перевизначення сесії: [Перемикання моделей при збої](/uk/concepts/model-failover). +- Маршрути сімейства OpenAI залежать від префікса: `openai/` використовує прямого постачальника API-ключа OpenAI у PI, `openai-codex/` використовує OAuth Codex у PI, а `openai/` разом із `agents.defaults.embeddedHarness.runtime: "codex"` використовує нативний app-server harness Codex. Дивіться [OpenAI](/uk/providers/openai) і [Codex harness](/uk/plugins/codex-harness). +- Автоматичне ввімкнення Plugin дотримується тієї самої межі: `openai-codex/` належить Plugin OpenAI, тоді як Plugin Codex вмикається через `embeddedHarness.runtime: "codex"` або застарілі посилання `codex/`. +- GPT-5.5 наразі доступна через маршрути підписки/OAuth: `openai-codex/gpt-5.5` у PI або `openai/gpt-5.5` із harness app-server Codex. Прямий маршрут API-ключа для `openai/gpt-5.5` підтримується, щойно OpenAI увімкне GPT-5.5 у публічному API; до того часу використовуйте моделі, доступні через API, наприклад `openai/gpt-5.4`, для конфігурацій `OPENAI_API_KEY`. ## Поведінка постачальників, що належить Plugin -Більшість специфічної для постачальника логіки живе в Plugin постачальників (`registerProvider(...)`), тоді як OpenClaw зберігає загальний цикл інференсу. Plugin відповідають за онбординг, каталоги моделей, зіставлення auth env-var, нормалізацію транспорту/конфігурації, очищення схем інструментів, класифікацію failover, оновлення OAuth, звітування про використання, профілі thinking/reasoning тощо. +Більшість логіки, специфічної для постачальника, живе в Plugin постачальників (`registerProvider(...)`), тоді як OpenClaw зберігає загальний цикл інференсу. Plugin відповідають за онбординг, каталоги моделей, зіставлення auth env var, нормалізацію транспорту/конфігурації, очищення схем інструментів, класифікацію збоїв для резервного перемикання, оновлення OAuth, звітність про використання, профілі thinking/reasoning та інше. -Повний список хуків provider-SDK і приклади вбудованих Plugin наведено в [Plugin постачальників](/uk/plugins/sdk-provider-plugins). Постачальник, якому потрібен повністю власний виконавець запитів, є окремою, глибшою поверхнею розширення. +Повний список хуків SDK постачальників і прикладів вбудованих Plugin наведено в [Provider plugins](/uk/plugins/sdk-provider-plugins). Постачальник, якому потрібен повністю власний виконавець запитів, є окремою, глибшою поверхнею розширення. -Runtime `capabilities` постачальника — це спільні метадані раннера (сімейство постачальника, особливості transcript/tooling, підказки для транспорту/кешу). Це не те саме, що [публічна модель можливостей](/uk/plugins/architecture#public-capability-model), яка описує, що реєструє Plugin (текстовий інференс, мовлення тощо). +Середовище виконання постачальника `capabilities` — це спільні метадані раннера (сімейство постачальника, особливості transcript/tooling, підказки для transport/cache). Це не те саме, що [публічна модель capability](/uk/plugins/architecture#public-capability-model), яка описує, що реєструє Plugin (текстовий інференс, мовлення тощо). ## Ротація API-ключів -- Підтримує загальну ротацію постачальників для вибраних постачальників. +- Підтримує загальну ротацію ключів постачальника для вибраних постачальників. - Налаштуйте кілька ключів через: - `OPENCLAW_LIVE__KEY` (одне live-перевизначення, найвищий пріоритет) - `_API_KEYS` (список через кому або крапку з комою) - `_API_KEY` (основний ключ) - `_API_KEY_*` (нумерований список, наприклад `_API_KEY_1`) -- Для постачальників Google як fallback також включається `GOOGLE_API_KEY`. -- Порядок вибору ключів зберігає пріоритет і прибирає дублікати значень. -- Запити повторюються з наступним ключем лише у відповідь на rate-limit помилки (наприклад, `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many +- Для постачальників Google `GOOGLE_API_KEY` також включається як резервний варіант. +- Порядок вибору ключів зберігає пріоритет і усуває дублікати значень. +- Запити повторюються з наступним ключем лише у відповідях із перевищенням ліміту запитів (наприклад, `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded` або періодичні повідомлення про ліміт використання). -- Помилки, не пов’язані з rate-limit, завершуються негайно; ротація ключів не виконується. -- Коли всі доступні ключі не спрацьовують, повертається фінальна помилка з останньої спроби. +- Помилки, не пов’язані з лімітом запитів, завершуються негайно; ротація ключів не виконується. +- Коли всі можливі ключі завершуються невдачею, повертається остання помилка з фінальної спроби. ## Вбудовані постачальники (каталог pi-ai) OpenClaw постачається з каталогом pi‑ai. Для цих постачальників **не потрібна** -конфігурація `models.providers`; достатньо налаштувати auth і вибрати модель. +конфігурація `models.providers`; просто задайте auth і виберіть модель. ### OpenAI @@ -64,18 +64,18 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Auth: `OPENAI_API_KEY` - Необов’язкова ротація: `OPENAI_API_KEYS`, `OPENAI_API_KEY_1`, `OPENAI_API_KEY_2`, а також `OPENCLAW_LIVE_OPENAI_KEY` (одне перевизначення) - Приклади моделей: `openai/gpt-5.4`, `openai/gpt-5.4-mini` -- Пряма підтримка API для GPT-5.5 тут готова заздалегідь, щойно OpenAI відкриє GPT-5.5 в API +- Пряма підтримка GPT-5.5 через API тут готова на майбутнє, щойно OpenAI відкриє GPT-5.5 в API - CLI: `openclaw onboard --auth-choice openai-api-key` -- Типовий транспорт — `auto` (спочатку WebSocket, fallback на SSE) +- Типовий transport — `auto` (спочатку WebSocket, потім SSE як резерв) - Перевизначення для окремої моделі через `agents.defaults.models["openai/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) -- Попередній прогрів OpenAI Responses WebSocket типово ввімкнено через `params.openaiWsWarmup` (`true`/`false`) +- Прогрівання 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` +- `/fast` і `params.fastMode` зіставляють прямі запити `openai/*` Responses з `service_tier=priority` на `api.openai.com` - Використовуйте `params.serviceTier`, якщо вам потрібен явний рівень замість спільного перемикача `/fast` - Приховані заголовки атрибуції OpenClaw (`originator`, `version`, - `User-Agent`) застосовуються лише до нативного трафіку OpenAI до `api.openai.com`, а не до загальних OpenAI-сумісних проксі -- Нативні маршрути OpenAI також зберігають Responses `store`, підказки кешу prompt і формування payload для сумісності з OpenAI reasoning; проксі-маршрути цього не роблять -- `openai/gpt-5.3-codex-spark` навмисно приховано в OpenClaw, оскільки live-запити OpenAI API його відхиляють, а поточний каталог Codex його не надає + `User-Agent`) застосовуються лише до нативного трафіку OpenAI на `api.openai.com`, а не до загальних OpenAI-сумісних проксі +- Нативні маршрути OpenAI також зберігають `store` для Responses, підказки кешу prompt і формування payload для сумісності з reasoning OpenAI; проксі-маршрути цього не роблять +- `openai/gpt-5.3-codex-spark` навмисно приховано в OpenClaw, оскільки live-запити OpenAI API його відхиляють, а поточний каталог Codex його не показує ```json5 { @@ -90,9 +90,9 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Необов’язкова ротація: `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: співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволено, тому OpenClaw вважає повторне використання Claude CLI і використання `claude -p` санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. -- Setup-token Anthropic залишається доступним як підтримуваний шлях токена OpenClaw, але тепер OpenClaw надає перевагу повторному використанню Claude CLI і `claude -p`, коли це можливо. +- Прямі публічні запити Anthropic також підтримують спільний перемикач `/fast` і `params.fastMode`, зокрема трафік з API-ключем і OAuth-автентифікацією, надісланий на `api.anthropic.com`; OpenClaw зіставляє це з Anthropic `service_tier` (`auto` проти `standard_only`) +- Примітка Anthropic: співробітники Anthropic повідомили нам, що використання Claude CLI у стилі OpenClaw знову дозволене, тож OpenClaw вважає повторне використання Claude CLI і `claude -p` санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. +- setup-token Anthropic залишається доступним як підтримуваний шлях токена OpenClaw, але тепер OpenClaw надає перевагу повторному використанню Claude CLI і `claude -p`, коли це доступно. ```json5 { @@ -104,20 +104,20 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Постачальник: `openai-codex` - Auth: OAuth (ChatGPT) -- Посилання на модель у PI: `openai-codex/gpt-5.5` +- Посилання на модель PI: `openai-codex/gpt-5.5` - Посилання нативного harness app-server Codex: `openai/gpt-5.5` з `agents.defaults.embeddedHarness.runtime: "codex"` - Застарілі посилання на моделі: `codex/gpt-*` -- Межа Plugin: `openai-codex/*` завантажує Plugin OpenAI; нативний Plugin app-server Codex вибирається лише рантаймом Codex harness або застарілими посиланнями `codex/*`. +- Межа Plugin: `openai-codex/*` завантажує Plugin OpenAI; нативний Plugin app-server Codex вибирається лише середовищем виконання Codex harness або застарілими посиланнями `codex/*`. - CLI: `openclaw onboard --auth-choice openai-codex` або `openclaw models auth login --provider openai-codex` -- Типовий транспорт — `auto` (спочатку WebSocket, fallback на SSE) +- Типовий transport — `auto` (спочатку WebSocket, потім SSE як резерв) - Перевизначення для окремої моделі PI через `agents.defaults.models["openai-codex/"].params.transport` (`"sse"`, `"websocket"` або `"auto"`) -- `params.serviceTier` також пересилається в нативних запитах Codex Responses (`chatgpt.com/backend-api`) +- `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` зберігає нативні `contextWindow = 1000000` і типове runtime-обмеження `contextTokens = 272000`; перевизначте runtime-обмеження через `models.providers.openai-codex.models[].contextTokens` -- Примітка щодо політики: OpenAI Codex OAuth явно підтримується для зовнішніх інструментів/процесів на кшталт OpenClaw. +- `openai-codex/gpt-5.5` зберігає нативний `contextWindow = 1000000` і типове обмеження середовища виконання `contextTokens = 272000`; перевизначте обмеження середовища через `models.providers.openai-codex.models[].contextTokens` +- Примітка щодо політики: OpenAI Codex OAuth явно підтримується для зовнішніх інструментів/потоків роботи на кшталт OpenClaw. - Поточний доступ до GPT-5.5 використовує цей маршрут OAuth/підписки, доки OpenAI не ввімкне GPT-5.5 у публічному API. ```json5 @@ -138,17 +138,17 @@ OpenClaw постачається з каталогом pi‑ai. Для цих } ``` -### Інші розміщені варіанти у стилі підписки +### Інші розміщені варіанти в стилі підписки - [Qwen Cloud](/uk/providers/qwen): поверхня постачальника Qwen Cloud, а також зіставлення кінцевих точок Alibaba DashScope і Coding Plan -- [MiniMax](/uk/providers/minimax): OAuth або доступ за API-ключем MiniMax Coding Plan +- [MiniMax](/uk/providers/minimax): доступ до MiniMax Coding Plan через OAuth або API-ключ - [GLM Models](/uk/providers/glm): кінцеві точки Z.AI Coding Plan або загального API ### OpenCode - Auth: `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.5` - CLI: `openclaw onboard --auth-choice opencode-zen` або `openclaw onboard --auth-choice opencode-go` @@ -162,29 +162,29 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Постачальник: `google` - Auth: `GEMINI_API_KEY` -- Необов’язкова ротація: `GEMINI_API_KEYS`, `GEMINI_API_KEY_1`, `GEMINI_API_KEY_2`, fallback `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` +- Сумісність: застаріла конфігурація OpenClaw із `google/gemini-3.1-flash-preview` нормалізується до `google/gemini-3-flash-preview` - CLI: `openclaw onboard --auth-choice gemini-api-key` - Прямі запуски Gemini також приймають `agents.defaults.models["google/"].params.cachedContent` - (або застаріле `cached_content`) для пересилання нативного - дескриптора `cachedContents/...`; попадання в кеш Gemini відображаються як OpenClaw `cacheRead` + (або застарілий `cached_content`) для передавання нативного + дескриптора `cachedContents/...`; потрапляння в кеш Gemini відображаються як OpenClaw `cacheRead` ### Google Vertex і Gemini CLI - Постачальники: `google-vertex`, `google-gemini-cli` - Auth: Vertex використовує gcloud ADC; Gemini CLI використовує власний потік OAuth -- Застереження: OAuth Gemini CLI в OpenClaw — це неофіційна інтеграція. Деякі користувачі повідомляли про обмеження Google-акаунтів після використання сторонніх клієнтів. Ознайомтеся з умовами Google і використовуйте некритичний акаунт, якщо вирішите продовжити. +- Застереження: OAuth Gemini CLI в OpenClaw є неофіційною інтеграцією. Деякі користувачі повідомляли про обмеження облікового запису Google після використання сторонніх клієнтів. Ознайомтеся з умовами Google і використовуйте неважливий обліковий запис, якщо вирішите продовжити. - OAuth Gemini CLI постачається як частина вбудованого Plugin `google`. - Спочатку встановіть Gemini CLI: - `brew install gemini-cli` - або `npm install -g @google/gemini-cli` - - Увімкніть: `openclaw plugins enable google` - - Увійдіть: `openclaw models auth login --provider google-gemini-cli --set-default` + - Увімкнення: `openclaw plugins enable google` + - Вхід: `openclaw models auth login --provider google-gemini-cli --set-default` - Типова модель: `google-gemini-cli/gemini-3-flash-preview` - - Примітка: вам **не потрібно** вставляти client id або secret у `openclaw.json`. Потік входу CLI зберігає токени в auth profiles на хості Gateway. - - Якщо після входу запити не працюють, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості Gateway. - - JSON-відповіді Gemini CLI розбираються з `response`; дані про використання беруться з `stats`, а `stats.cached` нормалізується в OpenClaw `cacheRead`. + - Примітка: ви **не** вставляєте client id або secret у `openclaw.json`. Потік входу CLI зберігає токени в auth profiles на хості Gateway. + - Якщо після входу запити завершуються помилкою, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості Gateway. + - Відповіді JSON Gemini CLI аналізуються з `response`; використання береться з `stats` як резерв, а `stats.cached` нормалізується до OpenClaw `cacheRead`. ### Z.AI (GLM) @@ -209,13 +209,13 @@ OpenClaw постачається з каталогом pi‑ai. Для цих - Auth: `KILOCODE_API_KEY` - Приклад моделі: `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. -- Точна маршрутизація апстриму за `kilocode/kilo/auto` належить Kilo Gateway, +- Базова URL-адреса: `https://api.kilo.ai/api/gateway/` +- Статичний резервний каталог постачається з `kilocode/kilo/auto`; live-виявлення через + `https://api.kilo.ai/api/gateway/models` може додатково розширити каталог середовища виконання. +- Точна маршрутизація на боці джерела для `kilocode/kilo/auto` належить Kilo Gateway, а не жорстко закодована в OpenClaw. -Деталі налаштування див. у [/providers/kilocode](/uk/providers/kilocode). +Деталі налаштування дивіться в [/providers/kilocode](/uk/providers/kilocode). ### Інші вбудовані Plugin постачальників @@ -224,6 +224,7 @@ OpenClaw постачається з каталогом pi‑ai. Для цих | 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` | — | +| 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` or `HF_TOKEN` | `huggingface/deepseek-ai/DeepSeek-R1` | @@ -246,26 +247,26 @@ OpenClaw постачається з каталогом pi‑ai. Для цих Варто знати такі особливості: -- **OpenRouter** застосовує свої заголовки атрибуції застосунку та маркери Anthropic `cache_control` лише на перевірених маршрутах `openrouter.ai`. Як проксі-стиль OpenAI-сумісного шляху, він пропускає формування, притаманне лише нативному OpenAI (`serviceTier`, Responses `store`, підказки кешу prompt, сумісність reasoning OpenAI). Посилання на основі Gemini зберігають лише очищення thought-signature для проксі Gemini. -- **Kilo Gateway** для посилань на основі Gemini дотримується того самого шляху очищення проксі Gemini; `kilocode/kilo/auto` та інші посилання, де reasoning через проксі не підтримується, пропускають ін’єкцію reasoning через проксі. -- **MiniMax** онбординг за API-ключем записує явні визначення моделей M2.7 з `input: ["text", "image"]`; вбудований каталог зберігає chat-посилання лише текстовими, доки цю конфігурацію не буде матеріалізовано. -- **xAI** використовує шлях 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`. -- **Cerebras** моделі GLM використовують `zai-glm-4.7` / `zai-glm-4.6`; базовий URL, сумісний з OpenAI, — `https://api.cerebras.ai/v1`. +- **OpenRouter** застосовує свої заголовки атрибуції застосунку та маркери Anthropic `cache_control` лише на перевірених маршрутах `openrouter.ai`. Як проксі-шлях у стилі OpenAI-compatible, він пропускає формування, доступне лише для нативного OpenAI (`serviceTier`, `store` для Responses, підказки кешу prompt, сумісність reasoning OpenAI). Посилання, що використовують Gemini як бекенд, зберігають лише очищення thought-signature для проксі-Gemini. +- **Kilo Gateway** для посилань із Gemini як бекендом дотримується того самого шляху очищення проксі-Gemini; `kilocode/kilo/auto` та інші посилання, що не підтримують proxy reasoning, пропускають ін’єкцію proxy reasoning. +- **MiniMax** під час онбордингу через API-ключ записує явні визначення моделей M2.7 з `input: ["text", "image"]`; вбудований каталог зберігає chat-посилання лише текстовими, доки цю конфігурацію не буде матеріалізовано. +- **xAI** використовує шлях 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`. +- **Cerebras** моделі GLM використовують `zai-glm-4.7` / `zai-glm-4.6`; базова URL-адреса у форматі OpenAI-compatible — `https://api.cerebras.ai/v1`. ## Постачальники через `models.providers` (custom/base URL) -Використовуйте `models.providers` (або `models.json`), щоб додати **власних** постачальників або -OpenAI/Anthropic-сумісні проксі. +Використовуйте `models.providers` (або `models.json`), щоб додавати **власних** постачальників або +проксі, сумісні з OpenAI/Anthropic. -Багато вбудованих нижче Plugin постачальників уже публікують типовий каталог. +Багато з наведених нижче вбудованих Plugin постачальників уже публікують типовий каталог. Використовуйте явні записи `models.providers.` лише тоді, коли хочете перевизначити -типовий base URL, заголовки або список моделей. +типову базову URL-адресу, заголовки або список моделей. ### Moonshot AI (Kimi) -Moonshot постачається як вбудований Plugin постачальника. Типово використовуйте -вбудованого постачальника і додавайте явний запис `models.providers.moonshot` лише тоді, коли -потрібно перевизначити base URL або метадані моделі: +Moonshot постачається як вбудований Plugin постачальника. Використовуйте вбудованого постачальника +типово, а явний запис `models.providers.moonshot` додавайте лише тоді, коли +потрібно перевизначити базову URL-адресу або метадані моделі: - Постачальник: `moonshot` - Auth: `MOONSHOT_API_KEY` @@ -305,7 +306,7 @@ Moonshot постачається як вбудований Plugin постач ### Kimi Coding -Kimi Coding використовує Anthropic-сумісну кінцеву точку Moonshot AI: +Kimi Coding використовує Anthropic-compatible endpoint від Moonshot AI: - Постачальник: `kimi` - Auth: `KIMI_API_KEY` @@ -320,7 +321,7 @@ Kimi Coding використовує Anthropic-сумісну кінцеву т } ``` -Застарілий `kimi/k2p5` і далі приймається як сумісний id моделі. +Застарілий `kimi/k2p5` і далі приймається як сумісний ідентифікатор моделі. ### Volcano Engine (Doubao) @@ -339,13 +340,13 @@ Volcano Engine (火山引擎) надає доступ до Doubao та інши } ``` -Онбординг типово використовує поверхню coding, але загальний каталог `volcengine/*` +Під час онбордингу типовою є поверхня coding, але загальний каталог `volcengine/*` реєструється одночасно. -У засобах вибору моделі під час онбордингу/налаштування вибір auth для Volcengine надає перевагу рядкам +У засобах вибору моделі для онбордингу/налаштування варіант auth для Volcengine надає перевагу рядкам `volcengine/*` і `volcengine-plan/*`. Якщо ці моделі ще не завантажено, -OpenClaw повертається до нефільтрованого каталогу замість того, щоб показувати порожній -засіб вибору в межах постачальника. +OpenClaw повертається до нефільтрованого каталогу замість показу порожнього +засобу вибору, обмеженого постачальником. Доступні моделі: @@ -363,7 +364,7 @@ OpenClaw повертається до нефільтрованого катал - `volcengine-plan/kimi-k2-thinking` - `volcengine-plan/glm-4.7` -### BytePlus (міжнародний) +### BytePlus (Міжнародний) BytePlus ARK надає міжнародним користувачам доступ до тих самих моделей, що й Volcano Engine. @@ -380,13 +381,13 @@ BytePlus ARK надає міжнародним користувачам дост } ``` -Онбординг типово використовує поверхню coding, але загальний каталог `byteplus/*` +Під час онбордингу типовою є поверхня coding, але загальний каталог `byteplus/*` реєструється одночасно. -У засобах вибору моделі під час онбордингу/налаштування вибір auth для BytePlus надає перевагу обом +У засобах вибору моделі для онбордингу/налаштування варіант auth для BytePlus надає перевагу обом рядкам `byteplus/*` і `byteplus-plan/*`. Якщо ці моделі ще не завантажено, -OpenClaw повертається до нефільтрованого каталогу замість того, щоб показувати порожній -засіб вибору в межах постачальника. +OpenClaw повертається до нефільтрованого каталогу замість показу порожнього +засобу вибору, обмеженого постачальником. Доступні моделі: @@ -404,7 +405,7 @@ OpenClaw повертається до нефільтрованого катал ### Synthetic -Synthetic надає Anthropic-сумісні моделі через постачальника `synthetic`: +Synthetic надає Anthropic-compatible моделі через постачальника `synthetic`: - Постачальник: `synthetic` - Auth: `SYNTHETIC_API_KEY` @@ -432,26 +433,26 @@ Synthetic надає Anthropic-сумісні моделі через поста ### MiniMax -MiniMax налаштовується через `models.providers`, оскільки використовує власні кінцеві точки: +MiniMax налаштовується через `models.providers`, оскільки використовує власні endpoint: - 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 API-ключ (Global): `--auth-choice minimax-global-api` +- MiniMax API-ключ (CN): `--auth-choice minimax-cn-api` - Auth: `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 типово вимикає thinking, +На Anthropic-compatible streaming-шляху MiniMax OpenClaw типово вимикає thinking, якщо ви явно його не задасте, а `/fast on` переписує `MiniMax-M2.7` на `MiniMax-M2.7-highspeed`. -Розділення можливостей, що належить Plugin: +Розподіл capability, що належить Plugin: -- Типові значення text/chat залишаються на `minimax/MiniMax-M2.7` +- Типові значення для text/chat залишаються на `minimax/MiniMax-M2.7` - Генерація зображень — це `minimax/image-01` або `minimax-portal/image-01` -- Розуміння зображень — це керований Plugin `MiniMax-VL-01` на обох шляхах auth MiniMax +- Розуміння зображень — це керований Plugin `MiniMax-VL-01` на обох auth-шляхах MiniMax - Вебпошук залишається на id постачальника `minimax` ### LM Studio @@ -460,7 +461,7 @@ LM Studio постачається як вбудований Plugin постач - Постачальник: `lmstudio` - Auth: `LM_API_TOKEN` -- Типовий base URL інференсу: `http://localhost:1234/v1` +- Типова базова URL-адреса інференсу: `http://localhost:1234/v1` Потім задайте модель (замініть на один з id, які повертає `http://localhost:1234/api/v1/models`): @@ -473,15 +474,15 @@ LM Studio постачається як вбудований Plugin постач ``` OpenClaw використовує нативні `/api/v1/models` і `/api/v1/models/load` LM Studio -для виявлення й автозавантаження, а `/v1/chat/completions` типово — для інференсу. -Інструкції з налаштування та усунення несправностей див. у [/providers/lmstudio](/uk/providers/lmstudio). +для виявлення й автозавантаження, а `/v1/chat/completions` — типово для інференсу. +Налаштування та усунення несправностей дивіться в [/providers/lmstudio](/uk/providers/lmstudio). ### Ollama Ollama постачається як вбудований Plugin постачальника і використовує нативний API Ollama: - Постачальник: `ollama` -- Auth: не потрібен (локальний сервер) +- Auth: не потрібна (локальний сервер) - Приклад моделі: `ollama/llama3.3` - Встановлення: [https://ollama.com/download](https://ollama.com/download) @@ -500,19 +501,19 @@ ollama pull llama3.3 Ollama виявляється локально за адресою `http://127.0.0.1:11434`, коли ви явно вмикаєте це через `OLLAMA_API_KEY`, а вбудований Plugin постачальника додає Ollama безпосередньо до -`openclaw onboard` і засобу вибору моделі. Див. [/providers/ollama](/uk/providers/ollama) -щодо онбордингу, хмарного/локального режиму та власної конфігурації. +`openclaw onboard` і засобу вибору моделі. Дивіться [/providers/ollama](/uk/providers/ollama) +для онбордингу, хмарного/локального режиму та власної конфігурації. ### vLLM -vLLM постачається як вбудований Plugin постачальника для локальних/self-hosted OpenAI-сумісних -серверів: +vLLM постачається як вбудований Plugin постачальника для локальних/самостійно розміщених +серверів, сумісних з OpenAI: - Постачальник: `vllm` -- Auth: необов’язковий (залежить від вашого сервера) -- Типовий base URL: `http://127.0.0.1:8000/v1` +- Auth: необов’язкова (залежить від вашого сервера) +- Типова базова URL-адреса: `http://127.0.0.1:8000/v1` -Щоб увімкнути автовиявлення локально (підійде будь-яке значення, якщо ваш сервер не вимагає auth): +Щоб локально ввімкнути автовиявлення (підійде будь-яке значення, якщо ваш сервер не вимагає auth): ```bash export VLLM_API_KEY="vllm-local" @@ -528,18 +529,18 @@ export VLLM_API_KEY="vllm-local" } ``` -Подробиці див. у [/providers/vllm](/uk/providers/vllm). +Деталі дивіться в [/providers/vllm](/uk/providers/vllm). ### SGLang -SGLang постачається як вбудований Plugin постачальника для швидких self-hosted -OpenAI-сумісних серверів: +SGLang постачається як вбудований Plugin постачальника для швидких самостійно розміщених +серверів, сумісних з OpenAI: - Постачальник: `sglang` -- Auth: необов’язковий (залежить від вашого сервера) -- Типовий base URL: `http://127.0.0.1:30000/v1` +- Auth: необов’язкова (залежить від вашого сервера) +- Типова базова URL-адреса: `http://127.0.0.1:30000/v1` -Щоб увімкнути автовиявлення локально (підійде будь-яке значення, якщо ваш сервер не +Щоб локально ввімкнути автовиявлення (підійде будь-яке значення, якщо ваш сервер не вимагає auth): ```bash @@ -556,11 +557,11 @@ export SGLANG_API_KEY="sglang-local" } ``` -Подробиці див. у [/providers/sglang](/uk/providers/sglang). +Деталі дивіться в [/providers/sglang](/uk/providers/sglang). ### Локальні проксі (LM Studio, vLLM, LiteLLM тощо) -Приклад (OpenAI‑сумісний): +Приклад (OpenAI‑compatible): ```json5 { @@ -595,18 +596,18 @@ export SGLANG_API_KEY="sglang-local" Примітки: -- Для власних постачальників `reasoning`, `input`, `cost`, `contextWindow` і `maxTokens` є необов’язковими. +- Для custom постачальників `reasoning`, `input`, `cost`, `contextWindow` і `maxTokens` є необов’язковими. Якщо їх пропущено, OpenClaw типово використовує: - `reasoning: false` - `input: ["text"]` - `cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }` - `contextWindow: 200000` - `maxTokens: 8192` -- Рекомендовано: задавайте явні значення, що відповідають обмеженням вашого проксі/моделі. -- Для `api: "openai-completions"` на ненативних кінцевих точках (будь-який непорожній `baseUrl`, у якого host не `api.openai.com`) OpenClaw примусово встановлює `compat.supportsDeveloperRole: false`, щоб уникнути помилок 400 від постачальника через непідтримувані ролі `developer`. -- OpenAI-сумісні маршрути у стилі проксі також пропускають формування запитів, притаманне лише нативному OpenAI: без `service_tier`, без Responses `store`, без підказок кешу prompt, без формування payload для сумісності з OpenAI reasoning і без прихованих заголовків атрибуції OpenClaw. -- Якщо `baseUrl` порожній/не вказаний, OpenClaw зберігає типову поведінку OpenAI (яка веде до `api.openai.com`). -- Для безпеки явне `compat.supportsDeveloperRole: true` усе одно перевизначається на ненативних кінцевих точках `openai-completions`. +- Рекомендовано: задавайте явні значення, які відповідають лімітам вашого проксі/моделі. +- Для `api: "openai-completions"` на ненативних endpoint (будь-який непорожній `baseUrl`, хост якого не є `api.openai.com`) OpenClaw примусово встановлює `compat.supportsDeveloperRole: false`, щоб уникнути помилок 400 від постачальника через непідтримувані ролі `developer`. +- Маршрути у стилі проксі, сумісні з OpenAI, також пропускають формування запитів, доступне лише для нативного OpenAI: без `service_tier`, без `store` для Responses, без підказок кешу prompt, без формування payload для сумісності reasoning OpenAI і без прихованих заголовків атрибуції OpenClaw. +- Якщо `baseUrl` порожній або пропущений, OpenClaw зберігає типову поведінку OpenAI (яка зводиться до `api.openai.com`). +- Для безпеки явне `compat.supportsDeveloperRole: true` все одно перевизначається на ненативних endpoint `openai-completions`. ## Приклади CLI @@ -616,11 +617,11 @@ openclaw models set opencode/claude-opus-4-6 openclaw models list ``` -Див. також: [/gateway/configuration](/uk/gateway/configuration) для повних прикладів конфігурації. +Дивіться також: [/gateway/configuration](/uk/gateway/configuration) для повних прикладів конфігурації. ## Пов’язані сторінки -- [Моделі](/uk/concepts/models) — конфігурація моделей і псевдоніми -- [Відмовостійкість моделей](/uk/concepts/model-failover) — ланцюжки резервного перемикання та поведінка повторних спроб -- [Довідник конфігурації](/uk/gateway/config-agents#agent-defaults) — ключі конфігурації моделей -- [Постачальники](/uk/providers) — інструкції з налаштування для кожного постачальника +- [Models](/uk/concepts/models) — конфігурація моделей і псевдоніми +- [Model Failover](/uk/concepts/model-failover) — ланцюжки резервного перемикання та поведінка повторних спроб +- [Configuration Reference](/uk/gateway/config-agents#agent-defaults) — ключі конфігурації моделей +- [Providers](/uk/providers) — окремі посібники з налаштування постачальників diff --git a/docs/uk/pi.md b/docs/uk/pi.md index df519ead5..0f4cb2a93 100644 --- a/docs/uk/pi.md +++ b/docs/uk/pi.md @@ -1,126 +1,126 @@ --- read_when: - - Розуміння дизайну інтеграції Pi SDK в OpenClaw - - Зміна життєвого циклу сесії агента, інструментів або підключення provider для Pi -summary: Архітектура інтеграції вбудованого агента Pi в OpenClaw і життєвого циклу сесії + - Розуміння дизайну інтеграції SDK Pi в OpenClaw + - Зміна життєвого циклу сесії агента, інструментів або підключення провайдера для Pi +summary: Архітектура вбудованої інтеграції агента Pi в OpenClaw і життєвий цикл сесії title: Архітектура інтеграції Pi x-i18n: - generated_at: "2026-04-24T04:15:29Z" + generated_at: "2026-04-24T15:13:05Z" model: gpt-5.4 provider: openai - source_hash: 3c0c490cad121a65d557a72887ea619a7d0cff34a62220752214185c9148dc0b + source_hash: 0c0b019ff6d35f6fdcd57b56edd1945e62a96bb4b34e312d7fb0c627f01287f1 source_path: pi.md workflow: 15 --- -Цей документ описує, як OpenClaw інтегрується з [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) та спорідненими пакетами (`pi-ai`, `pi-agent-core`, `pi-tui`), щоб забезпечувати можливості свого ШІ-агента. +Цей документ описує, як OpenClaw інтегрується з [pi-coding-agent](https://github.com/badlogic/pi-mono/tree/main/packages/coding-agent) і пов’язаними з ним пакетами (`pi-ai`, `pi-agent-core`, `pi-tui`) для забезпечення можливостей свого AI-агента. ## Огляд -OpenClaw використовує SDK pi для вбудовування агента ШІ для програмування у свою архітектуру шлюзу повідомлень. Замість запуску pi як дочірнього процесу або використання режиму RPC OpenClaw безпосередньо імпортує та створює `AgentSession` pi через `createAgentSession()`. Цей вбудований підхід забезпечує: +OpenClaw використовує pi SDK для вбудовування AI-агента для кодування у свою архітектуру шлюзу повідомлень. Замість запуску pi як підпроцесу або використання режиму RPC, OpenClaw безпосередньо імпортує та створює `AgentSession` через `createAgentSession()`. Цей вбудований підхід забезпечує: -- повний контроль над життєвим циклом сесії та обробкою подій -- ін’єкцію власних інструментів (повідомлення, sandbox, дії, специфічні для каналу) -- налаштування системного запиту для кожного каналу/контексту -- збереження сесії з підтримкою branching/Compaction -- ротацію багатoакаунтних профілів автентифікації з failover -- перемикання моделей, не прив’язане до конкретного provider +- Повний контроль над життєвим циклом сесії та обробкою подій +- Користувацьке впровадження інструментів (повідомлення, sandbox, дії для конкретного каналу) +- Налаштування системного промпту для кожного каналу/контексту +- Збереження сесії з підтримкою розгалуження/Compaction +- Ротацію профілів автентифікації для кількох облікових записів із failover +- Незалежне від провайдера перемикання моделей ## Залежності пакетів ```json { - "@mariozechner/pi-agent-core": "0.68.1", - "@mariozechner/pi-ai": "0.68.1", - "@mariozechner/pi-coding-agent": "0.68.1", - "@mariozechner/pi-tui": "0.68.1" + "@mariozechner/pi-agent-core": "0.70.2", + "@mariozechner/pi-ai": "0.70.2", + "@mariozechner/pi-coding-agent": "0.70.2", + "@mariozechner/pi-tui": "0.70.2" } ``` -| Пакет | Призначення | -| ---------------- | ------------------------------------------------------------------------------------------------------- | -| `pi-ai` | Базові абстракції LLM: `Model`, `streamSimple`, типи повідомлень, API provider | -| `pi-agent-core` | Цикл агента, виконання інструментів, типи `AgentMessage` | +| Пакет | Призначення | +| ---------------- | ----------------------------------------------------------------------------------------------------- | +| `pi-ai` | Базові абстракції LLM: `Model`, `streamSimple`, типи повідомлень, API провайдерів | +| `pi-agent-core` | Цикл агента, виконання інструментів, типи `AgentMessage` | | `pi-coding-agent` | Високорівневий SDK: `createAgentSession`, `SessionManager`, `AuthStorage`, `ModelRegistry`, вбудовані інструменти | -| `pi-tui` | Компоненти UI термінала (використовуються в локальному режимі TUI OpenClaw) | +| `pi-tui` | Компоненти термінального UI (використовуються в локальному режимі TUI OpenClaw) | ## Структура файлів ``` src/agents/ -├── pi-embedded-runner.ts # Повторний експорт з pi-embedded-runner/ +├── pi-embedded-runner.ts # Реекспорти з pi-embedded-runner/ ├── pi-embedded-runner/ │ ├── run.ts # Головна точка входу: runEmbeddedPiAgent() │ ├── run/ │ │ ├── attempt.ts # Логіка однієї спроби з налаштуванням сесії │ │ ├── params.ts # Тип RunEmbeddedPiAgentParams │ │ ├── payloads.ts # Побудова payload відповіді з результатів запуску -│ │ ├── images.ts # Ін’єкція зображень для vision-моделі +│ │ ├── images.ts # Впровадження зображень для vision-моделі │ │ └── types.ts # EmbeddedRunAttemptResult -│ ├── abort.ts # Виявлення помилки скасування +│ ├── abort.ts # Виявлення помилок переривання │ ├── cache-ttl.ts # Відстеження TTL кешу для обрізання контексту │ ├── compact.ts # Логіка ручного/автоматичного Compaction │ ├── extensions.ts # Завантаження розширень pi для вбудованих запусків -│ ├── extra-params.ts # Параметри потоку, специфічні для provider +│ ├── extra-params.ts # Специфічні для провайдера параметри потоку │ ├── google.ts # Виправлення порядку ходів для Google/Gemini -│ ├── history.ts # Обмеження історії (DM vs група) -│ ├── lanes.ts # Lanes команд сесії/глобальних команд +│ ├── history.ts # Обмеження історії (DM проти групи) +│ ├── lanes.ts # Лінії команд сесії/глобальні │ ├── logger.ts # Логер підсистеми -│ ├── model.ts # Визначення моделі через ModelRegistry -│ ├── runs.ts # Відстеження активних запусків, скасування, черга -│ ├── sandbox-info.ts # Інформація про sandbox для системного запиту -│ ├── session-manager-cache.ts # Кешування екземпляра SessionManager +│ ├── model.ts # Розв’язання моделі через ModelRegistry +│ ├── runs.ts # Відстеження активних запусків, переривання, черга +│ ├── sandbox-info.ts # Інформація про sandbox для системного промпту +│ ├── session-manager-cache.ts # Кешування екземплярів SessionManager │ ├── session-manager-init.ts # Ініціалізація файлу сесії -│ ├── system-prompt.ts # Побудова системного запиту -│ ├── tool-split.ts # Розділення інструментів на builtIn і custom +│ ├── system-prompt.ts # Побудовник системного промпту +│ ├── tool-split.ts # Поділ інструментів на builtIn і custom │ ├── types.ts # EmbeddedPiAgentMeta, EmbeddedPiRunResult -│ └── utils.ts # Мапінг ThinkLevel, опис помилок -├── pi-embedded-subscribe.ts # Підписка/диспетчеризація подій сесії +│ └── utils.ts # Відображення ThinkLevel, опис помилки +├── pi-embedded-subscribe.ts # Підписка на події сесії/диспетчеризація ├── pi-embedded-subscribe.types.ts # SubscribeEmbeddedPiSessionParams ├── pi-embedded-subscribe.handlers.ts # Фабрика обробників подій ├── pi-embedded-subscribe.handlers.lifecycle.ts ├── pi-embedded-subscribe.handlers.types.ts ├── pi-embedded-block-chunker.ts # Розбиття потокових блокових відповідей на частини -├── pi-embedded-messaging.ts # Відстеження надсилань через інструмент повідомлень -├── pi-embedded-helpers.ts # Класифікація помилок, валідація ходу +├── pi-embedded-messaging.ts # Відстеження надісланих інструментом повідомлень +├── pi-embedded-helpers.ts # Класифікація помилок, валідація ходів ├── pi-embedded-helpers/ # Допоміжні модулі ├── pi-embedded-utils.ts # Утиліти форматування ├── pi-tools.ts # createOpenClawCodingTools() ├── pi-tools.abort.ts # Обгортання AbortSignal для інструментів -├── pi-tools.policy.ts # Політика allowlist/denylist інструментів -├── pi-tools.read.ts # Налаштування інструмента читання +├── pi-tools.policy.ts # Політика allowlist/denylist для інструментів +├── pi-tools.read.ts # Кастомізації інструмента читання ├── pi-tools.schema.ts # Нормалізація схем інструментів ├── pi-tools.types.ts # Псевдонім типу AnyAgentTool ├── pi-tool-definition-adapter.ts # Адаптер AgentTool -> ToolDefinition ├── pi-settings.ts # Перевизначення налаштувань -├── pi-hooks/ # Власні hooks pi -│ ├── compaction-safeguard.ts # Розширення safeguard +├── pi-hooks/ # Користувацькі хуки pi +│ ├── compaction-safeguard.ts # Розширення-запобіжник │ ├── compaction-safeguard-runtime.ts -│ ├── context-pruning.ts # Розширення обрізання контексту за TTL кешу +│ ├── context-pruning.ts # Розширення обрізання контексту cache-TTL │ └── context-pruning/ -├── model-auth.ts # Визначення профілю автентифікації +├── model-auth.ts # Розв’язання профілю автентифікації ├── auth-profiles.ts # Сховище профілів, cooldown, failover -├── model-selection.ts # Визначення типової моделі +├── model-selection.ts # Розв’язання моделі за замовчуванням ├── models-config.ts # Генерація models.json ├── model-catalog.ts # Кеш каталогу моделей ├── context-window-guard.ts # Валідація вікна контексту ├── failover-error.ts # Клас FailoverError ├── defaults.ts # DEFAULT_PROVIDER, DEFAULT_MODEL ├── system-prompt.ts # buildAgentSystemPrompt() -├── system-prompt-params.ts # Визначення параметрів системного запиту +├── system-prompt-params.ts # Розв’язання параметрів системного промпту ├── system-prompt-report.ts # Генерація діагностичного звіту -├── tool-summaries.ts # Зведення описів інструментів -├── tool-policy.ts # Визначення політики інструментів +├── tool-summaries.ts # Підсумки описів інструментів +├── tool-policy.ts # Розв’язання політики інструментів ├── transcript-policy.ts # Політика валідації транскрипту -├── skills.ts # Знімок Skills/побудова запиту +├── skills.ts # Знімок Skills/побудова промпту ├── skills/ # Підсистема Skills -├── sandbox.ts # Визначення контексту sandbox +├── sandbox.ts # Розв’язання контексту sandbox ├── sandbox/ # Підсистема sandbox -├── channel-tools.ts # Ін’єкція інструментів, специфічних для каналу -├── openclaw-tools.ts # Інструменти, специфічні для OpenClaw +├── channel-tools.ts # Впровадження інструментів для конкретного каналу +├── openclaw-tools.ts # Специфічні для OpenClaw інструменти ├── bash-tools.ts # Інструменти exec/process ├── apply-patch.ts # Інструмент apply_patch (OpenAI) -├── tools/ # Реалізації окремих інструментів +├── tools/ # Окремі реалізації інструментів │ ├── browser-tool.ts │ ├── canvas-tool.ts │ ├── cron-tool.ts @@ -134,13 +134,12 @@ src/agents/ └── ... ``` -Runtime файлів дій повідомлень, специфічних для каналу, тепер розміщуються в каталогах -розширень, що належать plugin, а не в `src/agents/tools`, наприклад: +Середовища виконання дій із повідомленнями для конкретних каналів тепер розміщені в каталогах розширень, що належать Plugin, а не в `src/agents/tools`, наприклад: -- файли runtime дій plugin Discord -- файл runtime дій plugin Slack -- файл runtime дій plugin Telegram -- файл runtime дій plugin WhatsApp +- файли середовища виконання дій Plugin Discord +- файл середовища виконання дій Plugin Slack +- файл середовища виконання дій Plugin Telegram +- файл середовища виконання дій Plugin WhatsApp ## Основний потік інтеграції @@ -170,7 +169,7 @@ const result = await runEmbeddedPiAgent({ ### 2. Створення сесії -Усередині `runEmbeddedAttempt()` (який викликається з `runEmbeddedPiAgent()`) використовується SDK pi: +Усередині `runEmbeddedAttempt()` (яка викликається з `runEmbeddedPiAgent()`) використовується pi SDK: ```typescript import { @@ -207,7 +206,7 @@ applySystemPromptOverrideToSession(session, systemPromptOverride); ### 3. Підписка на події -`subscribeEmbeddedPiSession()` підписується на події `AgentSession` pi: +`subscribeEmbeddedPiSession()` підписується на події `AgentSession` з pi: ```typescript const subscription = subscribeEmbeddedPiSession({ @@ -232,35 +231,33 @@ const subscription = subscribeEmbeddedPiSession({ - `agent_start` / `agent_end` - `compaction_start` / `compaction_end` -### 4. Формування запиту +### 4. Надсилання промпту -Після налаштування до сесії надсилається запит: +Після налаштування сесія отримує промпт: ```typescript await session.prompt(effectivePrompt, { images: imageResult.images }); ``` -SDK обробляє повний цикл агента: надсилання до LLM, виконання викликів інструментів, потокове передавання відповідей. +SDK обробляє весь цикл агента: надсилання до LLM, виконання викликів інструментів, потокову передачу відповідей. -Ін’єкція зображень є локальною для запиту: OpenClaw завантажує посилання на зображення з поточного запиту і -передає їх через `images` лише для цього ходу. Він не сканує повторно старі ходи історії, -щоб повторно ін’єктувати payload зображень. +Впровадження зображень є локальним для промпту: OpenClaw завантажує посилання на зображення з поточного промпту та передає їх через `images` лише для цього ходу. Він не сканує повторно старіші ходи історії, щоб повторно впроваджувати payload зображень. ## Архітектура інструментів ### Конвеєр інструментів -1. **Базові інструменти**: `codingTools` від pi (`read`, `bash`, `edit`, `write`) -2. **Власні заміни**: OpenClaw замінює `bash` на `exec`/`process`, налаштовує `read`/`edit`/`write` для sandbox -3. **Інструменти OpenClaw**: повідомлення, браузер, canvas, sessions, cron, gateway тощо -4. **Інструменти каналів**: інструменти дій, специфічні для Discord/Telegram/Slack/WhatsApp -5. **Фільтрація політик**: інструменти фільтруються за профілем, provider, агентом, групою, політиками sandbox -6. **Нормалізація схем**: схеми очищуються від особливостей Gemini/OpenAI -7. **Обгортання AbortSignal**: інструменти обгортаються для врахування сигналів скасування +1. **Базові інструменти**: `codingTools` з pi (`read`, `bash`, `edit`, `write`) +2. **Користувацькі заміни**: OpenClaw замінює bash на `exec`/`process`, кастомізує read/edit/write для sandbox +3. **Інструменти OpenClaw**: повідомлення, browser, canvas, sessions, Cron, Gateway тощо +4. **Інструменти каналів**: інструменти дій для Discord/Telegram/Slack/WhatsApp +5. **Фільтрація політиками**: інструменти фільтруються за політиками профілю, провайдера, агента, групи, sandbox +6. **Нормалізація схем**: схеми очищуються для особливостей Gemini/OpenAI +7. **Обгортання AbortSignal**: інструменти обгортаються, щоб поважати сигнали переривання -### Адаптер визначення інструментів +### Адаптер визначень інструментів -`AgentTool` із pi-agent-core має іншу сигнатуру `execute`, ніж `ToolDefinition` із pi-coding-agent. Адаптер у `pi-tool-definition-adapter.ts` з’єднує це: +`AgentTool` з pi-agent-core має інший сигнатурний `execute`, ніж `ToolDefinition` з pi-coding-agent. Адаптер у `pi-tool-definition-adapter.ts` з’єднує їх: ```typescript export function toToolDefinitions(tools: AnyAgentTool[]): ToolDefinition[] { @@ -277,26 +274,26 @@ export function toToolDefinitions(tools: AnyAgentTool[]): ToolDefinition[] { } ``` -### Стратегія розділення інструментів +### Стратегія поділу інструментів `splitSdkTools()` передає всі інструменти через `customTools`: ```typescript export function splitSdkTools(options: { tools: AnyAgentTool[]; sandboxEnabled: boolean }) { return { - builtInTools: [], // Порожньо. Ми все перевизначаємо + builtInTools: [], // Порожньо. Ми перевизначаємо все customTools: toToolDefinitions(options.tools), }; } ``` -Це гарантує, що фільтрація політик OpenClaw, інтеграція sandbox і розширений набір інструментів залишаються узгодженими між provider. +Це гарантує, що фільтрація політик OpenClaw, інтеграція sandbox і розширений набір інструментів залишаються узгодженими між провайдерами. -## Побудова системного запиту +## Побудова системного промпту -Системний запит будується в `buildAgentSystemPrompt()` (`system-prompt.ts`). Він складає повний запит із розділами, що включають Tooling, стиль виклику інструментів, запобіжники безпеки, довідку CLI OpenClaw, Skills, Docs, Workspace, Sandbox, Messaging, теги відповіді, Voice, тихі відповіді, Heartbeat, метадані runtime, а також Memory і Reactions, коли вони ввімкнені, і необов’язкові контекстні файли та додатковий вміст системного запиту. Для мінімального режиму запиту, який використовують subagent, розділи обрізаються. +Системний промпт будується в `buildAgentSystemPrompt()` (`system-prompt.ts`). Він формує повний промпт із розділами, зокрема Tooling, стиль виклику інструментів, захисні обмеження безпеки, довідка OpenClaw CLI, Skills, Docs, Workspace, Sandbox, Messaging, Reply Tags, Voice, Silent Replies, Heartbeats, метадані середовища виконання, а також Memory і Reactions, коли вони увімкнені, і необов’язкові файли контексту та додатковий вміст системного промпту. Для мінімального режиму промпту, який використовується субагентами, розділи скорочуються. -Запит застосовується після створення сесії через `applySystemPromptOverrideToSession()`: +Промпт застосовується після створення сесії через `applySystemPromptOverrideToSession()`: ```typescript const systemPromptOverride = createSystemPromptOverride(appendPrompt); @@ -307,17 +304,17 @@ applySystemPromptOverrideToSession(session, systemPromptOverride); ### Файли сесій -Сесії — це файли JSONL із деревоподібною структурою (зв’язки id/parentId). `SessionManager` з Pi відповідає за збереження: +Сесії — це файли JSONL із деревоподібною структурою (зв’язування через id/parentId). Збереженням керує `SessionManager` із Pi: ```typescript const sessionManager = SessionManager.open(params.sessionFile); ``` -OpenClaw обгортає це через `guardSessionManager()` для безпеки результатів інструментів. +OpenClaw обгортає це через `guardSessionManager()` для безпечної роботи з результатами інструментів. ### Кешування сесій -`session-manager-cache.ts` кешує екземпляри SessionManager, щоб уникати повторного розбору файлів: +`session-manager-cache.ts` кешує екземпляри SessionManager, щоб уникнути повторного парсингу файлів: ```typescript await prewarmSessionFile(params.sessionFile); @@ -331,8 +328,8 @@ trackSessionManagerAccess(params.sessionFile); ### Compaction -Автоматичний Compaction спрацьовує під час переповнення контексту. Поширені сигнатури -переповнення включають `request_too_large`, `context length exceeded`, `input exceeds the +Автоматичний Compaction спрацьовує при переповненні контексту. Типові сигнатури переповнення включають +`request_too_large`, `context length exceeded`, `input exceeds the maximum number of tokens`, `input token count exceeds the maximum number of input tokens`, `input is too long for the model` і `ollama error: context length exceeded`. `compactEmbeddedPiSessionDirect()` обробляє ручний @@ -344,25 +341,25 @@ const compactResult = await compactEmbeddedPiSessionDirect({ }); ``` -## Автентифікація та визначення моделі +## Автентифікація та розв’язання моделі ### Профілі автентифікації -OpenClaw підтримує сховище профілів автентифікації з кількома API-ключами на provider: +OpenClaw підтримує сховище профілів автентифікації з кількома API-ключами для кожного провайдера: ```typescript const authStore = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false }); const profileOrder = resolveAuthProfileOrder({ cfg, store: authStore, provider, preferredProfile }); ``` -Профілі ротуються після збоїв із відстеженням cooldown: +Профілі ротуються при збоях із відстеженням cooldown: ```typescript await markAuthProfileFailure({ store, profileId, reason, cfg, agentDir }); const rotated = await advanceAuthProfile(); ``` -### Визначення моделі +### Розв’язання моделі ```typescript import { resolveModel } from "./pi-embedded-runner/model.js"; @@ -380,7 +377,7 @@ authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey); ### Failover -`FailoverError` запускає резервне перемикання моделі, якщо воно налаштоване: +`FailoverError` запускає резервне перемикання моделі, коли це налаштовано: ```typescript if (fallbackConfigured && isFailoverErrorMessage(errorText)) { @@ -396,11 +393,11 @@ if (fallbackConfigured && isFailoverErrorMessage(errorText)) { ## Розширення Pi -OpenClaw завантажує власні розширення Pi для спеціалізованої поведінки: +OpenClaw завантажує користувацькі розширення Pi для спеціалізованої поведінки: -### Захист Compaction +### Запобіжник Compaction -`src/agents/pi-hooks/compaction-safeguard.ts` додає запобіжники до Compaction, включно з адаптивним бюджетуванням токенів, а також зведеннями про збої інструментів і файлові операції: +`src/agents/pi-hooks/compaction-safeguard.ts` додає захисні обмеження до Compaction, зокрема адаптивне бюджетування токенів, а також підсумки збоїв інструментів і файлових операцій: ```typescript if (resolveCompactionMode(params.cfg) === "safeguard") { @@ -411,7 +408,7 @@ if (resolveCompactionMode(params.cfg) === "safeguard") { ### Обрізання контексту -`src/agents/pi-hooks/context-pruning.ts` реалізує обрізання контексту на основі TTL кешу: +`src/agents/pi-hooks/context-pruning.ts` реалізує обрізання контексту на основі cache-TTL: ```typescript if (cfg?.agents?.defaults?.contextPruning?.mode === "cache-ttl") { @@ -425,30 +422,30 @@ if (cfg?.agents?.defaults?.contextPruning?.mode === "cache-ttl") { } ``` -## Потокове передавання та блокові відповіді +## Потокова передача й блокові відповіді -### Розбиття блоків +### Розбиття на блоки -`EmbeddedBlockChunker` керує потоковим текстом, розбиваючи його на окремі блоки відповіді: +`EmbeddedBlockChunker` керує перетворенням потокового тексту на окремі блоки відповіді: ```typescript const blockChunker = blockChunking ? new EmbeddedBlockChunker(blockChunking) : null; ``` -### Вилучення тегів thinking/final +### Видалення тегів Thinking/Final -Потоковий вивід обробляється так, щоб прибрати блоки ``/`` і витягти вміст ``: +Потоковий вивід обробляється так, щоб видаляти блоки ``/`` і витягати вміст ``: ```typescript const stripBlockTags = (text: string, state: { thinking: boolean; final: boolean }) => { - // Прибрати вміст ... + // Видалити вміст ... // Якщо enforceFinalTag, повертати лише вміст ... }; ``` ### Директиви відповіді -Директиви відповіді, як-от `[[media:url]]`, `[[voice]]`, `[[reply:id]]`, аналізуються та витягуються: +Директиви відповіді, як-от `[[media:url]]`, `[[voice]]`, `[[reply:id]]`, розбираються та витягуються: ```typescript const { text: cleanedText, mediaUrls, audioAsVoice, replyToId } = consumeReplyDirectives(chunk); @@ -461,17 +458,17 @@ const { text: cleanedText, mediaUrls, audioAsVoice, replyToId } = consumeReplyDi `pi-embedded-helpers.ts` класифікує помилки для належної обробки: ```typescript -isContextOverflowError(errorText) // Контекст завеликий -isCompactionFailureError(errorText) // Не вдався Compaction +isContextOverflowError(errorText) // Контекст занадто великий +isCompactionFailureError(errorText) // Compaction не вдався isAuthAssistantError(lastAssistant) // Помилка автентифікації -isRateLimitAssistantError(...) // Спрацювало rate limit +isRateLimitAssistantError(...) // Досягнуто обмеження швидкості isFailoverAssistantError(...) // Потрібен failover classifyFailoverReason(errorText) // "auth" | "rate_limit" | "quota" | "timeout" | ... ``` ### Резервне зниження рівня thinking -Якщо рівень thinking не підтримується, використовується резервний варіант: +Якщо рівень thinking не підтримується, використовується запасний варіант: ```typescript const fallbackThinking = pickFallbackThinkingLevel({ @@ -496,28 +493,28 @@ const sandbox = await resolveSandboxContext({ }); if (sandboxRoot) { - // Використовувати інструменти read/edit/write у sandbox - // Exec працює в контейнері + // Використовувати ізольовані інструменти read/edit/write + // Exec виконується в контейнері // Browser використовує bridge URL } ``` -## Обробка, специфічна для provider +## Специфічна для провайдерів обробка ### Anthropic -- очищення магічного рядка відмови -- валідація ходів для послідовних ролей -- сувора перевірка параметрів інструментів Pi на боці upstream +- Очищення магічного рядка відмови +- Валідація ходів для послідовних ролей +- Сувора валідація параметрів інструментів Pi на стороні upstream ### Google/Gemini -- санітизація схеми інструментів, що належить plugin +- Очищення схем інструментів, що належать Plugin ### OpenAI -- інструмент `apply_patch` для моделей Codex -- обробка зниження рівня thinking +- Інструмент `apply_patch` для моделей Codex +- Обробка зниження рівня thinking ## Інтеграція TUI @@ -528,33 +525,33 @@ OpenClaw також має локальний режим TUI, який безп import { ... } from "@mariozechner/pi-tui"; ``` -Це забезпечує інтерактивну роботу в терміналі, подібну до нативного режиму Pi. +Це забезпечує інтерактивну роботу в терміналі, подібну до нативного режиму pi. ## Ключові відмінності від Pi CLI -| Аспект | Pi CLI | Вбудований OpenClaw | -| --------------- | ----------------------- | ------------------------------------------------------------------------------------------------ | -| Виклик | команда `pi` / RPC | SDK через `createAgentSession()` | -| Інструменти | Типові інструменти для коду | Власний набір інструментів OpenClaw | -| Системний запит | AGENTS.md + prompts | Динамічний для кожного каналу/контексту | +| Аспект | Pi CLI | Вбудований OpenClaw | +| --------------- | ----------------------- | -------------------------------------------------------------------------------------------------- | +| Виклик | команда `pi` / RPC | SDK через `createAgentSession()` | +| Інструменти | Типові інструменти кодування | Користувацький набір інструментів OpenClaw | +| Системний промпт | AGENTS.md + промпти | Динамічний для кожного каналу/контексту | | Зберігання сесій | `~/.pi/agent/sessions/` | `~/.openclaw/agents//sessions/` (або `$OPENCLAW_STATE_DIR/agents//sessions/`) | -| Автентифікація | Один обліковий запис | Кілька профілів із ротацією | -| Розширення | Завантажуються з диска | Програмно + шляхи на диску | -| Обробка подій | Рендеринг TUI | На основі callback (`onBlockReply` тощо) | +| Автентифікація | Один обліковий запис | Кілька профілів із ротацією | +| Розширення | Завантажуються з диска | Програмно + шляхи на диску | +| Обробка подій | Рендеринг TUI | На основі callback (`onBlockReply` тощо) | ## Майбутні міркування -Області для потенційного перероблення: +Напрями для можливого перегляду: -1. **Узгодження сигнатур інструментів**: наразі є адаптація між сигнатурами pi-agent-core і pi-coding-agent -2. **Обгортання менеджера сесій**: `guardSessionManager` додає безпеку, але підвищує складність -3. **Завантаження розширень**: можна було б пряміше використовувати `ResourceLoader` з Pi -4. **Складність обробника потоків**: `subscribeEmbeddedPiSession` значно зріс -5. **Особливості provider**: багато кодових шляхів, специфічних для provider, які потенційно міг би обробляти Pi +1. **Узгодження сигнатур інструментів**: наразі використовується адаптація між сигнатурами pi-agent-core і pi-coding-agent +2. **Обгортання SessionManager**: `guardSessionManager` додає безпеку, але підвищує складність +3. **Завантаження розширень**: можна було б безпосередніше використовувати `ResourceLoader` з Pi +4. **Складність обробника потоків**: `subscribeEmbeddedPiSession` став занадто великим +5. **Особливості провайдерів**: багато специфічних для провайдерів кодових шляхів, які потенційно міг би обробляти сам Pi ## Тести -Покриття інтеграції Pi охоплює такі набори: +Покриття інтеграції Pi охоплює такі набори тестів: - `src/agents/pi-*.test.ts` - `src/agents/pi-auth-json.test.ts` @@ -568,13 +565,13 @@ import { ... } from "@mariozechner/pi-tui"; - `src/agents/pi-settings.test.ts` - `src/agents/pi-hooks/**/*.test.ts` -Живі/opt-in: +Живі/опційні: - `src/agents/pi-embedded-runner-extraparams.live.test.ts` (увімкніть `OPENCLAW_LIVE_TEST=1`) -Актуальні команди запуску дивіться в [Робочий процес розробки Pi](/uk/pi-dev). +Актуальні команди запуску див. у [робочому процесі розробки Pi](/uk/pi-dev). ## Пов’язане -- [Робочий процес розробки Pi](/uk/pi-dev) -- [Огляд встановлення](/uk/install) +- [робочий процес розробки Pi](/uk/pi-dev) +- [огляд встановлення](/uk/install) diff --git a/docs/uk/providers/deepseek.md b/docs/uk/providers/deepseek.md index 0e0d5b9e6..c4c108fe5 100644 --- a/docs/uk/providers/deepseek.md +++ b/docs/uk/providers/deepseek.md @@ -1,26 +1,26 @@ --- read_when: - Ви хочете використовувати DeepSeek з OpenClaw - - Вам потрібна env var API-ключа або вибір автентифікації в CLI -summary: Налаштування DeepSeek (auth + вибір моделі) + - Вам потрібна змінна середовища для API-ключа або вибір автентифікації через CLI +summary: Налаштування DeepSeek (автентифікація + вибір моделі) title: DeepSeek x-i18n: - generated_at: "2026-04-23T21:05:47Z" + generated_at: "2026-04-24T15:13:05Z" model: gpt-5.4 provider: openai - source_hash: ead407c67c05bd8700db1cba36defdd9d47bdc9a071c76a07c4b4fb82f6b80e2 + source_hash: 5b0d2345c72328e14351d71c5784204dc6ed9dc922f919b6adfac394001c3261 source_path: providers/deepseek.md workflow: 15 --- -[DeepSeek](https://www.deepseek.com) надає потужні AI-моделі з OpenAI-сумісним API. +[DeepSeek](https://www.deepseek.com) надає потужні AI-моделі з API, сумісним з OpenAI. -| Властивість | Значення | -| ----------- | --------------------------- | -| Provider | `deepseek` | -| Auth | `DEEPSEEK_API_KEY` | -| API | OpenAI-сумісний | -| Base URL | `https://api.deepseek.com` | +| Властивість | Значення | +| ----------- | ------------------------- | +| Постачальник | `deepseek` | +| Автентифікація | `DEEPSEEK_API_KEY` | +| API | сумісний з OpenAI | +| Base URL | `https://api.deepseek.com` | ## Початок роботи @@ -33,7 +33,7 @@ x-i18n: openclaw onboard --auth-choice deepseek-api-key ``` - Це попросить ввести ваш API-ключ і встановить `deepseek/deepseek-chat` як типову модель. + Після цього буде запитано ваш API-ключ і встановлено `deepseek/deepseek-v4-flash` як модель за замовчуванням. @@ -45,7 +45,7 @@ x-i18n: - Для сценарних або headless-встановлень передайте всі прапорці безпосередньо: + Для скриптових або headless-установок передайте всі прапорці безпосередньо: ```bash openclaw onboard --non-interactive \ @@ -60,20 +60,24 @@ x-i18n: -Якщо Gateway працює як daemon (launchd/systemd), переконайтеся, що `DEEPSEEK_API_KEY` -доступний цьому процесу (наприклад, у `~/.openclaw/.env` або через +Якщо Gateway працює як демон (launchd/systemd), переконайтеся, що `DEEPSEEK_API_KEY` +доступна цьому процесу (наприклад, у `~/.openclaw/.env` або через `env.shellEnv`). ## Вбудований каталог -| Model ref | Назва | Вхід | Контекст | Макс. вивід | Примітки | -| ---------------------------- | ----------------- | ----- | -------- | ----------- | ------------------------------------------------------- | -| `deepseek/deepseek-chat` | DeepSeek Chat | text | 131,072 | 8,192 | Типова модель; поверхня DeepSeek V3.2 без thinking | -| `deepseek/deepseek-reasoner` | DeepSeek Reasoner | text | 131,072 | 65,536 | Поверхня V3.2 з увімкненими міркуваннями | +| Model ref | Назва | Вхід | Контекст | Макс. вивід | Примітки | +| ---------------------------- | ----------------- | ---- | --------- | ----------- | ------------------------------------------ | +| `deepseek/deepseek-v4-flash` | DeepSeek V4 Flash | text | 1,000,000 | 384,000 | Модель за замовчуванням; поверхня V4 з підтримкою thinking | +| `deepseek/deepseek-v4-pro` | DeepSeek V4 Pro | text | 1,000,000 | 384,000 | Поверхня V4 з підтримкою thinking | +| `deepseek/deepseek-chat` | DeepSeek Chat | text | 131,072 | 8,192 | Поверхня DeepSeek V3.2 без thinking | +| `deepseek/deepseek-reasoner` | DeepSeek Reasoner | text | 131,072 | 65,536 | Поверхня V3.2 з підтримкою міркування | -Обидві вбудовані моделі наразі в source заявляють сумісність із використанням streaming. +Моделі V4 підтримують параметр `thinking` від DeepSeek. OpenClaw також відтворює +`reasoning_content` DeepSeek на наступних ходах, тож сеанси thinking із викликами інструментів +можуть продовжуватися. ## Приклад конфігурації @@ -83,7 +87,7 @@ x-i18n: env: { DEEPSEEK_API_KEY: "sk-..." }, agents: { defaults: { - model: { primary: "deepseek/deepseek-chat" }, + model: { primary: "deepseek/deepseek-v4-flash" }, }, }, } @@ -93,9 +97,9 @@ x-i18n: - Вибір provider, refs моделей і поведінки failover. + Вибір постачальників, model ref і поведінки перемикання на резервний варіант. - - Повний довідник конфігурації для agents, models і providers. + + Повний довідник із конфігурації для агентів, моделей і постачальників.