chore(i18n): refresh uk translations
This commit is contained in:
parent
085528131a
commit
0d80cf8fc0
@ -1,40 +1,40 @@
|
||||
---
|
||||
read_when:
|
||||
- Вам потрібен довідник із налаштування моделей для кожного постачальника окремо
|
||||
- Вам потрібні приклади конфігурацій або команд онбордингу CLI для постачальників моделей
|
||||
- Вам потрібні приклади конфігурацій або команди онбордингу CLI для постачальників моделей
|
||||
summary: Огляд постачальників моделей із прикладами конфігурацій + потоками CLI
|
||||
title: Постачальники моделей
|
||||
x-i18n:
|
||||
generated_at: "2026-04-10T20:23:44Z"
|
||||
generated_at: "2026-04-10T20:29:02Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: f3d50795107077c7065773b5e545fae04b97f1d932a650d577b325d93bf25192
|
||||
source_hash: fc970eacc8babdd43e3e83f164846b82d1289f8335732d2135dc9f41c560489e
|
||||
source_path: concepts/model-providers.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Постачальники моделей
|
||||
|
||||
На цій сторінці описано **постачальників LLM/моделей** (а не канали чату, як-от WhatsApp/Telegram).
|
||||
Ця сторінка охоплює **постачальників LLM/моделей** (а не канали чату, як-от WhatsApp/Telegram).
|
||||
Правила вибору моделей див. у [/concepts/models](/uk/concepts/models).
|
||||
|
||||
## Швидкі правила
|
||||
|
||||
- Посилання на моделі використовують формат `provider/model` (приклад: `opencode/claude-opus-4-6`).
|
||||
- Якщо ви встановите `agents.defaults.models`, це стане allowlist.
|
||||
- Посилання на моделі використовують `provider/model` (приклад: `opencode/claude-opus-4-6`).
|
||||
- Якщо ви задаєте `agents.defaults.models`, це стає списком дозволених моделей.
|
||||
- Допоміжні команди CLI: `openclaw onboard`, `openclaw models list`, `openclaw models set <provider/model>`.
|
||||
- Резервні правила середовища виконання, перевірки cooldown і збереження session-override
|
||||
- Резервні правила середовища виконання, перевірки cooldown і збереження session override
|
||||
задокументовано в [/concepts/model-failover](/uk/concepts/model-failover).
|
||||
- `models.providers.*.models[].contextWindow` — це нативні метадані моделі;
|
||||
- `models.providers.*.models[].contextWindow` — це власні метадані моделі;
|
||||
`models.providers.*.models[].contextTokens` — це фактичне обмеження середовища виконання.
|
||||
- Плагіни постачальників можуть впроваджувати каталоги моделей через `registerProvider({ catalog })`;
|
||||
OpenClaw об’єднує цей вивід у `models.providers` перед записом
|
||||
`models.json`.
|
||||
- Маніфести постачальників можуть оголошувати `providerAuthEnvVars` і
|
||||
`providerAuthAliases`, щоб загальні перевірки автентифікації на основі env
|
||||
і варіанти постачальників не потребували завантаження середовища виконання плагіна. Решта основної мапи env-змінних тепер
|
||||
використовується лише для неплагінних/основних постачальників і кількох випадків
|
||||
із загальним пріоритетом, таких як онбординг Anthropic із пріоритетом API-ключа.
|
||||
`providerAuthAliases`, щоб загальні перевірки автентифікації на основі env і варіанти постачальників
|
||||
не потребували завантаження середовища виконання плагіна. Решта мапи env-змінних у core тепер
|
||||
призначена лише для постачальників core/без плагінів і кількох випадків загального пріоритету,
|
||||
як-от онбординг Anthropic із пріоритетом API-ключа.
|
||||
- Плагіни постачальників також можуть володіти поведінкою середовища виконання постачальника через
|
||||
`normalizeModelId`, `normalizeTransport`, `normalizeConfig`,
|
||||
`applyNativeStreamingUsageCompat`, `resolveConfigApiKey`,
|
||||
@ -53,221 +53,224 @@ x-i18n:
|
||||
`resolveDefaultThinkingLevel`, `applyConfigDefaults`, `isModernModelRef`,
|
||||
`prepareRuntimeAuth`, `resolveUsageAuth`, `fetchUsageSnapshot`, і
|
||||
`onModelSelected`.
|
||||
- Примітка: runtime `capabilities` постачальника — це спільні метадані виконувача (сімейство постачальника, особливості стенограми/інструментів, підказки щодо транспорту/кешу). Це не те
|
||||
- Примітка: `capabilities` середовища виконання постачальника — це спільні метадані раннера (сімейство постачальника, особливості транскрипту/інструментів, підказки для транспорту/кешу). Це не те
|
||||
саме, що [публічна модель можливостей](/uk/plugins/architecture#public-capability-model),
|
||||
яка описує, що реєструє плагін (текстовий inference, мовлення тощо).
|
||||
- Вбудований постачальник `codex` працює в парі з вбудованим агентним середовищем Codex.
|
||||
Використовуйте `codex/gpt-*`, коли вам потрібні керований Codex вхід, виявлення моделей, нативне
|
||||
відновлення thread і виконання app-server. Звичайні посилання `openai/gpt-*` і надалі
|
||||
використовують постачальника OpenAI та стандартний транспорт постачальників OpenClaw.
|
||||
- Вбудований постачальник `codex` поєднано з вбудованою обв’язкою агента Codex.
|
||||
Використовуйте `codex/gpt-*`, якщо вам потрібні вхід Codex, виявлення моделей, власне
|
||||
відновлення thread і виконання на app server. Звичайні посилання `openai/gpt-*` і надалі
|
||||
використовують постачальника OpenAI та стандартний транспорт постачальника OpenClaw.
|
||||
У розгортаннях лише з Codex можна вимкнути автоматичний резервний перехід на PI за допомогою
|
||||
`agents.defaults.embeddedHarness.fallback: "none"`; див.
|
||||
[Плагіни Agent Harness](/uk/plugins/sdk-agent-harness#disable-pi-fallback).
|
||||
|
||||
## Поведінка постачальників, якою володіє плагін
|
||||
## Поведінка постачальника, що належить плагіну
|
||||
|
||||
Плагіни постачальників тепер можуть володіти більшістю специфічної для постачальника логіки, тоді як OpenClaw зберігає
|
||||
Тепер плагіни постачальників можуть володіти більшістю логіки, специфічної для постачальника, тоді як OpenClaw зберігає
|
||||
загальний цикл inference.
|
||||
|
||||
Типовий поділ:
|
||||
Типовий розподіл:
|
||||
|
||||
- `auth[].run` / `auth[].runNonInteractive`: постачальник володіє потоками онбордингу/входу
|
||||
для `openclaw onboard`, `openclaw models auth` і безголового налаштування
|
||||
- `wizard.setup` / `wizard.modelPicker`: постачальник володіє мітками вибору автентифікації,
|
||||
застарілими псевдонімами, підказками allowlist для онбордингу та записами
|
||||
застарілими псевдонімами, підказками для allowlist під час онбордингу та записами
|
||||
налаштування в засобах вибору онбордингу/моделей
|
||||
- `catalog`: постачальник з’являється в `models.providers`
|
||||
- `normalizeModelId`: постачальник нормалізує застарілі/preview ідентифікатори моделей перед
|
||||
пошуком або канонізацією
|
||||
- `normalizeTransport`: постачальник нормалізує `api` / `baseUrl` сімейства транспорту
|
||||
перед загальним складанням моделі; OpenClaw спочатку перевіряє відповідного постачальника,
|
||||
потім інші плагіни постачальників із підтримкою хуків, доки один із них справді не змінить
|
||||
потім інші плагіни постачальників із підтримкою hook, доки один із них справді не змінить
|
||||
транспорт
|
||||
- `normalizeConfig`: постачальник нормалізує конфігурацію `models.providers.<id>` перед
|
||||
використанням у середовищі виконання; OpenClaw спочатку перевіряє відповідного постачальника, потім інші
|
||||
плагіни постачальників із підтримкою хуків, доки один із них справді не змінить конфігурацію. Якщо жоден
|
||||
хук постачальника не переписує конфігурацію, вбудовані допоміжні засоби сімейства Google все одно
|
||||
плагіни постачальників із підтримкою hook, доки один із них справді не змінить конфігурацію. Якщо жоден
|
||||
hook постачальника не переписує конфігурацію, вбудовані допоміжні засоби сімейства Google все одно
|
||||
нормалізують підтримувані записи постачальників Google.
|
||||
- `applyNativeStreamingUsageCompat`: постачальник застосовує переписування сумісності native streaming-usage на основі endpoint для конфігурованих постачальників
|
||||
- `resolveConfigApiKey`: постачальник визначає автентифікацію маркерів env для конфігурованих постачальників
|
||||
без примусового повного завантаження runtime-автентифікації. `amazon-bedrock` також має
|
||||
тут вбудований розв’язувач маркерів AWS env, хоча runtime-автентифікація Bedrock використовує
|
||||
- `applyNativeStreamingUsageCompat`: постачальник застосовує переписування сумісності native streaming-usage на основі endpoint для постачальників конфігурації
|
||||
- `resolveConfigApiKey`: постачальник визначає автентифікацію з env-marker для постачальників конфігурації
|
||||
без примусового повного завантаження автентифікації середовища виконання. `amazon-bedrock` також має
|
||||
тут вбудований резолвер AWS env-marker, хоча автентифікація середовища виконання Bedrock використовує
|
||||
стандартний ланцюжок AWS SDK.
|
||||
- `resolveSyntheticAuth`: постачальник може надавати доступність локальної/self-hosted або іншої
|
||||
автентифікації на основі конфігурації без збереження відкритих секретів
|
||||
- `shouldDeferSyntheticProfileAuth`: постачальник може позначати збережені synthetic profile
|
||||
placeholders як нижчі за пріоритетом, ніж автентифікація на основі env/конфігурації
|
||||
автентифікації на основі конфігурації без збереження секретів у відкритому вигляді
|
||||
- `shouldDeferSyntheticProfileAuth`: постачальник може позначати збережені синтетичні заповнювачі профілю
|
||||
як такі, що мають нижчий пріоритет, ніж автентифікація на основі env/конфігурації
|
||||
- `resolveDynamicModel`: постачальник приймає ідентифікатори моделей, яких ще немає в локальному
|
||||
статичному каталозі
|
||||
- `prepareDynamicModel`: постачальнику потрібне оновлення метаданих перед повторною спробою
|
||||
- `prepareDynamicModel`: постачальнику потрібно оновити метадані перед повторною спробою
|
||||
динамічного визначення
|
||||
- `normalizeResolvedModel`: постачальнику потрібні переписування транспорту або base URL
|
||||
- `contributeResolvedModelCompat`: постачальник додає прапори сумісності для своїх
|
||||
вендорських моделей, навіть якщо вони надходять через інший сумісний транспорт
|
||||
- `capabilities`: постачальник публікує особливості стенограми/інструментів/сімейства постачальника
|
||||
- `normalizeToolSchemas`: постачальник очищає схеми інструментів перед тим, як вбудований
|
||||
виконувач їх побачить
|
||||
- `normalizeResolvedModel`: постачальнику потрібні переписування транспорту або базового URL
|
||||
- `contributeResolvedModelCompat`: постачальник додає прапорці сумісності для своїх
|
||||
моделей постачальника, навіть коли вони надходять через інший сумісний транспорт
|
||||
- `capabilities`: постачальник публікує особливості транскрипту/інструментів/сімейства постачальника
|
||||
- `normalizeToolSchemas`: постачальник очищує схеми інструментів перед тим, як вбудований
|
||||
раннер їх побачить
|
||||
- `inspectToolSchemas`: постачальник показує попередження про схеми, специфічні для транспорту,
|
||||
після нормалізації
|
||||
- `resolveReasoningOutputMode`: постачальник вибирає нативні або теговані
|
||||
контракти виводу reasoning
|
||||
- `prepareExtraParams`: постачальник задає типові або нормалізує параметри запиту для кожної моделі
|
||||
- `createStreamFn`: постачальник замінює звичайний шлях stream повністю
|
||||
- `resolveReasoningOutputMode`: постачальник вибирає між native і tagged
|
||||
контрактами виводу reasoning
|
||||
- `prepareExtraParams`: постачальник задає типові значення або нормалізує параметри запиту для кожної моделі
|
||||
- `createStreamFn`: постачальник замінює звичайний шлях потоку повністю
|
||||
користувацьким транспортом
|
||||
- `wrapStreamFn`: постачальник застосовує обгортки сумісності для заголовків/тіла запиту/моделі
|
||||
- `resolveTransportTurnState`: постачальник надає нативні транспортні
|
||||
заголовки або метадані для кожного ходу
|
||||
- `resolveWebSocketSessionPolicy`: постачальник надає нативні заголовки сесії WebSocket
|
||||
або політику cool-down сесії
|
||||
- `wrapStreamFn`: постачальник застосовує обгортки сумісності для заголовків/тіла/моделі запиту
|
||||
- `resolveTransportTurnState`: постачальник надає власні заголовки
|
||||
або метадані транспорту для кожного ходу
|
||||
- `resolveWebSocketSessionPolicy`: постачальник надає власні заголовки сеансу WebSocket
|
||||
або політику cool-down для сеансу
|
||||
- `createEmbeddingProvider`: постачальник володіє поведінкою memory embedding, коли вона
|
||||
належить плагіну постачальника, а не основному комутатору embedding
|
||||
- `formatApiKey`: постачальник форматує збережені профілі автентифікації у runtime
|
||||
рядок `apiKey`, очікуваний транспортом
|
||||
- `refreshOAuth`: постачальник володіє оновленням OAuth, коли спільних оновлювачів `pi-ai`
|
||||
має належати плагіну постачальника, а не основному switchboard embedding
|
||||
- `formatApiKey`: постачальник форматує збережені профілі автентифікації у
|
||||
рядок `apiKey`, якого очікує транспорт у середовищі виконання
|
||||
- `refreshOAuth`: постачальник володіє оновленням OAuth, коли спільних засобів оновлення `pi-ai`
|
||||
недостатньо
|
||||
- `buildAuthDoctorHint`: постачальник додає рекомендації з виправлення, коли оновлення OAuth
|
||||
- `buildAuthDoctorHint`: постачальник додає підказку з відновлення, коли оновлення OAuth
|
||||
не вдається
|
||||
- `matchesContextOverflowError`: постачальник розпізнає специфічні для постачальника
|
||||
помилки переповнення вікна контексту, які загальні евристики пропустили б
|
||||
- `classifyFailoverReason`: постачальник зіставляє специфічні для постачальника сирі транспортні/API
|
||||
помилки з причинами failover, такими як rate limit або overload
|
||||
- `isCacheTtlEligible`: постачальник визначає, які upstream ідентифікатори моделей підтримують prompt-cache TTL
|
||||
помилки переповнення context-window, які загальні евристики могли б пропустити
|
||||
- `classifyFailoverReason`: постачальник зіставляє специфічні для постачальника необроблені помилки транспорту/API
|
||||
з причинами failover, як-от rate limit або overload
|
||||
- `isCacheTtlEligible`: постачальник визначає, які upstream ідентифікатори моделей підтримують TTL кешу підказок
|
||||
- `buildMissingAuthMessage`: постачальник замінює загальну помилку сховища автентифікації
|
||||
на специфічну для постачальника підказку з відновлення
|
||||
- `suppressBuiltInModel`: постачальник приховує застарілі upstream рядки та може повертати
|
||||
помилку, що належить вендору, для прямих збоїв визначення
|
||||
- `augmentModelCatalog`: постачальник додає synthetic/final рядки каталогу після
|
||||
- `suppressBuiltInModel`: постачальник приховує застарілі upstream-рядки та може повертати
|
||||
помилку, що належить постачальнику, для прямих збоїв визначення
|
||||
- `augmentModelCatalog`: постачальник додає синтетичні/фінальні рядки каталогу після
|
||||
виявлення та об’єднання конфігурації
|
||||
- `isBinaryThinking`: постачальник володіє UX для бінарного вмикання/вимикання thinking
|
||||
- `supportsXHighThinking`: постачальник додає вибраним моделям підтримку `xhigh`
|
||||
- `isBinaryThinking`: постачальник володіє UX бінарного ввімкнення/вимкнення thinking
|
||||
- `supportsXHighThinking`: постачальник вмикає `xhigh` для вибраних моделей
|
||||
- `resolveDefaultThinkingLevel`: постачальник володіє типовою політикою `/think` для
|
||||
сімейства моделей
|
||||
- `applyConfigDefaults`: постачальник застосовує глобальні типові значення, специфічні для постачальника,
|
||||
під час матеріалізації конфігурації на основі режиму автентифікації, env або сімейства моделей
|
||||
під час матеріалізації конфігурації залежно від режиму автентифікації, env або сімейства моделей
|
||||
- `isModernModelRef`: постачальник володіє зіставленням бажаних моделей для live/smoke
|
||||
- `prepareRuntimeAuth`: постачальник перетворює налаштовані облікові дані на короткоживучий
|
||||
runtime-токен
|
||||
- `resolveUsageAuth`: постачальник визначає облікові дані usage/quota для `/usage`
|
||||
та пов’язаних поверхонь стану/звітності
|
||||
- `fetchUsageSnapshot`: постачальник володіє отриманням/розбором endpoint usage, тоді як
|
||||
токен середовища виконання
|
||||
- `resolveUsageAuth`: постачальник визначає облікові дані використання/квоти для `/usage`
|
||||
та пов’язаних поверхонь status/reporting
|
||||
- `fetchUsageSnapshot`: постачальник володіє отриманням/розбором endpoint використання, тоді як
|
||||
core і далі володіє оболонкою підсумку та форматуванням
|
||||
- `onModelSelected`: постачальник виконує побічні ефекти після вибору моделі, такі як
|
||||
телеметрія або облік сесій, що належить постачальнику
|
||||
- `onModelSelected`: постачальник виконує побічні ефекти після вибору моделі, як-от
|
||||
телеметрія або ведення обліку сеансу, що належить постачальнику
|
||||
|
||||
Поточні вбудовані приклади:
|
||||
|
||||
- `anthropic`: резервна сумісність уперед для Claude 4.6, підказки з відновлення автентифікації, отримання
|
||||
endpoint usage, метадані cache-TTL/сімейства постачальника та глобальні
|
||||
- `anthropic`: резервний механізм прямої сумісності вперед для Claude 4.6, підказки з відновлення автентифікації, отримання
|
||||
endpoint використання, метадані cache-TTL/сімейства постачальника та глобальні
|
||||
типові значення конфігурації з урахуванням автентифікації
|
||||
- `amazon-bedrock`: зіставлення переповнення контексту, яким володіє постачальник, і класифікація
|
||||
причин failover для специфічних помилок Bedrock throttle/not-ready, а також
|
||||
спільне сімейство повторного відтворення `anthropic-by-model` для захистів політики повторного відтворення
|
||||
лише для Claude у трафіку Anthropic
|
||||
- `anthropic-vertex`: захисти політики повторного відтворення лише для Claude в трафіку
|
||||
повідомлень Anthropic
|
||||
- `openrouter`: наскрізні ідентифікатори моделей, обгортки запитів, підказки щодо можливостей постачальника,
|
||||
санітизація Gemini thought-signature у проксійованому трафіку Gemini, впровадження proxy
|
||||
reasoning через сімейство потоків `openrouter-thinking`, пересилання
|
||||
метаданих маршрутизації та політика cache-TTL
|
||||
- `github-copilot`: онбординг/вхід за пристроєм, резервна сумісність уперед для моделей,
|
||||
підказки Claude-thinking для стенограм, обмін runtime-токенів і отримання
|
||||
endpoint usage
|
||||
- `openai`: резервна сумісність уперед для GPT-5.4, нормалізація прямого транспорту
|
||||
OpenAI, підказки про відсутню автентифікацію з урахуванням Codex, придушення Spark, synthetic
|
||||
рядки каталогу OpenAI/Codex, політика thinking/live-model, нормалізація псевдонімів usage-token
|
||||
- `amazon-bedrock`: визначення переповнення контексту і класифікація
|
||||
причин failover для специфічних помилок Bedrock на кшталт throttle/not-ready, а також
|
||||
спільне сімейство повторного відтворення `anthropic-by-model` для захисту політики replay лише для Claude
|
||||
на трафіку Anthropic
|
||||
- `anthropic-vertex`: захист політики replay лише для Claude на трафіку
|
||||
Anthropic-message
|
||||
- `openrouter`: наскрізні ідентифікатори моделей, обгортки запитів, підказки
|
||||
про можливості постачальника, санітизація thought-signature Gemini на проксійованому трафіку Gemini,
|
||||
впровадження reasoning через проксі за допомогою сімейства потоків `openrouter-thinking`,
|
||||
пересилання метаданих маршрутизації та політика cache-TTL
|
||||
- `github-copilot`: онбординг/вхід за кодом пристрою, резервна сумісність моделей уперед,
|
||||
підказки для транскрипту Claude-thinking, обмін runtime-токенами та отримання
|
||||
endpoint використання
|
||||
- `openai`: резервна сумісність уперед для GPT-5.4, пряма нормалізація транспорту OpenAI,
|
||||
підказки щодо відсутньої автентифікації з урахуванням Codex, приховування Spark, синтетичні
|
||||
рядки каталогу OpenAI/Codex, політика thinking/live-model, нормалізація псевдонімів токенів використання
|
||||
(`input` / `output` і сімейства `prompt` / `completion`), спільне
|
||||
сімейство потоків `openai-responses-defaults` для нативних обгорток OpenAI/Codex,
|
||||
сімейство потоків `openai-responses-defaults` для native-обгорток OpenAI/Codex,
|
||||
метадані сімейства постачальника, реєстрація вбудованого постачальника генерації зображень
|
||||
для `gpt-image-1` і реєстрація вбудованого постачальника генерації відео
|
||||
для `sora-2`
|
||||
- `google` і `google-gemini-cli`: резервна сумісність уперед для Gemini 3.1,
|
||||
нативна перевірка повторного відтворення Gemini, санітизація bootstrap replay, тегований
|
||||
режим виводу reasoning, зіставлення сучасних моделей, реєстрація вбудованого постачальника
|
||||
генерації зображень для моделей Gemini image-preview і вбудована
|
||||
реєстрація постачальника генерації відео для моделей Veo; Gemini CLI OAuth також
|
||||
володіє форматуванням токенів профілю автентифікації, розбором usage-token і отриманням
|
||||
endpoint квот для поверхонь usage
|
||||
- `moonshot`: спільний транспорт, нормалізація payload thinking, якою володіє плагін
|
||||
- `kilocode`: спільний транспорт, заголовки запитів, якими володіє плагін, нормалізація payload reasoning,
|
||||
санітизація proxy-Gemini thought-signature і політика cache-TTL
|
||||
native-перевірка replay для Gemini, санітизація bootstrap replay, tagged
|
||||
режим виводу reasoning, зіставлення modern-model, реєстрація вбудованого постачальника генерації зображень
|
||||
для моделей Gemini image-preview і реєстрація вбудованого
|
||||
постачальника генерації відео для моделей Veo; Gemini CLI OAuth також
|
||||
володіє форматуванням токенів профілю автентифікації, розбором токенів використання та отриманням
|
||||
endpoint квот для поверхонь використання
|
||||
- `moonshot`: спільний транспорт, нормалізація payload thinking, що належить плагіну
|
||||
- `kilocode`: спільний транспорт, заголовки запитів, що належать плагіну, payload reasoning
|
||||
нормалізація, санітизація thought-signature проксі-Gemini та політика cache-TTL
|
||||
- `zai`: резервна сумісність уперед для GLM-5, типові значення `tool_stream`, політика cache-TTL,
|
||||
політика binary-thinking/live-model і usage auth + отримання квот;
|
||||
політика binary-thinking/live-model та автентифікація використання + отримання квот;
|
||||
невідомі ідентифікатори `glm-5*` синтезуються з вбудованого шаблону `glm-4.7`
|
||||
- `xai`: нативна нормалізація транспорту Responses, переписування псевдонімів `/fast` для
|
||||
швидких варіантів Grok, типовий `tool_stream`, очищення схем інструментів /
|
||||
payload reasoning, специфічне для xAI, і реєстрація вбудованого постачальника генерації відео
|
||||
- `xai`: native-нормалізація транспорту Responses, переписування псевдонімів `/fast` для
|
||||
швидких варіантів Grok, типове значення `tool_stream`, очищення схем інструментів /
|
||||
payload reasoning, специфічне для xAI, та реєстрація вбудованого постачальника генерації відео
|
||||
для `grok-imagine-video`
|
||||
- `mistral`: метадані можливостей, якими володіє плагін
|
||||
- `opencode` і `opencode-go`: метадані можливостей, якими володіє плагін, плюс
|
||||
санітизація proxy-Gemini thought-signature
|
||||
- `alibaba`: каталог генерації відео, яким володіє плагін, для прямих посилань на моделі Wan,
|
||||
таких як `alibaba/wan2.6-t2v`
|
||||
- `byteplus`: каталоги, якими володіє плагін, плюс реєстрація вбудованого постачальника генерації відео
|
||||
- `mistral`: метадані можливостей, що належать плагіну
|
||||
- `opencode` і `opencode-go`: метадані можливостей, що належать плагіну, плюс
|
||||
санітизація thought-signature проксі-Gemini
|
||||
- `alibaba`: каталог генерації відео, що належить плагіну, для прямих посилань на моделі Wan
|
||||
на кшталт `alibaba/wan2.6-t2v`
|
||||
- `byteplus`: каталоги, що належать плагіну, плюс реєстрація вбудованого постачальника генерації відео
|
||||
для моделей Seedance text-to-video/image-to-video
|
||||
- `fal`: реєстрація вбудованого постачальника генерації відео для розміщених сторонніх
|
||||
моделей, реєстрація постачальника генерації зображень для моделей FLUX плюс вбудована
|
||||
реєстрація постачальника генерації відео для розміщених сторонніх відеомоделей
|
||||
моделей, реєстрація постачальника генерації зображень для моделей FLUX, а також реєстрація вбудованого
|
||||
постачальника генерації відео для розміщених сторонніх відеомоделей
|
||||
- `cloudflare-ai-gateway`, `huggingface`, `kimi`, `nvidia`, `qianfan`,
|
||||
`stepfun`, `synthetic`, `venice`, `vercel-ai-gateway` і `volcengine`:
|
||||
лише каталоги, якими володіє плагін
|
||||
- `qwen`: каталоги текстових моделей, якими володіє плагін, плюс спільні
|
||||
реєстрації постачальників media-understanding і генерації відео для його
|
||||
мультимодальних поверхонь; генерація відео Qwen використовує стандартні відеоendpoint-и DashScope
|
||||
зі вбудованими моделями Wan, такими як `wan2.6-t2v` і `wan2.7-r2v`
|
||||
- `runway`: реєстрація постачальника генерації відео, якою володіє плагін, для нативних
|
||||
task-based моделей Runway, таких як `gen4.5`
|
||||
- `minimax`: каталоги, якими володіє плагін, вбудована реєстрація постачальника генерації відео
|
||||
для відеомоделей Hailuo, вбудована реєстрація постачальника генерації зображень
|
||||
для `image-01`, гібридний вибір політики повторного відтворення Anthropic/OpenAI
|
||||
і логіка auth/snapshot usage
|
||||
- `together`: каталоги, якими володіє плагін, плюс вбудована реєстрація постачальника генерації відео
|
||||
лише каталоги, що належать плагіну
|
||||
- `qwen`: каталоги текстових моделей, що належать плагіну, плюс спільні
|
||||
реєстрації постачальників media-understanding і video-generation для його
|
||||
мультимодальних поверхонь; генерація відео Qwen використовує стандартні відеоendpoint-и DashScope з
|
||||
вбудованими моделями Wan, такими як `wan2.6-t2v` і `wan2.7-r2v`
|
||||
- `runway`: реєстрація постачальника генерації відео, що належить плагіну, для нативних
|
||||
моделей на основі задач Runway, таких як `gen4.5`
|
||||
- `minimax`: каталоги, що належать плагіну, реєстрація вбудованого постачальника генерації відео
|
||||
для відеомоделей Hailuo, реєстрація вбудованого постачальника генерації зображень
|
||||
для `image-01`, гібридний вибір політики replay Anthropic/OpenAI
|
||||
та логіка автентифікації/знімків використання
|
||||
- `together`: каталоги, що належать плагіну, плюс реєстрація вбудованого постачальника генерації відео
|
||||
для відеомоделей Wan
|
||||
- `xiaomi`: каталоги, якими володіє плагін, плюс логіка auth/snapshot usage
|
||||
- `xiaomi`: каталоги, що належать плагіну, плюс логіка автентифікації/знімків використання
|
||||
|
||||
Вбудований плагін `openai` тепер володіє обома ідентифікаторами постачальників: `openai` і
|
||||
Вбудований плагін `openai` тепер володіє обома ідентифікаторами постачальника: `openai` і
|
||||
`openai-codex`.
|
||||
|
||||
Це охоплює постачальників, які все ще відповідають звичайним транспортам OpenClaw. Постачальник,
|
||||
якому потрібен повністю користувацький виконувач запитів, — це окрема, глибша поверхня розширення.
|
||||
Це охоплює постачальників, які все ще вписуються у звичайні транспорти OpenClaw. Постачальник,
|
||||
якому потрібен повністю користувацький виконавець запитів, — це окрема, глибша поверхня розширення.
|
||||
|
||||
## Ротація API-ключів
|
||||
|
||||
- Підтримує загальну ротацію постачальників для вибраних постачальників.
|
||||
- Налаштуйте кілька ключів через:
|
||||
- `OPENCLAW_LIVE_<PROVIDER>_KEY` (одне live-перевизначення, найвищий пріоритет)
|
||||
- `OPENCLAW_LIVE_<PROVIDER>_KEY` (один live override, найвищий пріоритет)
|
||||
- `<PROVIDER>_API_KEYS` (список через кому або крапку з комою)
|
||||
- `<PROVIDER>_API_KEY` (основний ключ)
|
||||
- `<PROVIDER>_API_KEY_*` (нумерований список, наприклад `<PROVIDER>_API_KEY_1`)
|
||||
- Для постачальників Google `GOOGLE_API_KEY` також включається як запасний варіант.
|
||||
- Порядок вибору ключів зберігає пріоритет і усуває дублікати значень.
|
||||
- Запити повторюються з наступним ключем лише у відповідях із rate limit (наприклад
|
||||
`429`, `rate_limit`, `quota`, `resource exhausted`, `Too many
|
||||
- Для постачальників Google `GOOGLE_API_KEY` також включається як резервний варіант.
|
||||
- Порядок вибору ключів зберігає пріоритет і прибирає дублікати значень.
|
||||
- Повторні спроби запитів із наступним ключем виконуються лише у відповідь на rate-limit
|
||||
відповіді (наприклад `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many
|
||||
concurrent requests`, `ThrottlingException`, `concurrency limit reached`,
|
||||
`workers_ai ... quota limit exceeded` або періодичні повідомлення про ліміт usage).
|
||||
- Збої, не пов’язані з rate limit, завершуються одразу; ротація ключів не виконується.
|
||||
- Якщо всі кандидатні ключі не спрацювали, повертається остання помилка з останньої спроби.
|
||||
`workers_ai ... quota limit exceeded` або періодичні повідомлення про ліміт використання).
|
||||
- Збої, не пов’язані з rate-limit, завершуються негайно; ротація ключів не виконується.
|
||||
- Коли всі можливі ключі не спрацювали, повертається фінальна помилка з останньої спроби.
|
||||
|
||||
## Вбудовані постачальники (каталог pi-ai)
|
||||
|
||||
OpenClaw постачається з каталогом pi‑ai. Ці постачальники **не**
|
||||
потребують конфігурації `models.providers`; просто налаштуйте автентифікацію й виберіть модель.
|
||||
OpenClaw постачається з каталогом pi‑ai. Для цих постачальників **не потрібна**
|
||||
конфігурація `models.providers`; достатньо налаштувати автентифікацію та вибрати модель.
|
||||
|
||||
### 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` (один override)
|
||||
- Приклади моделей: `openai/gpt-5.4`, `openai/gpt-5.4-pro`
|
||||
- CLI: `openclaw onboard --auth-choice openai-api-key`
|
||||
- Типовий транспорт — `auto` (спочатку WebSocket, запасний варіант SSE)
|
||||
- Перевизначення для окремої моделі через `agents.defaults.models["openai/<model>"].params.transport` (`"sse"`, `"websocket"` або `"auto"`)
|
||||
- Warm-up OpenAI Responses WebSocket типово ввімкнений через `params.openaiWsWarmup` (`true`/`false`)
|
||||
- Транспорт за замовчуванням — `auto` (спочатку WebSocket, резервно SSE)
|
||||
- Override для окремої моделі через `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`
|
||||
- `/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 також зберігають `store` Responses, підказки prompt-cache і
|
||||
формування payload для сумісності reasoning OpenAI; проксі-маршрути цього не роблять
|
||||
- `openai/gpt-5.3-codex-spark` навмисно приглушено в OpenClaw, оскільки live API OpenAI його відхиляє; Spark вважається лише Codex
|
||||
`User-Agent`) застосовуються лише до native-трафіку OpenAI на `api.openai.com`, а не
|
||||
до загальних проксі, сумісних з OpenAI
|
||||
- Native-маршрути OpenAI також зберігають Responses `store`, підказки кешу промптів і
|
||||
формування payload сумісності reasoning OpenAI; проксі-маршрути — ні
|
||||
- `openai/gpt-5.3-codex-spark` навмисно приховано в OpenClaw, оскільки live API OpenAI його відхиляє; Spark вважається доступним лише для Codex
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -279,12 +282,12 @@ OpenClaw постачається з каталогом pi‑ai. Ці поста
|
||||
|
||||
- Постачальник: `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` (один override)
|
||||
- Приклад моделі: `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 не опублікує нову політику.
|
||||
- Anthropic setup-token і надалі доступний як підтримуваний шлях токена 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
|
||||
{
|
||||
@ -298,15 +301,15 @@ OpenClaw постачається з каталогом pi‑ai. Ці поста
|
||||
- Автентифікація: OAuth (ChatGPT)
|
||||
- Приклад моделі: `openai-codex/gpt-5.4`
|
||||
- CLI: `openclaw onboard --auth-choice openai-codex` або `openclaw models auth login --provider openai-codex`
|
||||
- Типовий транспорт — `auto` (спочатку WebSocket, запасний варіант SSE)
|
||||
- Перевизначення для окремої моделі через `agents.defaults.models["openai-codex/<model>"].params.transport` (`"sse"`, `"websocket"` або `"auto"`)
|
||||
- `params.serviceTier` також пересилається в нативних запитах Codex Responses (`chatgpt.com/backend-api`)
|
||||
- Транспорт за замовчуванням — `auto` (спочатку WebSocket, резервно SSE)
|
||||
- Override для окремої моделі через `agents.defaults.models["openai-codex/<model>"].params.transport` (`"sse"`, `"websocket"` або `"auto"`)
|
||||
- `params.serviceTier` також пересилається в native-запитах 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.3-codex-spark` і далі доступний, коли каталог Codex OAuth його показує; залежить від entitlement
|
||||
- `openai-codex/gpt-5.4` зберігає нативні `contextWindow = 1050000` і типові runtime `contextTokens = 272000`; перевизначте runtime-ліміт через `models.providers.openai-codex.models[].contextTokens`
|
||||
`User-Agent`) додаються лише до native-трафіку Codex на
|
||||
`chatgpt.com/backend-api`, а не до загальних проксі, сумісних з OpenAI
|
||||
- Використовує той самий перемикач `/fast` і конфігурацію `params.fastMode`, що й прямий `openai/*`; OpenClaw зіставляє це з `service_tier=priority`
|
||||
- `openai-codex/gpt-5.3-codex-spark` і далі доступний, коли каталог OAuth Codex його показує; залежить від entitlement
|
||||
- `openai-codex/gpt-5.4` зберігає native `contextWindow = 1050000` і типове runtime-значення `contextTokens = 272000`; змініть runtime-обмеження через `models.providers.openai-codex.models[].contextTokens`
|
||||
- Примітка щодо політики: OAuth OpenAI Codex явно підтримується для зовнішніх інструментів/робочих процесів, таких як OpenClaw.
|
||||
|
||||
```json5
|
||||
@ -329,15 +332,15 @@ OpenClaw постачається з каталогом pi‑ai. Ці поста
|
||||
|
||||
### Інші розміщені варіанти у стилі підписки
|
||||
|
||||
- [Qwen Cloud](/uk/providers/qwen): поверхня постачальника Qwen Cloud плюс зіставлення endpoint-ів Alibaba DashScope і Coding Plan
|
||||
- [MiniMax](/uk/providers/minimax): доступ через OAuth або API-ключ MiniMax Coding Plan
|
||||
- [GLM Models](/uk/providers/glm): endpoint-и Z.AI Coding Plan або загальні API
|
||||
- [Qwen Cloud](/uk/providers/qwen): поверхня постачальника Qwen Cloud плюс зіставлення endpoint Alibaba DashScope і Coding Plan
|
||||
- [MiniMax](/uk/providers/minimax): OAuth або доступ через API-ключ MiniMax Coding Plan
|
||||
- [GLM Models](/uk/providers/glm): Z.AI Coding Plan або загальні API endpoint-и
|
||||
|
||||
### OpenCode
|
||||
|
||||
- Автентифікація: `OPENCODE_API_KEY` (або `OPENCODE_ZEN_API_KEY`)
|
||||
- Постачальник Zen runtime: `opencode`
|
||||
- Постачальник Go runtime: `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`
|
||||
|
||||
@ -351,31 +354,31 @@ OpenClaw постачається з каталогом pi‑ai. Ці поста
|
||||
|
||||
- Постачальник: `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` (один override)
|
||||
- Приклади моделей: `google/gemini-3.1-pro-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/<model>"].params.cachedContent`
|
||||
(або застарілий `cached_content`) для пересилання нативного для постачальника
|
||||
дескриптора `cachedContents/...`; cache hit-и Gemini відображаються як OpenClaw `cacheRead`
|
||||
(або застарілий `cached_content`) для пересилання provider-native
|
||||
дескриптора `cachedContents/...`; cache hit Gemini відображаються як OpenClaw `cacheRead`
|
||||
|
||||
### Google Vertex і Gemini CLI
|
||||
|
||||
- Постачальники: `google-vertex`, `google-gemini-cli`
|
||||
- Автентифікація: Vertex використовує gcloud ADC; Gemini CLI використовує свій потік OAuth
|
||||
- Увага: Gemini CLI OAuth в OpenClaw — це неофіційна інтеграція. Деякі користувачі повідомляли про обмеження облікового запису Google після використання сторонніх клієнтів. Ознайомтеся з умовами Google і використовуйте некритичний обліковий запис, якщо вирішите продовжити.
|
||||
- Gemini CLI OAuth постачається як частина вбудованого плагіна `google`.
|
||||
- Автентифікація: Vertex використовує gcloud ADC; Gemini CLI використовує власний потік OAuth
|
||||
- Застереження: OAuth Gemini CLI в OpenClaw — це неофіційна інтеграція. Деякі користувачі повідомляли про обмеження облікових записів Google після використання сторонніх клієнтів. Ознайомтеся з умовами Google і використовуйте некритичний обліковий запис, якщо вирішите продовжити.
|
||||
- OAuth Gemini CLI постачається як частина вбудованого плагіна `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`
|
||||
- Типова модель: `google-gemini-cli/gemini-3-flash-preview`
|
||||
- Увімкніть: `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 зберігає
|
||||
токени в профілях автентифікації на хості шлюзу.
|
||||
- Якщо після входу запити не працюють, встановіть `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на хості шлюзу.
|
||||
- JSON-відповіді Gemini CLI розбираються з `response`; usage резервно береться з
|
||||
`stats`, а `stats.cached` нормалізується до OpenClaw `cacheRead`.
|
||||
токени в профілях автентифікації на gateway host.
|
||||
- Якщо після входу запити не працюють, задайте `GOOGLE_CLOUD_PROJECT` або `GOOGLE_CLOUD_PROJECT_ID` на gateway host.
|
||||
- JSON-відповіді Gemini CLI розбираються з `response`; використання резервно береться з
|
||||
`stats`, а `stats.cached` нормалізується в OpenClaw `cacheRead`.
|
||||
|
||||
### Z.AI (GLM)
|
||||
|
||||
@ -384,7 +387,7 @@ OpenClaw постачається з каталогом pi‑ai. Ці поста
|
||||
- Приклад моделі: `zai/glm-5.1`
|
||||
- CLI: `openclaw onboard --auth-choice zai-api-key`
|
||||
- Псевдоніми: `z.ai/*` і `z-ai/*` нормалізуються до `zai/*`
|
||||
- `zai-api-key` автоматично визначає відповідний endpoint Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово вибирають конкретну поверхню
|
||||
- `zai-api-key` автоматично визначає відповідний endpoint Z.AI; `zai-coding-global`, `zai-coding-cn`, `zai-global` і `zai-cn` примусово задають конкретну поверхню
|
||||
|
||||
### Vercel AI Gateway
|
||||
|
||||
@ -399,10 +402,10 @@ OpenClaw постачається з каталогом pi‑ai. Ці поста
|
||||
- Автентифікація: `KILOCODE_API_KEY`
|
||||
- Приклад моделі: `kilocode/kilo/auto`
|
||||
- CLI: `openclaw onboard --auth-choice kilocode-api-key`
|
||||
- Base URL: `https://api.kilo.ai/api/gateway/`
|
||||
- Статичний запасний каталог постачається з `kilocode/kilo/auto`; live
|
||||
виявлення `https://api.kilo.ai/api/gateway/models` може додатково розширити runtime
|
||||
каталог.
|
||||
- Базовий URL: `https://api.kilo.ai/api/gateway/`
|
||||
- Статичний резервний каталог постачається з `kilocode/kilo/auto`; live-виявлення через
|
||||
`https://api.kilo.ai/api/gateway/models` може додатково розширити каталог
|
||||
середовища виконання.
|
||||
- Точна upstream-маршрутизація за `kilocode/kilo/auto` належить Kilo Gateway,
|
||||
а не жорстко закодована в OpenClaw.
|
||||
|
||||
@ -412,25 +415,25 @@ OpenClaw постачається з каталогом pi‑ai. Ці поста
|
||||
|
||||
- OpenRouter: `openrouter` (`OPENROUTER_API_KEY`)
|
||||
- Приклад моделі: `openrouter/auto`
|
||||
- OpenClaw застосовує задокументовані заголовки атрибуції застосунку OpenRouter лише тоді, коли
|
||||
- OpenClaw застосовує задокументовані OpenRouter заголовки атрибуції застосунку лише тоді, коли
|
||||
запит справді спрямовано на `openrouter.ai`
|
||||
- Специфічні для OpenRouter маркери Anthropic `cache_control` так само обмежуються
|
||||
перевіреними маршрутами OpenRouter, а не довільними URL проксі
|
||||
- OpenRouter і далі працює на шляху проксі-стилю, сумісному з OpenAI, тож нативне
|
||||
формування запитів лише для OpenAI (`serviceTier`, Responses `store`,
|
||||
підказки prompt-cache, payload-и сумісності reasoning OpenAI) не пересилається
|
||||
- Посилання OpenRouter на базі Gemini зберігають лише шлях санітизації proxy-Gemini thought-signature;
|
||||
нативна перевірка повторного відтворення Gemini та переписування bootstrap залишаються вимкненими
|
||||
перевіреними маршрутами OpenRouter, а не довільними проксі-URL
|
||||
- OpenRouter і далі працює на проксі-шляху у стилі OpenAI-compatible, тому
|
||||
native-формування запитів лише для OpenAI (`serviceTier`, Responses `store`,
|
||||
підказки кешу промптів, payload сумісності reasoning OpenAI) не пересилається
|
||||
- Посилання OpenRouter на базі Gemini зберігають лише санітизацію thought-signature для проксі-Gemini;
|
||||
native-перевірка replay Gemini і переписування bootstrap залишаються вимкненими
|
||||
- Kilo Gateway: `kilocode` (`KILOCODE_API_KEY`)
|
||||
- Приклад моделі: `kilocode/kilo/auto`
|
||||
- Посилання Kilo на базі Gemini зберігають той самий шлях
|
||||
санітизації proxy-Gemini thought-signature; `kilocode/kilo/auto` та інші підказки
|
||||
без підтримки proxy-reasoning пропускають впровадження proxy reasoning
|
||||
- Посилання Kilo на базі Gemini зберігають той самий шлях санітизації
|
||||
thought-signature для проксі-Gemini; `kilocode/kilo/auto` та інші підказки
|
||||
без підтримки proxy-reasoning пропускають впровадження reasoning через проксі
|
||||
- MiniMax: `minimax` (API-ключ) і `minimax-portal` (OAuth)
|
||||
- Автентифікація: `MINIMAX_API_KEY` для `minimax`; `MINIMAX_OAUTH_TOKEN` або `MINIMAX_API_KEY` для `minimax-portal`
|
||||
- Приклад моделі: `minimax/MiniMax-M2.7` або `minimax-portal/MiniMax-M2.7`
|
||||
- Онбординг MiniMax/налаштування API-ключа записує явні визначення моделі M2.7 з
|
||||
`input: ["text", "image"]`; вбудований каталог постачальника зберігає chat refs
|
||||
- Налаштування онбордингу/API-ключа MiniMax записує явні визначення моделей M2.7 з
|
||||
`input: ["text", "image"]`; вбудований каталог постачальника зберігає chat-посилання
|
||||
лише текстовими, доки не буде матеріалізовано конфігурацію цього постачальника
|
||||
- Moonshot: `moonshot` (`MOONSHOT_API_KEY`)
|
||||
- Приклад моделі: `moonshot/kimi-k2.5`
|
||||
@ -457,26 +460,26 @@ OpenClaw постачається з каталогом pi‑ai. Ці поста
|
||||
- BytePlus: `byteplus` (`BYTEPLUS_API_KEY`)
|
||||
- Приклад моделі: `byteplus-plan/ark-code-latest`
|
||||
- xAI: `xai` (`XAI_API_KEY`)
|
||||
- Нативні вбудовані запити xAI використовують шлях xAI Responses
|
||||
- `/fast` або `params.fastMode: true` переписує `grok-3`, `grok-3-mini`,
|
||||
- Native-вбудовані запити xAI використовують шлях xAI Responses
|
||||
- `/fast` або `params.fastMode: true` переписують `grok-3`, `grok-3-mini`,
|
||||
`grok-4` і `grok-4-0709` на їхні варіанти `*-fast`
|
||||
- `tool_stream` типово ввімкнено; установіть
|
||||
- `tool_stream` увімкнено за замовчуванням; задайте
|
||||
`agents.defaults.models["xai/<model>"].params.tool_stream` у `false`, щоб
|
||||
його вимкнути
|
||||
вимкнути його
|
||||
- Mistral: `mistral` (`MISTRAL_API_KEY`)
|
||||
- Приклад моделі: `mistral/mistral-large-latest`
|
||||
- CLI: `openclaw onboard --auth-choice mistral-api-key`
|
||||
- Groq: `groq` (`GROQ_API_KEY`)
|
||||
- Cerebras: `cerebras` (`CEREBRAS_API_KEY`)
|
||||
- Моделі GLM у Cerebras використовують ідентифікатори `zai-glm-4.7` і `zai-glm-4.6`.
|
||||
- Base URL, сумісний з OpenAI: `https://api.cerebras.ai/v1`.
|
||||
- Базовий URL, сумісний з OpenAI: `https://api.cerebras.ai/v1`.
|
||||
- GitHub Copilot: `github-copilot` (`COPILOT_GITHUB_TOKEN` / `GH_TOKEN` / `GITHUB_TOKEN`)
|
||||
- Приклад моделі Hugging Face Inference: `huggingface/deepseek-ai/DeepSeek-R1`; CLI: `openclaw onboard --auth-choice huggingface-api-key`. Див. [Hugging Face (Inference)](/uk/providers/huggingface).
|
||||
|
||||
## Постачальники через `models.providers` (користувацький/base URL)
|
||||
## Постачальники через `models.providers` (custom/base URL)
|
||||
|
||||
Використовуйте `models.providers` (або `models.json`), щоб додати **користувацьких** постачальників або
|
||||
OpenAI/Anthropic-сумісні проксі.
|
||||
Використовуйте `models.providers` (або `models.json`) для додавання **власних** постачальників або
|
||||
проксі, сумісних з OpenAI/Anthropic.
|
||||
|
||||
Багато з наведених нижче вбудованих плагінів постачальників уже публікують типовий каталог.
|
||||
Використовуйте явні записи `models.providers.<id>` лише тоді, коли хочете перевизначити
|
||||
@ -485,7 +488,7 @@ OpenAI/Anthropic-сумісні проксі.
|
||||
### Moonshot AI (Kimi)
|
||||
|
||||
Moonshot постачається як вбудований плагін постачальника. Типово використовуйте вбудованого постачальника,
|
||||
і додавайте явний запис `models.providers.moonshot` лише тоді, коли
|
||||
а явний запис `models.providers.moonshot` додавайте лише тоді, коли
|
||||
потрібно перевизначити base URL або метадані моделі:
|
||||
|
||||
- Постачальник: `moonshot`
|
||||
@ -525,7 +528,7 @@ Moonshot постачається як вбудований плагін пос
|
||||
|
||||
### Kimi Coding
|
||||
|
||||
Kimi Coding використовує Anthropic-сумісний endpoint Moonshot AI:
|
||||
Kimi Coding використовує endpoint Moonshot AI, сумісний з Anthropic:
|
||||
|
||||
- Постачальник: `kimi`
|
||||
- Автентифікація: `KIMI_API_KEY`
|
||||
@ -559,13 +562,13 @@ Volcano Engine (火山引擎) надає доступ до Doubao та інши
|
||||
}
|
||||
```
|
||||
|
||||
Онбординг типово використовує coding surface, але загальний каталог `volcengine/*`
|
||||
Під час онбордингу типовою є coding-поверхня, але загальний каталог `volcengine/*`
|
||||
реєструється одночасно.
|
||||
|
||||
У засобах вибору моделей для онбордингу/налаштування вибір автентифікації Volcengine віддає перевагу і рядкам
|
||||
`volcengine/*`, і `volcengine-plan/*`. Якщо ці моделі ще не завантажено,
|
||||
У засобах вибору моделі під час онбордингу/налаштування варіант автентифікації Volcengine надає перевагу і рядкам
|
||||
`volcengine/*`, і `volcengine-plan/*`. Якщо ці моделі ще не завантажені,
|
||||
OpenClaw повертається до нефільтрованого каталогу замість показу порожнього
|
||||
засобу вибору в межах постачальника.
|
||||
засобу вибору, обмеженого постачальником.
|
||||
|
||||
Доступні моделі:
|
||||
|
||||
@ -575,7 +578,7 @@ OpenClaw повертається до нефільтрованого катал
|
||||
- `volcengine/glm-4-7-251222` (GLM 4.7)
|
||||
- `volcengine/deepseek-v3-2-251201` (DeepSeek V3.2 128K)
|
||||
|
||||
Coding-моделі (`volcengine-plan`):
|
||||
Моделі для coding (`volcengine-plan`):
|
||||
|
||||
- `volcengine-plan/ark-code-latest`
|
||||
- `volcengine-plan/doubao-seed-code`
|
||||
@ -600,13 +603,13 @@ BytePlus ARK надає міжнародним користувачам дост
|
||||
}
|
||||
```
|
||||
|
||||
Онбординг типово використовує coding surface, але загальний каталог `byteplus/*`
|
||||
Під час онбордингу типовою є coding-поверхня, але загальний каталог `byteplus/*`
|
||||
реєструється одночасно.
|
||||
|
||||
У засобах вибору моделей для онбордингу/налаштування вибір автентифікації BytePlus віддає перевагу і рядкам
|
||||
`byteplus/*`, і `byteplus-plan/*`. Якщо ці моделі ще не завантажено,
|
||||
У засобах вибору моделі під час онбордингу/налаштування варіант автентифікації BytePlus надає перевагу і рядкам
|
||||
`byteplus/*`, і `byteplus-plan/*`. Якщо ці моделі ще не завантажені,
|
||||
OpenClaw повертається до нефільтрованого каталогу замість показу порожнього
|
||||
засобу вибору в межах постачальника.
|
||||
засобу вибору, обмеженого постачальником.
|
||||
|
||||
Доступні моделі:
|
||||
|
||||
@ -614,7 +617,7 @@ OpenClaw повертається до нефільтрованого катал
|
||||
- `byteplus/kimi-k2-5-260127` (Kimi K2.5)
|
||||
- `byteplus/glm-4-7-251222` (GLM 4.7)
|
||||
|
||||
Coding-моделі (`byteplus-plan`):
|
||||
Моделі для coding (`byteplus-plan`):
|
||||
|
||||
- `byteplus-plan/ark-code-latest`
|
||||
- `byteplus-plan/doubao-seed-code`
|
||||
@ -624,7 +627,7 @@ Coding-моделі (`byteplus-plan`):
|
||||
|
||||
### Synthetic
|
||||
|
||||
Synthetic надає Anthropic-сумісні моделі через постачальника `synthetic`:
|
||||
Synthetic надає моделі, сумісні з Anthropic, через постачальника `synthetic`:
|
||||
|
||||
- Постачальник: `synthetic`
|
||||
- Автентифікація: `SYNTHETIC_API_KEY`
|
||||
@ -656,27 +659,27 @@ MiniMax налаштовується через `models.providers`, оскіль
|
||||
|
||||
- MiniMax OAuth (Global): `--auth-choice minimax-global-oauth`
|
||||
- MiniMax OAuth (CN): `--auth-choice minimax-cn-oauth`
|
||||
- MiniMax API-ключ (Global): `--auth-choice minimax-global-api`
|
||||
- MiniMax API-ключ (CN): `--auth-choice minimax-cn-api`
|
||||
- MiniMax API key (Global): `--auth-choice minimax-global-api`
|
||||
- MiniMax API key (CN): `--auth-choice minimax-cn-api`
|
||||
- Автентифікація: `MINIMAX_API_KEY` для `minimax`; `MINIMAX_OAUTH_TOKEN` або
|
||||
`MINIMAX_API_KEY` для `minimax-portal`
|
||||
|
||||
Докладніше про налаштування, варіанти моделей і фрагменти конфігурації див. у [/providers/minimax](/uk/providers/minimax).
|
||||
|
||||
На Anthropic-сумісному streaming path MiniMax OpenClaw типово вимикає thinking,
|
||||
якщо ви не ввімкнете його явно, а `/fast on` переписує
|
||||
На шляху потокової передачі MiniMax, сумісному з Anthropic, OpenClaw вимикає thinking
|
||||
за замовчуванням, якщо ви явно його не задасте, а `/fast on` переписує
|
||||
`MiniMax-M2.7` на `MiniMax-M2.7-highspeed`.
|
||||
|
||||
Поділ можливостей, якими володіє плагін:
|
||||
Розподіл можливостей, що належать плагіну:
|
||||
|
||||
- Типові значення text/chat залишаються на `minimax/MiniMax-M2.7`
|
||||
- Типові значення для тексту/чату залишаються на `minimax/MiniMax-M2.7`
|
||||
- Генерація зображень — це `minimax/image-01` або `minimax-portal/image-01`
|
||||
- Розуміння зображень — це `MiniMax-VL-01`, яким володіє плагін, на обох шляхах автентифікації MiniMax
|
||||
- Розуміння зображень — це `MiniMax-VL-01`, що належить плагіну, на обох шляхах автентифікації MiniMax
|
||||
- Вебпошук залишається на ідентифікаторі постачальника `minimax`
|
||||
|
||||
### Ollama
|
||||
|
||||
Ollama постачається як вбудований плагін постачальника й використовує нативний API Ollama:
|
||||
Ollama постачається як вбудований плагін постачальника і використовує native API Ollama:
|
||||
|
||||
- Постачальник: `ollama`
|
||||
- Автентифікація: не потрібна (локальний сервер)
|
||||
@ -684,7 +687,7 @@ Ollama постачається як вбудований плагін пост
|
||||
- Встановлення: [https://ollama.com/download](https://ollama.com/download)
|
||||
|
||||
```bash
|
||||
# Встановіть Ollama, потім завантажте модель:
|
||||
# Установіть Ollama, а потім завантажте модель:
|
||||
ollama pull llama3.3
|
||||
```
|
||||
|
||||
@ -696,26 +699,27 @@ ollama pull llama3.3
|
||||
}
|
||||
```
|
||||
|
||||
Ollama виявляється локально за адресою `http://127.0.0.1:11434`, коли ви явно вмикаєте це через
|
||||
Ollama виявляється локально за адресою `http://127.0.0.1:11434`, коли ви вмикаєте це через
|
||||
`OLLAMA_API_KEY`, а вбудований плагін постачальника додає Ollama безпосередньо до
|
||||
`openclaw onboard` і засобу вибору моделей. Докладніше про онбординг, режим cloud/local і користувацьку конфігурацію див. у [/providers/ollama](/uk/providers/ollama).
|
||||
`openclaw onboard` і засобу вибору моделей. Див. [/providers/ollama](/uk/providers/ollama)
|
||||
щодо онбордингу, хмарного/локального режиму та користувацької конфігурації.
|
||||
|
||||
### vLLM
|
||||
|
||||
vLLM постачається як вбудований плагін постачальника для локальних/self-hosted
|
||||
OpenAI-сумісних серверів:
|
||||
серверів, сумісних з OpenAI:
|
||||
|
||||
- Постачальник: `vllm`
|
||||
- Автентифікація: необов’язкова (залежить від вашого сервера)
|
||||
- Типовий base URL: `http://127.0.0.1:8000/v1`
|
||||
- Базовий URL за замовчуванням: `http://127.0.0.1:8000/v1`
|
||||
|
||||
Щоб увімкнути локальне auto-discovery (підійде будь-яке значення, якщо ваш сервер не вимагає автентифікації):
|
||||
Щоб увімкнути автоматичне виявлення локально (підійде будь-яке значення, якщо ваш сервер не вимагає автентифікації):
|
||||
|
||||
```bash
|
||||
export VLLM_API_KEY="vllm-local"
|
||||
```
|
||||
|
||||
Потім установіть модель (замініть на один з ідентифікаторів, які повертає `/v1/models`):
|
||||
Потім задайте модель (замініть на один з ідентифікаторів, які повертає `/v1/models`):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -730,20 +734,20 @@ export VLLM_API_KEY="vllm-local"
|
||||
### SGLang
|
||||
|
||||
SGLang постачається як вбудований плагін постачальника для швидких self-hosted
|
||||
OpenAI-сумісних серверів:
|
||||
серверів, сумісних з OpenAI:
|
||||
|
||||
- Постачальник: `sglang`
|
||||
- Автентифікація: необов’язкова (залежить від вашого сервера)
|
||||
- Типовий base URL: `http://127.0.0.1:30000/v1`
|
||||
- Базовий URL за замовчуванням: `http://127.0.0.1:30000/v1`
|
||||
|
||||
Щоб увімкнути локальне auto-discovery (підійде будь-яке значення, якщо ваш сервер не
|
||||
Щоб увімкнути автоматичне виявлення локально (підійде будь-яке значення, якщо ваш сервер не
|
||||
вимагає автентифікації):
|
||||
|
||||
```bash
|
||||
export SGLANG_API_KEY="sglang-local"
|
||||
```
|
||||
|
||||
Потім установіть модель (замініть на один з ідентифікаторів, які повертає `/v1/models`):
|
||||
Потім задайте модель (замініть на один з ідентифікаторів, які повертає `/v1/models`):
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -776,7 +780,7 @@ export SGLANG_API_KEY="sglang-local"
|
||||
models: [
|
||||
{
|
||||
id: "my-local-model",
|
||||
name: "Локальна модель",
|
||||
name: "Local Model",
|
||||
reasoning: false,
|
||||
input: ["text"],
|
||||
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
|
||||
@ -793,20 +797,19 @@ export SGLANG_API_KEY="sglang-local"
|
||||
Примітки:
|
||||
|
||||
- Для користувацьких постачальників `reasoning`, `input`, `cost`, `contextWindow` і `maxTokens` є необов’язковими.
|
||||
Якщо їх не вказано, OpenClaw типово використовує:
|
||||
Якщо їх не вказано, OpenClaw використовує такі значення за замовчуванням:
|
||||
- `reasoning: false`
|
||||
- `input: ["text"]`
|
||||
- `cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }`
|
||||
- `contextWindow: 200000`
|
||||
- `maxTokens: 8192`
|
||||
- Рекомендовано: установлюйте явні значення, що відповідають лімітам вашого проксі/моделі.
|
||||
- Для `api: "openai-completions"` на ненативних endpoint-ах (будь-який непорожній `baseUrl`, хост якого не є `api.openai.com`) OpenClaw примусово встановлює `compat.supportsDeveloperRole: false`, щоб уникнути помилок постачальника 400 для непідтримуваних ролей `developer`.
|
||||
- Маршрути проксі-стилю, сумісні з OpenAI, також пропускають нативне формування запитів лише для OpenAI:
|
||||
без `service_tier`, без Responses `store`, без підказок prompt-cache, без
|
||||
формування payload для сумісності reasoning OpenAI і без прихованих заголовків
|
||||
атрибуції OpenClaw.
|
||||
- Якщо `baseUrl` порожній або не вказаний, OpenClaw зберігає типову поведінку OpenAI (яка спрямовується на `api.openai.com`).
|
||||
- З міркувань безпеки явне `compat.supportsDeveloperRole: true` усе одно перевизначається на ненативних endpoint-ах `openai-completions`.
|
||||
- Рекомендовано: задавати явні значення, що відповідають обмеженням вашого проксі/моделі.
|
||||
- Для `api: "openai-completions"` на не-native endpoint-ах (будь-який непорожній `baseUrl`, у якого host не `api.openai.com`) OpenClaw примусово задає `compat.supportsDeveloperRole: false`, щоб уникнути помилок 400 від постачальника через непідтримувані ролі `developer`.
|
||||
- Маршрути у стилі проксі, сумісні з OpenAI, також пропускають native-формування запитів лише для OpenAI:
|
||||
без `service_tier`, без Responses `store`, без підказок кешу промптів, без
|
||||
формування payload сумісності reasoning OpenAI і без прихованих заголовків атрибуції OpenClaw.
|
||||
- Якщо `baseUrl` порожній/не вказаний, OpenClaw зберігає стандартну поведінку OpenAI (яка вказує на `api.openai.com`).
|
||||
- З міркувань безпеки явне `compat.supportsDeveloperRole: true` усе одно перевизначається на не-native endpoint-ах `openai-completions`.
|
||||
|
||||
## Приклади CLI
|
||||
|
||||
@ -818,9 +821,9 @@ openclaw models list
|
||||
|
||||
Див. також: [/gateway/configuration](/uk/gateway/configuration) для повних прикладів конфігурації.
|
||||
|
||||
## Пов’язане
|
||||
## Пов’язані сторінки
|
||||
|
||||
- [Models](/uk/concepts/models) — конфігурація моделей і псевдоніми
|
||||
- [Model Failover](/uk/concepts/model-failover) — ланцюжки резервування та поведінка повторних спроб
|
||||
- [Configuration Reference](/uk/gateway/configuration-reference#agent-defaults) — ключі конфігурації моделей
|
||||
- [Providers](/uk/providers) — посібники з налаштування для окремих постачальників
|
||||
- [Моделі](/uk/concepts/models) — конфігурація моделей і псевдоніми
|
||||
- [Резервне перемикання моделей](/uk/concepts/model-failover) — ланцюжки fallback і поведінка повторних спроб
|
||||
- [Довідник із конфігурації](/uk/gateway/configuration-reference#agent-defaults) — ключі конфігурації моделей
|
||||
- [Постачальники](/uk/providers) — окремі посібники з налаштування постачальників
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,53 +1,53 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви змінюєте вбудоване середовище виконання агента або реєстр каркаса
|
||||
- Ви реєструєте каркас агента з вбудованого або довіреного плагіна
|
||||
- Ви змінюєте вбудований рантайм агента або реєстр harnessів
|
||||
- Ви реєструєте harness агента з вбудованого або довіреного плагіна
|
||||
- Вам потрібно зрозуміти, як плагін Codex пов’язаний із постачальниками моделей
|
||||
sidebarTitle: Agent Harness
|
||||
summary: Експериментальна поверхня SDK для плагінів, які замінюють низькорівневий вбудований виконавець агента
|
||||
title: Плагіни каркаса агента
|
||||
title: Плагіни Agent Harness
|
||||
x-i18n:
|
||||
generated_at: "2026-04-10T20:23:46Z"
|
||||
generated_at: "2026-04-10T20:29:00Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: ba482dd6a2e4730c2d623b4739e2e6037cec8bb71bf7164b4e9d7ea8e43056d8
|
||||
source_hash: 3afa7d81ca5a34f40da63e01bb9b42aa10ff8d6f92c2f78bf2588f1a71b5bc0e
|
||||
source_path: plugins/sdk-agent-harness.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Плагіни каркаса агента
|
||||
# Плагіни Agent Harness
|
||||
|
||||
**Каркас агента** — це низькорівневий виконавець одного підготовленого ходу агента OpenClaw. Це не постачальник моделей, не канал і не реєстр інструментів.
|
||||
**Agent harness** — це низькорівневий виконавець для одного підготовленого ходу агента OpenClaw. Це не постачальник моделей, не канал і не реєстр інструментів.
|
||||
|
||||
Використовуйте цю поверхню лише для вбудованих або довірених нативних плагінів. Контракт усе ще є експериментальним, оскільки типи параметрів навмисно віддзеркалюють поточний вбудований раннер.
|
||||
|
||||
## Коли використовувати каркас
|
||||
## Коли використовувати harness
|
||||
|
||||
Реєструйте каркас агента, коли сімейство моделей має власне нативне середовище виконання сесій і звичайний транспорт постачальника OpenClaw є неправильною абстракцією.
|
||||
Реєструйте agent harness, коли сімейство моделей має власний нативний рантайм сесії, а звичайний транспорт постачальника OpenClaw є неправильною абстракцією.
|
||||
|
||||
Приклади:
|
||||
|
||||
- нативний сервер агента для кодування, який керує потоками та компакцією
|
||||
- локальний CLI або демон, який має потоково передавати нативні події плану, міркувань і інструментів
|
||||
- середовище виконання моделі, якому потрібен власний resume id на додачу до транскрипту сесії OpenClaw
|
||||
- нативний сервер coding-agent, який керує потоками та компакцією
|
||||
- локальний CLI або демон, який має потоково передавати нативні події плану/міркування/інструментів
|
||||
- рантайм моделі, якому потрібен власний resume id на додачу до стенограми сесії OpenClaw
|
||||
|
||||
**Не** реєструйте каркас лише для того, щоб додати новий LLM API. Для звичайних HTTP або WebSocket API моделей створіть [плагін постачальника](/uk/plugins/sdk-provider-plugins).
|
||||
**Не** реєструйте harness лише для того, щоб додати новий API LLM. Для звичайних HTTP або WebSocket API моделей створіть [плагін постачальника](/uk/plugins/sdk-provider-plugins).
|
||||
|
||||
## Чим усе ще керує ядро
|
||||
|
||||
До того, як буде вибрано каркас, OpenClaw уже визначив:
|
||||
Перш ніж буде вибрано harness, OpenClaw уже визначив:
|
||||
|
||||
- постачальника й модель
|
||||
- стан автентифікації середовища виконання
|
||||
- рівень міркувань і бюджет контексту
|
||||
- файл транскрипту/сесії OpenClaw
|
||||
- робочий простір, пісочницю та політику інструментів
|
||||
- колбеки відповіді каналу та колбеки потокової передачі
|
||||
- політику резервного перемикання моделей і перемикання живої моделі
|
||||
- стан автентифікації рантайму
|
||||
- рівень міркування та бюджет контексту
|
||||
- файл стенограми/сесії OpenClaw
|
||||
- workspace, sandbox і політику інструментів
|
||||
- зворотні виклики відповіді каналу та потокові зворотні виклики
|
||||
- політику резервного переходу між моделями та перемикання live-моделей
|
||||
|
||||
Цей поділ є навмисним. Каркас виконує підготовлену спробу; він не вибирає постачальників, не замінює доставлення каналу й не перемикає моделі непомітно.
|
||||
Такий поділ є навмисним. Harness виконує підготовлену спробу; він не вибирає постачальників, не замінює доставку каналом і не перемикає моделі непомітно.
|
||||
|
||||
## Зареєструвати каркас
|
||||
## Реєстрація harness
|
||||
|
||||
**Імпорт:** `openclaw/plugin-sdk/agent-harness`
|
||||
|
||||
@ -85,38 +85,40 @@ export default definePluginEntry({
|
||||
|
||||
## Політика вибору
|
||||
|
||||
OpenClaw вибирає каркас після визначення постачальника/моделі:
|
||||
OpenClaw вибирає harness після визначення постачальника/моделі:
|
||||
|
||||
1. `OPENCLAW_AGENT_RUNTIME=<id>` примусово вибирає зареєстрований каркас із цим id.
|
||||
2. `OPENCLAW_AGENT_RUNTIME=pi` примусово вибирає вбудований каркас PI.
|
||||
3. `OPENCLAW_AGENT_RUNTIME=auto` запитує зареєстровані каркаси, чи підтримують вони визначеного постачальника/модель.
|
||||
4. Якщо жоден зареєстрований каркас не підходить, OpenClaw використовує PI.
|
||||
1. `OPENCLAW_AGENT_RUNTIME=<id>` примусово вибирає зареєстрований harness із цим id.
|
||||
2. `OPENCLAW_AGENT_RUNTIME=pi` примусово вибирає вбудований harness PI.
|
||||
3. `OPENCLAW_AGENT_RUNTIME=auto` запитує зареєстровані harness-и, чи підтримують вони визначеного постачальника/модель.
|
||||
4. Якщо жоден зареєстрований harness не підходить, OpenClaw використовує PI, якщо резервний перехід на PI не вимкнено.
|
||||
|
||||
Помилки примусово вибраного каркаса плагіна відображаються як помилки виконання. У режимі `auto` OpenClaw може повернутися до PI, якщо вибраний каркас плагіна зазнає збою до того, як хід спричинить побічні ефекти.
|
||||
Збої примусово вибраного harness плагіна відображаються як збої запуску. У режимі `auto` OpenClaw може перейти на PI, якщо вибраний harness плагіна зазнає збою до того, як хід створить побічні ефекти. Установіть `OPENCLAW_AGENT_HARNESS_FALLBACK=none` або `embeddedHarness.fallback: "none"`, щоб зробити такий резервний перехід жорсткою помилкою.
|
||||
|
||||
Вбудований плагін Codex реєструє `codex` як id свого каркаса. Для сумісності `codex-app-server` і `app-server` також вказують на цей самий каркас, коли ви вручну задаєте `OPENCLAW_AGENT_RUNTIME`.
|
||||
Вбудований плагін Codex реєструє `codex` як свій id harness. Для сумісності `codex-app-server` і `app-server` також зіставляються з цим самим harness, коли ви вручну задаєте `OPENCLAW_AGENT_RUNTIME`.
|
||||
|
||||
## Поєднання постачальника та каркаса
|
||||
## Парування постачальника та harness
|
||||
|
||||
Більшість каркасів також мають реєструвати постачальника. Постачальник робить посилання на моделі, стан автентифікації, метадані моделі та вибір `/model` видимими для решти OpenClaw. Потім каркас заявляє про цей постачальник у `supports(...)`.
|
||||
Більшість harness-ів також мають реєструвати постачальника. Постачальник робить refs моделей, статус автентифікації, метадані моделей і вибір `/model` видимими для решти OpenClaw. Потім harness заявляє про цей постачальник у `supports(...)`.
|
||||
|
||||
Вбудований плагін Codex дотримується цього шаблону:
|
||||
|
||||
- id постачальника: `codex`
|
||||
- посилання на моделі для користувача: `codex/gpt-5.4`, `codex/gpt-5.2` або інша модель, повернена сервером застосунку Codex
|
||||
- id каркаса: `codex`
|
||||
- автентифікація: синтетична доступність постачальника, оскільки каркас Codex керує нативним входом/сесією Codex
|
||||
- запит до app-server: OpenClaw надсилає до Codex голий id моделі й дозволяє каркасу працювати з нативним протоколом app-server
|
||||
- refs моделей для користувача: `codex/gpt-5.4`, `codex/gpt-5.2` або інша модель, повернена сервером додатка Codex
|
||||
- id harness: `codex`
|
||||
- автентифікація: синтетична доступність постачальника, оскільки harness Codex керує нативним входом/сесією Codex
|
||||
- запит app-server: OpenClaw надсилає до Codex базовий id моделі й дозволяє harness взаємодіяти з нативним протоколом app-server
|
||||
|
||||
Плагін Codex є додатковим. Звичайні посилання `openai/gpt-*` залишаються посиланнями постачальника OpenAI і продовжують використовувати звичайний шлях постачальника OpenClaw. Вибирайте `codex/gpt-*`, коли вам потрібні автентифікація під керуванням Codex, виявлення моделей Codex, нативні потоки та виконання через Codex app-server. `/model` може перемикатися між моделями Codex, які повертає Codex app-server, без потреби в облікових даних постачальника OpenAI.
|
||||
Плагін Codex є адитивним. Звичайні refs `openai/gpt-*` залишаються refs постачальника OpenAI і продовжують використовувати звичайний шлях постачальника OpenClaw. Вибирайте `codex/gpt-*`, коли вам потрібні автентифікація під керуванням Codex, виявлення моделей Codex, нативні потоки та виконання через app-server Codex. `/model` може перемикатися між моделями Codex, які повертає app-server Codex, без потреби в облікових даних постачальника OpenAI.
|
||||
|
||||
OpenClaw вимагає Codex app-server версії `0.118.0` або новішої. Плагін Codex перевіряє initialize handshake app-server і блокує старі або неверсіоновані сервери, щоб OpenClaw працював лише з тією поверхнею протоколу, з якою його було протестовано.
|
||||
OpenClaw вимагає Codex app-server версії `0.118.0` або новішої. Плагін Codex перевіряє initialize handshake app-server і блокує старі або неверсіоновані сервери, щоб OpenClaw працював лише з поверхнею протоколу, з якою його було протестовано.
|
||||
|
||||
## Політика вибору каркаса
|
||||
## Вимкнення резервного переходу на PI
|
||||
|
||||
За замовчуванням OpenClaw запускає вбудованих агентів із `agents.defaults.embeddedHarness`, установленим у `{ runtime: "auto", fallback: "pi" }`. У режимі `auto` зареєстровані каркаси плагінів можуть претендувати на пару постачальник/модель. Якщо не підходить жоден або якщо автоматично вибраний каркас плагіна зазнає збою до створення виводу, OpenClaw повертається до PI.
|
||||
За замовчуванням OpenClaw запускає вбудованих агентів із `agents.defaults.embeddedHarness`, установленим у `{ runtime: "auto", fallback: "pi" }`. У режимі `auto` зареєстровані harness-и плагінів можуть заявити про пару постачальник/модель. Якщо жоден не підходить або якщо автоматично вибраний harness плагіна зазнає збою до створення виводу, OpenClaw переходить на PI.
|
||||
|
||||
Установіть `fallback: "none"`, коли вам потрібно довести, що виконується лише каркас плагіна:
|
||||
Установіть `fallback: "none"`, коли вам потрібно довести, що єдиним задіяним рантаймом є harness плагіна. Це вимикає автоматичний резервний перехід на PI; це не блокує явний `runtime: "pi"` або `OPENCLAW_AGENT_RUNTIME=pi`.
|
||||
|
||||
Для вбудованих запусків лише з Codex:
|
||||
|
||||
```json
|
||||
{
|
||||
@ -132,6 +134,21 @@ OpenClaw вимагає Codex app-server версії `0.118.0` або нові
|
||||
}
|
||||
```
|
||||
|
||||
Якщо ви хочете, щоб будь-який зареєстрований harness плагіна міг заявити про відповідні моделі, але ніколи не хочете, щоб OpenClaw непомітно переходив на PI, залиште `runtime: "auto"` і вимкніть резервний перехід:
|
||||
|
||||
```json
|
||||
{
|
||||
"agents": {
|
||||
"defaults": {
|
||||
"embeddedHarness": {
|
||||
"runtime": "auto",
|
||||
"fallback": "none"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Перевизначення для окремого агента використовують ту саму форму:
|
||||
|
||||
```json
|
||||
@ -157,36 +174,46 @@ OpenClaw вимагає Codex app-server версії `0.118.0` або нові
|
||||
}
|
||||
```
|
||||
|
||||
`OPENCLAW_AGENT_RUNTIME` усе ще перевизначає налаштоване середовище виконання. Використовуйте `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб вимкнути резервний перехід до PI через змінну середовища.
|
||||
`OPENCLAW_AGENT_RUNTIME` усе ще перевизначає налаштований рантайм. Використовуйте `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, щоб вимкнути резервний перехід на PI через середовище.
|
||||
|
||||
## Нативні сесії та дзеркало транскрипту
|
||||
```bash
|
||||
OPENCLAW_AGENT_RUNTIME=codex \
|
||||
OPENCLAW_AGENT_HARNESS_FALLBACK=none \
|
||||
openclaw gateway run
|
||||
```
|
||||
|
||||
Каркас може зберігати нативний id сесії, id потоку або токен відновлення на боці демона. Явно пов’язуйте цю прив’язку із сесією OpenClaw і продовжуйте віддзеркалювати видимий для користувача вивід асистента/інструментів у транскрипт OpenClaw.
|
||||
Коли резервний перехід вимкнено, сесія завершується помилкою на ранньому етапі, якщо запитаний harness не зареєстровано, не підтримує визначеного постачальника/модель або зазнає збою до створення побічних ефектів ходу. Це зроблено навмисно для розгортань лише з Codex і для live-тестів, які мають довести, що фактично використовується шлях Codex app-server.
|
||||
|
||||
Транскрипт OpenClaw залишається шаром сумісності для:
|
||||
Цей параметр керує лише harness-ом вбудованого агента. Він не вимикає маршрутизацію моделей для зображень, відео, музики, TTS, PDF або інших моделей, специфічних для постачальника.
|
||||
|
||||
- видимої в каналі історії сесії
|
||||
- пошуку та індексації транскрипту
|
||||
- перемикання назад на вбудований каркас PI у наступному ході
|
||||
## Нативні сесії та дзеркалювання стенограми
|
||||
|
||||
Harness може зберігати нативний id сесії, id потоку або токен відновлення на боці демона. Явно пов’язуйте цю прив’язку із сесією OpenClaw і продовжуйте дзеркалити видимий користувачеві вивід помічника/інструментів у стенограму OpenClaw.
|
||||
|
||||
Стенограма OpenClaw залишається шаром сумісності для:
|
||||
|
||||
- історії сесії, видимої в каналі
|
||||
- пошуку та індексації стенограми
|
||||
- повернення до вбудованого harness PI на пізнішому ході
|
||||
- загальної поведінки `/new`, `/reset` і видалення сесії
|
||||
|
||||
Якщо ваш каркас зберігає побічну прив’язку, реалізуйте `reset(...)`, щоб OpenClaw міг очистити її, коли пов’язану сесію OpenClaw скинуто.
|
||||
Якщо ваш harness зберігає прив’язку sidecar, реалізуйте `reset(...)`, щоб OpenClaw міг очистити її, коли пов’язану сесію OpenClaw буде скинуто.
|
||||
|
||||
## Результати інструментів і медіа
|
||||
|
||||
Ядро формує список інструментів OpenClaw і передає його в підготовлену спробу. Коли каркас виконує динамічний виклик інструмента, повертайте результат інструмента назад через форму результату каркаса, а не надсилайте медіа каналу самостійно.
|
||||
Ядро формує список інструментів OpenClaw і передає його в підготовлену спробу. Коли harness виконує динамічний виклик інструмента, повертайте результат інструмента через форму результату harness замість того, щоб самостійно надсилати медіа в канал.
|
||||
|
||||
Це зберігає текст, зображення, відео, музику, TTS, затвердження та вивід інструментів обміну повідомленнями на тому самому шляху доставлення, що й у виконаннях на базі PI.
|
||||
Це зберігає текст, зображення, відео, музику, TTS, погодження та виводи інструментів обміну повідомленнями на тому самому шляху доставки, що й у запусках на основі PI.
|
||||
|
||||
## Поточні обмеження
|
||||
|
||||
- Публічний шлях імпорту є загальним, але деякі псевдоніми типів спроб/результатів усе ще містять назви `Pi` для сумісності.
|
||||
- Установлення сторонніх каркасів є експериментальним. Надавайте перевагу плагінам постачальників, доки вам не знадобиться нативне середовище виконання сесій.
|
||||
- Перемикання каркасів між ходами підтримується. Не перемикайте каркаси посеред ходу після того, як уже почалися нативні інструменти, затвердження, текст асистента або надсилання повідомлень.
|
||||
- Встановлення сторонніх harness-ів є експериментальним. Віддавайте перевагу плагінам постачальників, доки вам не знадобиться нативний рантайм сесії.
|
||||
- Перемикання harness-ів між ходами підтримується. Не перемикайте harness посеред ходу після того, як уже почалися нативні інструменти, погодження, текст помічника або надсилання повідомлень.
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Огляд SDK](/uk/plugins/sdk-overview)
|
||||
- [Допоміжні засоби середовища виконання](/uk/plugins/sdk-runtime)
|
||||
- [Допоміжні засоби рантайму](/uk/plugins/sdk-runtime)
|
||||
- [Плагіни постачальників](/uk/plugins/sdk-provider-plugins)
|
||||
- [Постачальники моделей](/uk/concepts/model-providers)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user