Gateway
Конфігурація — інструменти та власні провайдери
tools.* ключі конфігурації та налаштування користувацького провайдера / базової URL-адреси. Для агентів, каналів та інших ключів конфігурації верхнього рівня див. довідник конфігурації.
Інструменти
Профілі інструментів
tools.profile задає базовий список дозволених інструментів перед tools.allow/tools.deny:
| Профіль | Містить |
|---|---|
minimal |
лише session_status |
coding |
group:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate, video_generate |
messaging |
group:messaging, sessions_list, sessions_history, sessions_send, session_status |
full |
Без обмежень (так само, як незадане значення) |
Групи інструментів
| Група | Інструменти |
|---|---|
group:runtime |
exec, process, code_execution (bash приймається як псевдонім для exec) |
group:fs |
read, write, edit, apply_patch |
group:sessions |
sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status |
group:memory |
memory_search, memory_get |
group:web |
web_search, x_search, web_fetch |
group:ui |
browser, canvas |
group:automation |
heartbeat_respond, cron, gateway |
group:messaging |
message |
group:nodes |
nodes |
group:agents |
agents_list, update_plan |
group:media |
image, image_generate, music_generate, video_generate, tts |
group:openclaw |
Усі вбудовані інструменти (крім провайдерських plugins) |
tools.allow / tools.deny
Глобальна політика дозволу/заборони інструментів (заборона має пріоритет). Нечутлива до регістру, підтримує символи узагальнення *. Застосовується навіть коли пісочницю Docker вимкнено.
{
tools: { deny: ["browser", "canvas"] },
}
write і apply_patch є окремими ідентифікаторами інструментів. allow: ["write"] також вмикає apply_patch для сумісних моделей, але deny: ["write"] не забороняє apply_patch. Щоб заблокувати всі зміни файлів, забороніть group:fs або явно перелічіть кожен інструмент, що змінює файли:
{
tools: { deny: ["write", "edit", "apply_patch"] },
}
tools.byProvider
Додатково обмежує інструменти для конкретних провайдерів або моделей. Порядок: базовий профіль → профіль провайдера → дозвіл/заборона.
{
tools: {
profile: "coding",
byProvider: {
"google-antigravity": { profile: "minimal" },
"openai/gpt-5.4": { allow: ["group:fs", "sessions_list"] },
},
},
}
tools.elevated
Керує підвищеним доступом exec поза пісочницею:
{
tools: {
elevated: {
enabled: true,
allowFrom: {
whatsapp: ["+15555550123"],
discord: ["1234567890123", "987654321098765432"],
},
},
},
}
- Перевизначення для агента (
agents.list[].tools.elevated) може лише додатково обмежувати. /elevated on|off|ask|fullзберігає стан для кожної сесії; вбудовані директиви застосовуються до одного повідомлення.- Підвищений
execобходить пісочницю та використовує налаштований шлях виходу (gatewayза замовчуванням абоnode, коли цільexec—node).
tools.exec
{
tools: {
exec: {
backgroundMs: 10000,
timeoutSec: 1800,
cleanupMs: 1800000,
notifyOnExit: true,
notifyOnExitEmptySuccess: false,
applyPatch: {
enabled: false,
allowModels: ["gpt-5.5"],
},
},
},
}
tools.loopDetection
Перевірки безпеки циклів інструментів вимкнені за замовчуванням. Установіть enabled: true, щоб активувати виявлення. Налаштування можна визначити глобально в tools.loopDetection і перевизначити для кожного агента в agents.list[].tools.loopDetection.
{
tools: {
loopDetection: {
enabled: true,
historySize: 30,
warningThreshold: 10,
criticalThreshold: 20,
globalCircuitBreakerThreshold: 30,
detectors: {
genericRepeat: true,
knownPollNoProgress: true,
pingPong: true,
},
},
},
}
historySizenumberМаксимальна історія викликів інструментів, що зберігається для аналізу циклів.
warningThresholdnumberПоріг повторюваного шаблону без прогресу для попереджень.
criticalThresholdnumberВищий поріг повторень для блокування критичних циклів.
globalCircuitBreakerThresholdnumberПоріг жорсткої зупинки для будь-якого запуску без прогресу.
detectors.genericRepeatbooleanПопереджати про повторювані виклики того самого інструмента з тими самими аргументами.
detectors.knownPollNoProgressbooleanПопереджати/блокувати для відомих інструментів опитування (process.poll, command_status тощо).
detectors.pingPongbooleanПопереджати/блокувати для почергових парних шаблонів без прогресу.
tools.web
{
tools: {
web: {
search: {
enabled: true,
apiKey: "brave_api_key", // or BRAVE_API_KEY env
maxResults: 5,
timeoutSeconds: 30,
cacheTtlMinutes: 15,
},
fetch: {
enabled: true,
provider: "firecrawl", // optional; omit for auto-detect
maxChars: 50000,
maxCharsCap: 50000,
maxResponseBytes: 2000000,
timeoutSeconds: 30,
cacheTtlMinutes: 15,
maxRedirects: 3,
readability: true,
userAgent: "custom-ua",
},
},
},
}
tools.media
Налаштовує розуміння вхідних медіа (зображень/аудіо/відео):
{
tools: {
media: {
concurrency: 2,
asyncCompletion: {
directSend: false, // deprecated: completions stay agent-mediated
},
audio: {
enabled: true,
maxBytes: 20971520,
scope: {
default: "deny",
rules: [{ action: "allow", match: { chatType: "direct" } }],
},
models: [
{ provider: "openai", model: "gpt-4o-mini-transcribe" },
{ type: "cli", command: "whisper", args: ["--model", "base", "{{MediaPath}}"] },
],
},
image: {
enabled: true,
timeoutSeconds: 180,
models: [{ provider: "ollama", model: "gemma4:26b", timeoutSeconds: 300 }],
},
video: {
enabled: true,
maxBytes: 52428800,
models: [{ provider: "google", model: "gemini-3-flash-preview" }],
},
},
},
}
Поля запису медіамоделі
Запис провайдера (type: "provider" або пропущено):
provider: id API-провайдера (openai,anthropic,google/gemini,groqтощо)model: перевизначення id моделіprofile/preferredProfile: вибір профілюauth-profiles.json
Запис CLI (type: "cli"):
command: виконуваний файл для запускуargs: шаблонізовані аргументи (підтримує{{MediaPath}},{{Prompt}},{{MaxChars}}тощо;openclaw doctor --fixпереносить застарілі заповнювачі{input}до{{MediaPath}})
Спільні поля:
capabilities: необов’язковий список (image,audio,video). Стандартні значення:openai/anthropic/minimax→ image,google→ image+audio+video,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: перевизначення для окремого запису.tools.media.image.timeoutSecondsі відповідні записиtimeoutSecondsдля моделі зображень також застосовуються, коли агент викликає явний інструментimage.- У разі збоїв виконується перехід до наступного запису.
Автентифікація провайдера дотримується стандартного порядку: auth-profiles.json → змінні середовища → models.providers.*.apiKey.
Поля асинхронного завершення:
asyncCompletion.directSend: застарілий прапорець сумісності. Завершені асинхронні медіазавдання залишаються опосередкованими сесією запитувача, щоб агент отримував результат, вирішував, як повідомити користувача, і використовував інструмент повідомлень, коли цього вимагає доставка через джерело.
tools.agentToAgent
{
tools: {
agentToAgent: {
enabled: false,
allow: ["home", "work"],
},
},
}
tools.sessions
Керує тим, на які сесії можуть бути спрямовані інструменти сесій (sessions_list, sessions_history, sessions_send).
Стандартне значення: tree (поточна сесія + сесії, породжені нею, наприклад субагенти).
{
tools: {
sessions: {
// "self" | "tree" | "agent" | "all"
visibility: "tree",
},
},
}
Області видимості
self: лише ключ поточної сесії.tree: поточна сесія + сесії, породжені поточною сесією (субагенти).agent: будь-яка сесія, що належить поточному id агента (може включати інших користувачів, якщо ви запускаєте сесії для кожного відправника під тим самим id агента).all: будь-яка сесія. Націлювання між агентами все одно потребуєtools.agentToAgent.- Обмеження пісочниці: коли поточна сесія ізольована в пісочниці та
agents.defaults.sandbox.sessionToolsVisibility="spawned", видимість примусово встановлюється наtree, навіть якщоtools.sessions.visibility="all".
tools.sessions_spawn
Керує підтримкою вбудованих вкладень для sessions_spawn.
{
tools: {
sessions_spawn: {
attachments: {
enabled: false, // opt-in: set true to allow inline file attachments
maxTotalBytes: 5242880, // 5 MB total across all files
maxFiles: 50,
maxFileBytes: 1048576, // 1 MB per file
retainOnSessionKeep: false, // keep attachments when cleanup="keep"
},
},
},
}
Примітки щодо вкладень
- Вкладення підтримуються лише для
runtime: "subagent". Середовище виконання ACP відхиляє їх. - Файли матеріалізуються в дочірньому робочому просторі за шляхом
.openclaw/attachments/<uuid>/з.manifest.json. - Вміст вкладень автоматично редагується під час збереження транскрипту.
- Вхідні дані Base64 перевіряються суворими перевірками алфавіту/заповнення та запобіжником розміру перед декодуванням.
- Дозволи файлів:
0700для каталогів і0600для файлів. - Очищення дотримується політики
cleanup:deleteзавжди видаляє вкладення;keepзберігає їх лише колиretainOnSessionKeep: true.
tools.experimental
Експериментальні прапорці вбудованих інструментів. За замовчуванням вимкнено, якщо не застосовується правило автоматичного ввімкнення для суворо агентного GPT-5.
{
tools: {
experimental: {
planTool: true, // enable experimental update_plan
},
},
}
planTool: вмикає структурований інструментupdate_planдля відстеження нетривіальної багатоетапної роботи.- За замовчуванням:
false, якщоagents.defaults.embeddedPi.executionContract(або перевизначення для окремого агента) не встановлено в"strict-agentic"для запуску OpenAI або OpenAI Codex сімейства GPT-5. Установітьtrue, щоб примусово ввімкнути інструмент поза цією областю, абоfalse, щоб залишити його вимкненим навіть для суворо агентних запусків GPT-5. - Коли ввімкнено, системний запит також додає вказівки з використання, щоб модель застосовувала його лише для суттєвої роботи та тримала щонайбільше один крок
in_progress.
agents.defaults.subagents
{
agents: {
defaults: {
subagents: {
allowAgents: ["research"],
model: "minimax/MiniMax-M2.7",
maxConcurrent: 8,
runTimeoutSeconds: 900,
archiveAfterMinutes: 60,
},
},
},
}
model: модель за замовчуванням для створених субагентів. Якщо пропущено, субагенти успадковують модель викликача.allowAgents: типовий allowlist ідентифікаторів цільових агентів дляsessions_spawn, коли агент-запитувач не задає власнийsubagents.allowAgents(["*"]= будь-який; за замовчуванням: лише той самий агент).runTimeoutSeconds: типовий тайм-аут (у секундах) дляsessions_spawn, коли виклик інструмента пропускаєrunTimeoutSeconds.0означає без тайм-ауту.- Політика інструментів для окремого субагента:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Власні провайдери й базові URL-адреси
OpenClaw використовує вбудований каталог моделей. Додавайте власних провайдерів через models.providers у конфігурації або ~/.openclaw/agents/<agentId>/agent/models.json.
{
models: {
mode: "merge", // merge (default) | replace
providers: {
"custom-proxy": {
baseUrl: "http://localhost:4000/v1",
apiKey: "LITELLM_KEY",
api: "openai-completions", // openai-completions | openai-responses | anthropic-messages | google-generative-ai
models: [
{
id: "llama-3.1-8b",
name: "Llama 3.1 8B",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 128000,
contextTokens: 96000,
maxTokens: 32000,
},
],
},
},
},
}
Автентифікація та пріоритет об’єднання
- Використовуйте
authHeader: true+headersдля власних потреб автентифікації. - Перевизначте корінь конфігурації агента за допомогою
OPENCLAW_AGENT_DIR(абоPI_CODING_AGENT_DIR, застарілого псевдоніма змінної середовища). - Пріоритет об’єднання для збіжних ідентифікаторів провайдерів:
- Непорожні значення
baseUrlз агентськогоmodels.jsonмають перевагу. - Непорожні значення
apiKeyагента мають перевагу лише коли цей провайдер не керується SecretRef у поточному контексті конфігурації/профілю автентифікації. - Значення
apiKeyпровайдера, керованого SecretRef, оновлюються з маркерів джерела (ENV_VAR_NAMEдля посилань env,secretref-managedдля посилань file/exec) замість збереження розв’язаних секретів. - Значення заголовків провайдера, керованого SecretRef, оновлюються з маркерів джерела (
secretref-env:ENV_VAR_NAMEдля посилань env,secretref-managedдля посилань file/exec). - Порожні або відсутні агентські
apiKey/baseUrlповертаються доmodels.providersу конфігурації. - Збіжні значення
contextWindow/maxTokensмоделі використовують більше значення між явною конфігурацією та неявними значеннями каталогу. - Збіжний
contextTokensмоделі зберігає явне обмеження середовища виконання, коли воно наявне; використовуйте його, щоб обмежити ефективний контекст без зміни нативних метаданих моделі. - Використовуйте
models.mode: "replace", коли хочете, щоб конфігурація повністю перезаписалаmodels.json. - Збереження маркерів є джерельно-авторитетним: маркери записуються з активного знімка конфігурації джерела (до розв’язання), а не з розв’язаних значень секретів середовища виконання.
- Непорожні значення
Подробиці полів провайдера
Каталог верхнього рівня
models.mode: поведінка каталогу провайдерів (mergeабоreplace).models.providers: мапа власних провайдерів із ключами за ідентифікатором провайдера.- Безпечні редагування: використовуйте
openclaw config set models.providers.<id> '<json>' --strict-json --mergeабоopenclaw config set models.providers.<id>.models '<json-array>' --strict-json --mergeдля додаткових оновлень.config setвідмовляється від руйнівних замін, якщо не передати--replace.
- Безпечні редагування: використовуйте
Підключення провайдера та автентифікація
models.providers.*.api: адаптер запиту (openai-completions,openai-responses,anthropic-messages,google-generative-aiтощо). Для самостійно розгорнутих бекендів/v1/chat/completions, таких як MLX, vLLM, SGLang і більшість локальних серверів, сумісних з OpenAI, використовуйтеopenai-completions. Власний провайдер ізbaseUrl, але безapi, за замовчуванням використовуєopenai-completions; задавайтеopenai-responsesлише коли бекенд підтримує/v1/responses.models.providers.*.apiKey: облікові дані провайдера (надавайте перевагу SecretRef/підстановці env).models.providers.*.auth: стратегія автентифікації (api-key,token,oauth,aws-sdk).models.providers.*.contextWindow: типове нативне вікно контексту для моделей цього провайдера, коли запис моделі не задаєcontextWindow.models.providers.*.contextTokens: типове ефективне обмеження контексту середовища виконання для моделей цього провайдера, коли запис моделі не задаєcontextTokens.models.providers.*.maxTokens: типове обмеження вихідних токенів для моделей цього провайдера, коли запис моделі не задаєmaxTokens.models.providers.*.timeoutSeconds: необов’язковий тайм-аут HTTP-запиту моделі для окремого провайдера в секундах, включно з підключенням, заголовками, тілом і загальною обробкою переривання запиту.models.providers.*.injectNumCtxForOpenAICompat: для Ollama +openai-completionsвставлятиoptions.num_ctxу запити (за замовчуванням:true).models.providers.*.authHeader: примусово передавати облікові дані в заголовкуAuthorization, коли це потрібно.models.providers.*.baseUrl: базова URL-адреса API upstream.models.providers.*.headers: додаткові статичні заголовки для маршрутизації proxy/tenant.
Перевизначення транспорту запитів
models.providers.*.request: перевизначення транспорту для HTTP-запитів провайдера моделей.
request.headers: додаткові заголовки (об’єднуються з типовими значеннями провайдера). Значення приймають SecretRef.request.auth: перевизначення стратегії автентифікації. Режими:"provider-default"(використовувати вбудовану автентифікацію провайдера),"authorization-bearer"(зtoken),"header"(зheaderName,value, необов’язковимprefix).request.proxy: перевизначення HTTP-проксі. Режими:"env-proxy"(використовувати змінні середовищаHTTP_PROXY/HTTPS_PROXY),"explicit-proxy"(зurl). Обидва режими приймають необов’язковий підоб’єктtls.request.tls: перевизначення TLS для прямих підключень. Поля:ca,cert,key,passphrase(усі приймають SecretRef),serverName,insecureSkipVerify.request.allowPrivateNetwork: колиtrue, дозволяє HTTPS доbaseUrl, коли DNS розв’язується в приватні, CGNAT або подібні діапазони, через захисник HTTP fetch провайдера (opt-in оператора для довірених самостійно розгорнутих сумісних з OpenAI кінцевих точок). URL-адреси потоків провайдера моделей local loopback, такі якlocalhost,127.0.0.1і[::1], дозволяються автоматично, якщо це явно не встановлено вfalse; хости LAN, tailnet і приватні DNS-хости все одно потребують opt-in. WebSocket використовує той самийrequestдля заголовків/TLS, але не цей fetch SSRF gate. За замовчуваннямfalse.
Записи каталогу моделей
models.providers.*.models: явні записи каталогу моделей провайдера.models.providers.*.models.*.input: модальності введення моделі. Використовуйте["text"]для моделей лише з текстом і["text", "image"]для нативних моделей зображень/бачення. Вкладення зображень вставляються в ходи агента лише коли вибрана модель позначена як здатна працювати із зображеннями.models.providers.*.models.*.contextWindow: метадані нативного вікна контексту моделі. Це перевизначаєcontextWindowрівня провайдера для цієї моделі.models.providers.*.models.*.contextTokens: необов’язкове обмеження контексту середовища виконання. Це перевизначаєcontextTokensрівня провайдера; використовуйте його, коли потрібен менший ефективний бюджет контексту, ніж нативнийcontextWindowмоделі;openclaw models listпоказує обидва значення, коли вони відрізняються.models.providers.*.models.*.compat.supportsDeveloperRole: необов’язкова підказка сумісності. Дляapi: "openai-completions"з непорожнім ненативнимbaseUrl(хост неapi.openai.com) OpenClaw примусово встановлює це вfalseпід час виконання. Порожній/пропущенийbaseUrlзберігає типову поведінку OpenAI.models.providers.*.models.*.compat.requiresStringContent: необов’язкова підказка сумісності для сумісних з OpenAI чат-ендпоїнтів, що приймають лише рядки. Колиtrue, OpenClaw перед надсиланням запиту сплощує масиви чистого текстуmessages[].contentу звичайні рядки.
Виявлення Amazon Bedrock
plugins.entries.amazon-bedrock.config.discovery: корінь налаштувань автовиявлення Bedrock.plugins.entries.amazon-bedrock.config.discovery.enabled: увімкнути/вимкнути неявне виявлення.plugins.entries.amazon-bedrock.config.discovery.region: регіон AWS для виявлення.plugins.entries.amazon-bedrock.config.discovery.providerFilter: необов’язковий фільтр provider-id для цільового виявлення.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: інтервал опитування для оновлення виявлення.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: резервне вікно контексту для виявлених моделей.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: резервна максимальна кількість вихідних токенів для виявлених моделей.
Інтерактивне налаштування власного провайдера визначає введення зображень для поширених ідентифікаторів моделей бачення, таких як GPT-4o, Claude, Gemini, Qwen-VL, LLaVA, Pixtral, InternVL, Mllama, MiniCPM-V і GLM-4V, та пропускає додаткове запитання для відомих сімейств лише з текстом. Невідомі ідентифікатори моделей усе одно запитують про підтримку зображень. Неінтерактивне налаштування використовує те саме визначення; передайте --custom-image-input, щоб примусово встановити метадані здатності працювати із зображеннями, або --custom-text-input, щоб примусово встановити метадані лише для тексту.
Приклади провайдерів
Cerebras (GLM 4.7 / GPT OSS)
Вбудований Plugin провайдера cerebras може налаштувати це через openclaw onboard --auth-choice cerebras-api-key. Використовуйте явну конфігурацію провайдера лише коли перевизначаєте типові значення.
{
env: { CEREBRAS_API_KEY: "sk-..." },
agents: {
defaults: {
model: {
primary: "cerebras/zai-glm-4.7",
fallbacks: ["cerebras/gpt-oss-120b"],
},
models: {
"cerebras/zai-glm-4.7": { alias: "GLM 4.7 (Cerebras)" },
"cerebras/gpt-oss-120b": { alias: "GPT OSS 120B (Cerebras)" },
},
},
},
models: {
mode: "merge",
providers: {
cerebras: {
baseUrl: "https://api.cerebras.ai/v1",
apiKey: "${CEREBRAS_API_KEY}",
api: "openai-completions",
models: [
{ id: "zai-glm-4.7", name: "GLM 4.7 (Cerebras)" },
{ id: "gpt-oss-120b", name: "GPT OSS 120B (Cerebras)" },
],
},
},
},
}
Використовуйте cerebras/zai-glm-4.7 для Cerebras; zai/glm-4.7 для прямого підключення Z.AI.
Кодування Kimi
{
env: { KIMI_API_KEY: "sk-..." },
agents: {
defaults: {
model: { primary: "kimi/kimi-code" },
models: { "kimi/kimi-code": { alias: "Kimi Code" } },
},
},
}
Сумісний з Anthropic, вбудований провайдер. Скорочення: openclaw onboard --auth-choice kimi-code-api-key.
Локальні моделі (LM Studio)
Див. Локальні моделі. TL;DR: запускайте велику локальну модель через LM Studio Responses API на серйозному обладнанні; залишайте розміщені моделі об’єднаними як резервний варіант.
MiniMax M2.7 (напряму)
{
agents: {
defaults: {
model: { primary: "minimax/MiniMax-M2.7" },
models: {
"minimax/MiniMax-M2.7": { alias: "Minimax" },
},
},
},
models: {
mode: "merge",
providers: {
minimax: {
baseUrl: "https://api.minimax.io/anthropic",
apiKey: "${MINIMAX_API_KEY}",
api: "anthropic-messages",
models: [
{
id: "MiniMax-M2.7",
name: "MiniMax M2.7",
reasoning: true,
input: ["text"],
cost: { input: 0.3, output: 1.2, cacheRead: 0.06, cacheWrite: 0.375 },
contextWindow: 204800,
maxTokens: 131072,
},
],
},
},
},
}
Задайте MINIMAX_API_KEY. Скорочення: openclaw onboard --auth-choice minimax-global-api або openclaw onboard --auth-choice minimax-cn-api. Каталог моделей за замовчуванням містить лише M2.7. На сумісному з Anthropic потоковому шляху OpenClaw вимикає thinking MiniMax за замовчуванням, якщо ви явно не задасте thinking самостійно. /fast on або params.fastMode: true переписує MiniMax-M2.7 на MiniMax-M2.7-highspeed.
Moonshot AI (Kimi)
{
env: { MOONSHOT_API_KEY: "sk-..." },
agents: {
defaults: {
model: { primary: "moonshot/kimi-k2.6" },
models: { "moonshot/kimi-k2.6": { alias: "Kimi K2.6" } },
},
},
models: {
mode: "merge",
providers: {
moonshot: {
baseUrl: "https://api.moonshot.ai/v1",
apiKey: "${MOONSHOT_API_KEY}",
api: "openai-completions",
models: [
{
id: "kimi-k2.6",
name: "Kimi K2.6",
reasoning: false,
input: ["text", "image"],
cost: { input: 0.95, output: 4, cacheRead: 0.16, cacheWrite: 0 },
contextWindow: 262144,
maxTokens: 262144,
},
],
},
},
},
}
Для кінцевої точки в Китаї: baseUrl: "https://api.moonshot.cn/v1" або openclaw onboard --auth-choice moonshot-api-key-cn.
Нативні кінцеві точки Moonshot оголошують сумісність використання потокової передачі на спільному транспорті openai-completions, і OpenClaw визначає це за можливостями кінцевої точки, а не лише за вбудованим ідентифікатором провайдера.
OpenCode
{
agents: {
defaults: {
model: { primary: "opencode/claude-opus-4-6" },
models: { "opencode/claude-opus-4-6": { alias: "Opus" } },
},
},
}
Установіть OPENCODE_API_KEY (або OPENCODE_ZEN_API_KEY). Використовуйте посилання opencode/... для каталогу Zen або посилання opencode-go/... для каталогу Go. Скорочення: openclaw onboard --auth-choice opencode-zen або openclaw onboard --auth-choice opencode-go.
Synthetic (Anthropic-сумісний)
{
env: { SYNTHETIC_API_KEY: "sk-..." },
agents: {
defaults: {
model: { primary: "synthetic/hf:MiniMaxAI/MiniMax-M2.5" },
models: { "synthetic/hf:MiniMaxAI/MiniMax-M2.5": { alias: "MiniMax M2.5" } },
},
},
models: {
mode: "merge",
providers: {
synthetic: {
baseUrl: "https://api.synthetic.new/anthropic",
apiKey: "${SYNTHETIC_API_KEY}",
api: "anthropic-messages",
models: [
{
id: "hf:MiniMaxAI/MiniMax-M2.5",
name: "MiniMax M2.5",
reasoning: true,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 192000,
maxTokens: 65536,
},
],
},
},
},
}
Базовий URL має не містити /v1 (клієнт Anthropic додає його). Скорочення: openclaw onboard --auth-choice synthetic-api-key.
Z.AI (GLM-4.7)
{
agents: {
defaults: {
model: { primary: "zai/glm-4.7" },
models: { "zai/glm-4.7": {} },
},
},
}
Установіть ZAI_API_KEY. z.ai/* і z-ai/* приймаються як псевдоніми. Скорочення: openclaw onboard --auth-choice zai-api-key.
- Загальний endpoint:
https://api.z.ai/api/paas/v4 - Coding endpoint (типовий):
https://api.z.ai/api/coding/paas/v4 - Для загального endpoint визначте власного провайдера з перевизначенням базового URL.
Пов’язане
- Конфігурація — agents
- Конфігурація — channels
- Довідник конфігурації — інші ключі верхнього рівня
- Інструменти та plugins