tools.* і налаштування власних provider / base URL. Для агентів,
каналів та інших конфігурацій верхнього рівня див.
Довідник конфігурації.
Tools
Профілі інструментів
tools.profile задає базовий allowlist перед tools.allow/tools.deny:
Локальний онбординг типово встановлює для нових локальних конфігурацій tools.profile: "coding", якщо значення не задано (наявні явно вказані профілі зберігаються).
| Профіль | Містить |
|---|---|
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 | cron, gateway |
group:messaging | message |
group:nodes | nodes |
group:agents | agents_list |
group:media | image, image_generate, video_generate, tts |
group:openclaw | Усі вбудовані інструменти (без provider Plugin) |
tools.allow / tools.deny
Глобальна політика дозволу/заборони інструментів (заборона має пріоритет). Нечутлива до регістру, підтримує wildcard *. Застосовується навіть коли sandbox Docker вимкнено.
tools.byProvider
Додатково обмежує інструменти для конкретних provider або моделей. Порядок: базовий профіль → профіль provider → allow/deny.
tools.elevated
Керує elevated-доступом exec поза sandbox:
- Перевизначення для окремого агента (
agents.list[].tools.elevated) може лише додатково обмежувати. /elevated on|off|ask|fullзберігає стан для кожної сесії; inline-директиви застосовуються лише до одного повідомлення.- Elevated
execобходить sandbox і використовує налаштований шлях виходу (gatewayтипово, абоnode, коли ціллю exec єnode).
tools.exec
tools.loopDetection
Перевірки безпеки від циклів інструментів типово вимкнені. Установіть enabled: true, щоб увімкнути виявлення.
Налаштування можна задати глобально в tools.loopDetection і перевизначити для окремого агента в agents.list[].tools.loopDetection.
historySize: максимальна історія викликів інструментів, що зберігається для аналізу циклів.warningThreshold: поріг повторюваного шаблону без прогресу для попереджень.criticalThreshold: вищий поріг повторення для блокування критичних циклів.globalCircuitBreakerThreshold: жорсткий поріг зупинки для будь-якого запуску без прогресу.detectors.genericRepeat: попереджати про повторні виклики того самого інструмента з тими самими аргументами.detectors.knownPollNoProgress: попереджати/блокувати відомі poll-інструменти (process.poll,command_statusтощо).detectors.pingPong: попереджати/блокувати шаблони чергування пар без прогресу.- Якщо
warningThreshold >= criticalThresholdабоcriticalThreshold >= globalCircuitBreakerThreshold, перевірка не проходить.
tools.web
tools.media
Налаштовує розуміння вхідних медіа (зображення/аудіо/відео):
Поля запису моделі медіа
Поля запису моделі медіа
Запис provider (
type: "provider" або без вказання):provider: id API provider (openai,anthropic,google/gemini,groqтощо)model: перевизначення id моделіprofile/preferredProfile: вибір профілю зauth-profiles.json
type: "cli"):command: виконуваний файл для запускуargs: шаблонізовані аргументи (підтримуються{{MediaPath}},{{Prompt}},{{MaxChars}}тощо)
capabilities: необов’язковий список (image,audio,video). Типові значення:openai/anthropic/minimax→ image,google→ image+audio+video,groq→ audio.prompt,maxChars,maxBytes,timeoutSeconds,language: перевизначення для окремого запису.- У разі помилки використовується наступний запис.
auth-profiles.json → змінні середовища → models.providers.*.apiKey.Поля асинхронного завершення:asyncCompletion.directSend: колиtrue, завершені асинхронні завданняmusic_generateіvideo_generateспочатку намагаються доставлятися безпосередньо в канал. Типове значення:false(застарілий шлях requester-session wake/model-delivery).
tools.agentToAgent
tools.sessions
Керує тим, на які сесії можуть бути націлені session tools (sessions_list, sessions_history, sessions_send).
Типове значення: tree (поточна сесія + сесії, створені нею, наприклад субагенти).
self: лише ключ поточної сесії.tree: поточна сесія + сесії, створені поточною сесією (субагенти).agent: будь-яка сесія, що належить поточному id агента (може включати інших користувачів, якщо ви запускаєте окремі сесії для відправників під тим самим id агента).all: будь-яка сесія. Націлення між агентами все одно потребуєtools.agentToAgent.- Обмеження sandbox: коли поточна сесія працює в sandbox і
agents.defaults.sandbox.sessionToolsVisibility="spawned", видимість примусово встановлюється наtree, навіть якщоtools.sessions.visibility="all".
tools.sessions_spawn
Керує підтримкою inline-вкладень для sessions_spawn.
- Вкладення підтримуються лише для
runtime: "subagent". Runtime ACP їх відхиляє. - Файли матеріалізуються в дочірньому робочому просторі в
.openclaw/attachments/<uuid>/разом із.manifest.json. - Вміст вкладень автоматично редагується під час збереження транскрипту.
- Входи Base64 перевіряються за допомогою суворої перевірки алфавіту/вирівнювання та захисту розміру до декодування.
- Права доступу до файлів:
0700для каталогів і0600для файлів. - Очищення виконується згідно з політикою
cleanup:deleteзавжди видаляє вкладення;keepзберігає їх лише колиretainOnSessionKeep: true.
tools.experimental
Експериментальні прапорці вбудованих інструментів. Типово вимкнено, якщо не застосовується правило автоувімкнення strict-agentic GPT-5.
planTool: вмикає структурований інструментupdate_planдля відстеження нетривіальної багатокрокової роботи.- Типове значення:
false, якщо тількиagents.defaults.embeddedPi.executionContract(або перевизначення для окремого агента) не встановлено в"strict-agentic"для запуску OpenAI або OpenAI Codex сімейства GPT-5. Установітьtrue, щоб примусово ввімкнути інструмент поза цією областю, абоfalse, щоб залишити його вимкненим навіть для запусків strict-agentic GPT-5. - Коли інструмент увімкнено, system prompt також додає вказівки щодо використання, щоб модель застосовувала його лише для суттєвої роботи й підтримувала не більше одного кроку
in_progress.
agents.defaults.subagents
model: типова модель для створених субагентів. Якщо не вказано, субагенти успадковують модель викликувача.allowAgents: типовий allowlist цільових id агентів дляsessions_spawn, коли агент-запитувач не задає власнийsubagents.allowAgents(["*"]= будь-який; типово: лише той самий агент).runTimeoutSeconds: типовий тайм-аут (у секундах) дляsessions_spawn, коли виклик інструмента не вказуєrunTimeoutSeconds.0означає відсутність тайм-ауту.- Політика інструментів для субагентів:
tools.subagents.tools.allow/tools.subagents.tools.deny.
Власні providers і base URL
OpenClaw використовує вбудований каталог моделей. Додавайте власні providers черезmodels.providers у конфігурації або ~/.openclaw/agents/<agentId>/agent/models.json.
- Використовуйте
authHeader: true+headersдля власних потреб автентифікації. - Перевизначайте корінь конфігурації агента через
OPENCLAW_AGENT_DIR(абоPI_CODING_AGENT_DIR, застарілий псевдонім змінної середовища). - Пріоритет злиття для provider ID, що збігаються:
- Непорожні значення
baseUrlз агентськогоmodels.jsonмають пріоритет. - Непорожні значення
apiKeyз агента мають пріоритет лише тоді, коли цей provider не керується через SecretRef у поточному контексті config/auth-profile. - Значення
apiKeyдля provider, керованих через SecretRef, оновлюються з маркерів джерела (ENV_VAR_NAMEдля env-посилань,secretref-managedдля file/exec-посилань) замість збереження розв’язаних секретів. - Значення заголовків для provider, керованих через SecretRef, оновлюються з маркерів джерела (
secretref-env:ENV_VAR_NAMEдля env-посилань,secretref-managedдля file/exec-посилань). - Порожні або відсутні агентські
apiKey/baseUrlберуться зmodels.providersу конфігурації. - Для моделей, що збігаються,
contextWindow/maxTokensвикористовують більше значення між явною конфігурацією та неявними значеннями каталогу. - Для моделей, що збігаються,
contextTokensзберігає явне обмеження runtime, якщо воно задане; використовуйте це, щоб обмежити ефективний контекст без зміни рідних метаданих моделі. - Використовуйте
models.mode: "replace", коли хочете, щоб конфігурація повністю переписалаmodels.json. - Збереження маркерів є джерельно-авторитетним: маркери записуються з активного знімка конфігурації джерела (до розв’язання), а не з розв’язаних значень секретів runtime.
- Непорожні значення
Докладніше про поля provider
models.mode: поведінка каталогу provider (mergeабоreplace).models.providers: мапа власних providers із ключем за id provider.- Безпечні редагування: використовуйте
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тощо).models.providers.*.apiKey: облікові дані provider (краще через SecretRef/env-підстановку).models.providers.*.auth: стратегія автентифікації (api-key,token,oauth,aws-sdk).models.providers.*.injectNumCtxForOpenAICompat: для Ollama +openai-completionsвставляєoptions.num_ctxу запити (типово:true).models.providers.*.authHeader: примусово передає облікові дані в заголовкуAuthorization, коли це потрібно.models.providers.*.baseUrl: базовий URL висхідного API.models.providers.*.headers: додаткові статичні заголовки для маршрутизації через proxy/tenant.models.providers.*.request: перевизначення транспорту для HTTP-запитів model-provider.request.headers: додаткові заголовки (зливаються з типовими для provider). Значення приймають SecretRef.request.auth: перевизначення стратегії автентифікації. Режими:"provider-default"(використовувати вбудовану автентифікацію provider),"authorization-bearer"(зtoken),"header"(зheaderName,value, необов’язковимprefix).request.proxy: перевизначення HTTP proxy. Режими:"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 розв’язується в private, CGNAT або подібні діапазони, через захист HTTP fetch provider від SSRF (явне ввімкнення оператором для довірених самостійно розміщених endpoint, сумісних з OpenAI). WebSocket використовує той самийrequestдля заголовків/TLS, але не цей SSRF-захист fetch. Типове значенняfalse.
models.providers.*.models: явні записи каталогу моделей provider.models.providers.*.models.*.contextWindow: метадані рідного вікна контексту моделі.models.providers.*.models.*.contextTokens: необов’язкове обмеження контексту runtime. Використовуйте це, якщо хочете менший ефективний бюджет контексту, ніж ріднийcontextWindowмоделі.models.providers.*.models.*.compat.supportsDeveloperRole: необов’язкова підказка сумісності. Дляapi: "openai-completions"з непорожнім неріднимbaseUrl(хост неapi.openai.com) OpenClaw примусово встановлює це вfalseпід час runtime. Порожній/відсутнійbaseUrlзберігає типову поведінку OpenAI.models.providers.*.models.*.compat.requiresStringContent: необов’язкова підказка сумісності для OpenAI-сумісних chat endpoint, які приймають лише рядки. Колиtrue, OpenClaw перетворює масивиmessages[].content, що містять лише текст, у звичайні рядки перед надсиланням запиту.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: необов’язковий фільтр id provider для цільового виявлення.plugins.entries.amazon-bedrock.config.discovery.refreshInterval: інтервал опитування для оновлення виявлення.plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow: резервне вікно контексту для виявлених моделей.plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens: резервна максимальна кількість вихідних токенів для виявлених моделей.
Приклади provider
Cerebras (GLM 4.6 / 4.7)
Cerebras (GLM 4.6 / 4.7)
cerebras/zai-glm-4.7 для Cerebras; zai/glm-4.7 для прямого Z.AI.OpenCode
OpenCode
OPENCODE_API_KEY (або OPENCODE_ZEN_API_KEY). Використовуйте посилання opencode/... для каталогу Zen або opencode-go/... для каталогу Go. Скорочення: openclaw onboard --auth-choice opencode-zen або openclaw onboard --auth-choice opencode-go.Z.AI (GLM-4.7)
Z.AI (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 - Endpoint для кодування (типовий):
https://api.z.ai/api/coding/paas/v4 - Для загального endpoint визначте власний provider із перевизначенням base URL.
Moonshot AI (Kimi)
Moonshot AI (Kimi)
baseUrl: "https://api.moonshot.cn/v1" або openclaw onboard --auth-choice moonshot-api-key-cn.Рідні endpoint Moonshot рекламують сумісність streaming usage на спільному
транспорті openai-completions, і OpenClaw визначає це за можливостями endpoint,
а не лише за id вбудованого provider.Kimi Coding
Kimi Coding
openclaw onboard --auth-choice kimi-code-api-key.Synthetic (сумісний з Anthropic)
Synthetic (сумісний з Anthropic)
/v1 (клієнт Anthropic додає його сам). Скорочення: openclaw onboard --auth-choice synthetic-api-key.MiniMax M2.7 (direct)
MiniMax M2.7 (direct)
MINIMAX_API_KEY. Скорочення:
openclaw onboard --auth-choice minimax-global-api або
openclaw onboard --auth-choice minimax-cn-api.
Каталог моделей типово містить лише M2.7.
На Anthropic-сумісному streaming path OpenClaw типово вимикає thinking MiniMax,
якщо ви явно не задасте thinking самостійно. /fast on або
params.fastMode: true переписує MiniMax-M2.7 на
MiniMax-M2.7-highspeed.Локальні моделі (LM Studio)
Локальні моделі (LM Studio)
Див. Локальні моделі. Коротко: запускайте велику локальну модель через LM Studio Responses API на достатньо потужному обладнанні; зберігайте злиття з розміщеними моделями як резервний варіант.
Пов’язане
- Довідник конфігурації — інші ключі верхнього рівня
- Конфігурація — агенти
- Конфігурація — канали
- Tools і plugins