agents.*, multiAgent.*, session.*,
messages.* і talk.*. Для каналів, інструментів, runtime Gateway та інших
ключів верхнього рівня див. Configuration reference.
Значення агента за замовчуванням
agents.defaults.workspace
Типово: ~/.openclaw/workspace.
agents.defaults.repoRoot
Необов’язковий корінь репозиторію, який показується в рядку Runtime системного prompt. Якщо не задано, OpenClaw автоматично визначає його, підіймаючись угору від робочого простору.
agents.defaults.skills
Необов’язковий allowlist Skills за замовчуванням для агентів, які не задають
agents.list[].skills.
- Не вказуйте
agents.defaults.skills, щоб типово дозволити необмежені Skills. - Не вказуйте
agents.list[].skills, щоб успадкувати значення за замовчуванням. - Установіть
agents.list[].skills: [], щоб не було Skills. - Непорожній список
agents.list[].skillsє остаточним набором для цього агента; він не об’єднується зі значеннями за замовчуванням.
agents.defaults.skipBootstrap
Вимикає автоматичне створення bootstrap-файлів робочого простору (AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md, BOOTSTRAP.md).
agents.defaults.contextInjection
Керує тим, коли bootstrap-файли робочого простору інжектуються в системний prompt. Типово: "always".
"continuation-skip": безпечні ходи продовження (після завершеної відповіді асистента) пропускають повторну інжекцію bootstrap робочого простору, зменшуючи розмір prompt. Запуски Heartbeat і повторні спроби після Compaction все одно перебудовують контекст.
agents.defaults.bootstrapMaxChars
Максимальна кількість символів на один bootstrap-файл робочого простору до усікання. Типово: 12000.
agents.defaults.bootstrapTotalMaxChars
Максимальна загальна кількість символів, що інжектуються з усіх bootstrap-файлів робочого простору. Типово: 60000.
agents.defaults.bootstrapPromptTruncationWarning
Керує видимим агенту текстом попередження, коли bootstrap-контекст усічено.
Типово: "once".
"off": ніколи не інжектувати текст попередження в системний prompt."once": інжектувати попередження один раз для кожного унікального сигнатурного усікання (рекомендовано)."always": інжектувати попередження під час кожного запуску, коли є усікання.
Карта власності бюджету контексту
OpenClaw має кілька великих бюджетів prompt/контексту, і вони навмисно розділені за підсистемами, а не проходять через один загальний перемикач.agents.defaults.bootstrapMaxChars/agents.defaults.bootstrapTotalMaxChars: звичайна інжекція bootstrap робочого простору.agents.defaults.startupContext.*: одноразова стартова преамбула для/newі/reset, включно з недавніми щоденними файламиmemory/*.md.skills.limits.*: компактний список Skills, інжектований у системний prompt.agents.defaults.contextLimits.*: обмежені runtime-уривки та інжектовані блоки, якими володіє runtime.memory.qmd.limits.*: розмір фрагментів і інжекції для індексованого пошуку по пам’яті.
agents.list[].skillsLimits.maxSkillsPromptCharsagents.list[].contextLimits.*
agents.defaults.startupContext
Керує стартовою преамбулою першого ходу, яка інжектується під час запусків bare /new і /reset.
agents.defaults.contextLimits
Спільні значення за замовчуванням для обмежених поверхонь runtime-контексту.
memoryGetMaxChars: типовий ліміт уривкаmemory_getдо додавання метаданих усікання та повідомлення про продовження.memoryGetDefaultLines: типове вікно рядків дляmemory_get, колиlinesне вказано.toolResultMaxChars: поточний ліміт результатів інструментів, який використовується для збережених результатів і відновлення після переповнення.postCompactionMaxChars: ліміт уривка AGENTS.md, який використовується під час інжекції оновлення після Compaction.
agents.list[].contextLimits
Перевизначення на рівні агента для спільних перемикачів contextLimits. Невказані поля успадковуються
з agents.defaults.contextLimits.
skills.limits.maxSkillsPromptChars
Глобальний ліміт для компактного списку Skills, інжектованого в системний prompt. Це
не впливає на читання файлів SKILL.md на вимогу.
agents.list[].skillsLimits.maxSkillsPromptChars
Перевизначення на рівні агента для бюджету prompt Skills.
agents.defaults.imageMaxDimensionPx
Максимальний розмір у пікселях для довшої сторони зображення в блоках зображень transcript/tool перед викликами провайдера.
Типово: 1200.
Нижчі значення зазвичай зменшують використання vision-токенів і розмір payload запиту для запусків із великою кількістю знімків екрана.
Вищі значення зберігають більше візуальних деталей.
agents.defaults.userTimezone
Часовий пояс для контексту системного prompt (не для часових міток повідомлень). Якщо не задано, використовується часовий пояс хоста.
agents.defaults.timeFormat
Формат часу в системному prompt. Типово: auto (налаштування ОС).
agents.defaults.model
model: приймає або рядок ("provider/model"), або об’єкт ({ primary, fallbacks }).- Форма рядка задає лише основну модель.
- Форма об’єкта задає основну модель плюс упорядковані failover-моделі.
imageModel: приймає або рядок ("provider/model"), або об’єкт ({ primary, fallbacks }).- Використовується шляхом інструмента
imageяк конфігурація vision-моделі. - Також використовується як fallback-маршрутизація, коли вибрана/типова модель не може приймати вхідні зображення.
- Використовується шляхом інструмента
imageGenerationModel: приймає або рядок ("provider/model"), або об’єкт ({ primary, fallbacks }).- Використовується спільною можливістю генерації зображень і будь-якою майбутньою поверхнею tool/plugin, що генерує зображення.
- Типові значення:
google/gemini-3.1-flash-image-previewдля нативної генерації зображень Gemini,fal/fal-ai/flux/devдля fal абоopenai/gpt-image-2для OpenAI Images. - Якщо ви вибираєте provider/model напряму, також налаштуйте відповідну автентифікацію провайдера (наприклад,
GEMINI_API_KEYабоGOOGLE_API_KEYдляgoogle/*,OPENAI_API_KEYабо OpenAI Codex OAuth дляopenai/gpt-image-2,FAL_KEYдляfal/*). - Якщо параметр пропущено,
image_generateусе одно може вивести типове значення провайдера з автентифікацією. Спочатку він пробує поточного типового провайдера, потім решту зареєстрованих провайдерів генерації зображень у порядку id провайдера.
musicGenerationModel: приймає або рядок ("provider/model"), або об’єкт ({ primary, fallbacks }).- Використовується спільною можливістю генерації музики та вбудованим інструментом
music_generate. - Типові значення:
google/lyria-3-clip-preview,google/lyria-3-pro-previewабоminimax/music-2.5+. - Якщо параметр пропущено,
music_generateусе одно може вивести типове значення провайдера з автентифікацією. Спочатку він пробує поточного типового провайдера, потім решту зареєстрованих провайдерів генерації музики в порядку id провайдера. - Якщо ви вибираєте provider/model напряму, також налаштуйте відповідну автентифікацію провайдера/API key.
- Використовується спільною можливістю генерації музики та вбудованим інструментом
videoGenerationModel: приймає або рядок ("provider/model"), або об’єкт ({ primary, fallbacks }).- Використовується спільною можливістю генерації відео та вбудованим інструментом
video_generate. - Типові значення:
qwen/wan2.6-t2v,qwen/wan2.6-i2v,qwen/wan2.6-r2v,qwen/wan2.6-r2v-flashабоqwen/wan2.7-r2v. - Якщо параметр пропущено,
video_generateусе одно може вивести типове значення провайдера з автентифікацією. Спочатку він пробує поточного типового провайдера, потім решту зареєстрованих провайдерів генерації відео в порядку id провайдера. - Якщо ви вибираєте provider/model напряму, також налаштуйте відповідну автентифікацію провайдера/API key.
- Вбудований провайдер генерації відео Qwen підтримує до 1 вихідного відео, 1 вхідного зображення, 4 вхідних відео, тривалість до 10 секунд і параметри рівня провайдера
size,aspectRatio,resolution,audioтаwatermark.
- Використовується спільною можливістю генерації відео та вбудованим інструментом
pdfModel: приймає або рядок ("provider/model"), або об’єкт ({ primary, fallbacks }).- Використовується інструментом
pdfдля маршрутизації моделей. - Якщо параметр пропущено, інструмент PDF повертається до
imageModel, а потім до визначеної моделі сесії/типової моделі.
- Використовується інструментом
pdfMaxBytesMb: типовий ліміт розміру PDF для інструментаpdf, колиmaxBytesMbне передано під час виклику.pdfMaxPages: типова максимальна кількість сторінок, яку враховує режим fallback-витягування в інструментіpdf.verboseDefault: типовий рівень verbose для агентів. Значення:"off","on","full". Типово:"off".elevatedDefault: типовий рівень elevated-output для агентів. Значення:"off","on","ask","full". Типово:"on".model.primary: форматprovider/model(наприклад,openai/gpt-5.4для доступу через API key абоopenai-codex/gpt-5.5для Codex OAuth). Якщо ви не вкажете провайдера, OpenClaw спочатку спробує alias, потім унікальний збіг exact model id серед налаштованих провайдерів і лише після цього повернеться до налаштованого провайдера за замовчуванням (застаріла поведінка для сумісності, тому краще вказувати явнийprovider/model). Якщо цей провайдер більше не надає налаштовану модель за замовчуванням, OpenClaw повернеться до першої налаштованої пари provider/model замість того, щоб показувати застаріле типове значення від видаленого провайдера.models: налаштований каталог моделей і allowlist для/model. Кожен запис може міститиalias(скорочення) іparams(специфічні для провайдера, наприкладtemperature,maxTokens,cacheRetention,context1m,responsesServerCompaction,responsesCompactThreshold).- Безпечне редагування: використовуйте
openclaw config set agents.defaults.models '<json>' --strict-json --merge, щоб додавати записи.config setвідмовляється від замін, які вилучили б наявні записи allowlist, якщо не передати--replace. - Потоки configure/onboarding на рівні провайдера об’єднують вибрані моделі провайдера в цю мапу та зберігають уже налаштованих непов’язаних провайдерів.
- Для прямих моделей OpenAI Responses компакція на стороні сервера вмикається автоматично. Використовуйте
params.responsesServerCompaction: false, щоб припинити інжекціюcontext_management, абоparams.responsesCompactThreshold, щоб перевизначити поріг. Див. OpenAI server-side compaction.
- Безпечне редагування: використовуйте
params: глобальні типові параметри провайдера, що застосовуються до всіх моделей. Задаються вagents.defaults.params(наприклад,{ cacheRetention: "long" }).- Пріоритет злиття
params(конфігурація):agents.defaults.params(глобальна база) перевизначаєтьсяagents.defaults.models["provider/model"].params(для конкретної моделі), потімagents.list[].params(для відповідного id агента) перевизначає за ключем. Докладніше див. Prompt Caching. embeddedHarness: типова політика низькорівневого runtime вбудованого агента. Використовуйтеruntime: "auto", щоб дозволити зареєстрованим plugin harness брати на себе підтримувані моделі,runtime: "pi", щоб примусово використовувати вбудований harness PI, або зареєстрований id harness, наприкладruntime: "codex". Установітьfallback: "none", щоб вимкнути автоматичний fallback до PI.- Засоби запису конфігурації, які змінюють ці поля (наприклад
/models set,/models set-imageі команди додавання/видалення fallback), зберігають канонічну форму об’єкта та, за можливості, зберігають наявні списки fallback. maxConcurrent: максимальна кількість паралельних запусків агента між сесіями (кожна сесія все одно серіалізується). Типово: 4.
agents.defaults.embeddedHarness
embeddedHarness керує тим, який низькорівневий виконавець запускає ходи вбудованого агента.
У більшості розгортань слід залишити типове значення { runtime: "auto", fallback: "pi" }.
Використовуйте це, коли довірений plugin надає нативний harness, наприклад вбудований
harness app-server Codex.
runtime:"auto","pi"або id зареєстрованого plugin harness. Вбудований plugin Codex реєструєcodex.fallback:"pi"або"none"."pi"зберігає вбудований harness PI як fallback для сумісності, коли не вибрано жодного plugin harness."none"змушує відсутній або непідтримуваний вибір plugin harness завершуватися помилкою замість тихого використання PI. Збої вибраного plugin harness завжди показуються напряму.- Перевизначення через середовище:
OPENCLAW_AGENT_RUNTIME=<id|auto|pi>перевизначаєruntime;OPENCLAW_AGENT_HARNESS_FALLBACK=noneвимикає fallback до PI для цього процесу. - Для розгортань лише з Codex установіть
model: "openai/gpt-5.5",embeddedHarness.runtime: "codex"іembeddedHarness.fallback: "none". - Вибір harness фіксується для кожного id сесії після першого вбудованого запуску. Зміни config/env впливають на нові або скинуті сесії, але не на наявний transcript. Застарілі сесії з історією transcript, але без зафіксованого значення, вважаються прив’язаними до PI.
/statusпоказує id harness, відмінні від PI, наприкладcodex, поруч ізFast. - Це керує лише вбудованим harness чату. Генерація медіа, vision, PDF, музики, відео та TTS усе ще використовують свої налаштування provider/model.
agents.defaults.models):
| Alias | Модель |
|---|---|
opus | anthropic/claude-opus-4-6 |
sonnet | anthropic/claude-sonnet-4-6 |
gpt | openai/gpt-5.4 або налаштований Codex OAuth GPT-5.5 |
gpt-mini | openai/gpt-5.4-mini |
gpt-nano | openai/gpt-5.4-nano |
gemini | google/gemini-3.1-pro-preview |
gemini-flash | google/gemini-3-flash-preview |
gemini-flash-lite | google/gemini-3.1-flash-lite-preview |
--thinking off або самостійно не задасте agents.defaults.models["zai/<model>"].params.thinking.
Для моделей Z.AI за замовчуванням увімкнено tool_stream для потокового передавання викликів інструментів. Установіть agents.defaults.models["zai/<model>"].params.tool_stream у false, щоб вимкнути його.
Для моделей Anthropic Claude 4.6 за замовчуванням використовується thinking adaptive, якщо не задано явний рівень thinking.
agents.defaults.cliBackends
Необов’язкові CLI backends для text-only fallback-запусків (без викликів інструментів). Корисно як резервний варіант, коли API-провайдери недоступні.
- CLI backends орієнтовані насамперед на текст; інструменти завжди вимкнені.
- Сесії підтримуються, коли задано
sessionArg. - Передавання зображень підтримується, коли
imageArgприймає шляхи до файлів.
agents.defaults.systemPromptOverride
Замінює весь системний prompt, зібраний OpenClaw, фіксованим рядком. Задається на типовому рівні (agents.defaults.systemPromptOverride) або для конкретного агента (agents.list[].systemPromptOverride). Значення для конкретного агента мають пріоритет; порожнє значення або значення лише з пробілів ігнорується. Корисно для контрольованих експериментів із prompt.
agents.defaults.promptOverlays
Незалежні від провайдера накладки prompt, що застосовуються за сімейством моделей. Ідентифікатори моделей сімейства GPT-5 отримують спільний поведінковий контракт між провайдерами; personality керує лише дружнім шаром стилю взаємодії.
"friendly"(типово) і"on"вмикають дружній шар стилю взаємодії."off"вимикає лише дружній шар; позначений поведінковий контракт GPT-5 залишається ввімкненим.- Застарілий
plugins.entries.openai.config.personalityусе ще читається, коли це спільне налаштування не задано.
agents.defaults.heartbeat
Періодичні запуски Heartbeat.
every: рядок тривалості (ms/s/m/h). Типово:30m(автентифікація через API key) або1h(автентифікація через OAuth). Установіть0m, щоб вимкнути.includeSystemPromptSection: колиfalse, прибирає секцію Heartbeat із системного prompt і пропускає інжекціюHEARTBEAT.mdу bootstrap-контекст. Типово:true.suppressToolErrorWarnings: колиtrue, пригнічує payload попереджень про помилки інструментів під час запусків Heartbeat.timeoutSeconds: максимальний час у секундах, дозволений для одного ходу агента Heartbeat до його переривання. Залиште незаданим, щоб використовуватиagents.defaults.timeoutSeconds.directPolicy: політика прямої доставки/доставки в приватні повідомлення.allow(типово) дозволяє доставку за прямою ціллю.blockпригнічує доставку за прямою ціллю та виводитьreason=dm-blocked.lightContext: колиtrue, запуски Heartbeat використовують полегшений bootstrap-контекст і зберігають лишеHEARTBEAT.mdіз bootstrap-файлів робочого простору.isolatedSession: колиtrue, кожен Heartbeat запускається в новій сесії без попередньої історії розмови. Такий самий шаблон ізоляції, як у CronsessionTarget: "isolated". Зменшує вартість одного Heartbeat за токенами приблизно зі ~100K до ~2–5K токенів.- Для окремого агента: задайте
agents.list[].heartbeat. Якщо будь-який агент визначаєheartbeat, Heartbeat запускаються лише для цих агентів. - Heartbeat запускають повні ходи агента — коротші інтервали спалюють більше токенів.
agents.defaults.compaction
mode:defaultабоsafeguard(підсумовування довгих історій частинами). Див. Compaction.provider: id зареєстрованого Plugin провайдера Compaction. Якщо задано, замість вбудованого LLM-підсумовування викликаєтьсяsummarize()цього провайдера. У разі помилки відбувається fallback до вбудованого. Установлення провайдера примусово вмикаєmode: "safeguard". Див. Compaction.timeoutSeconds: максимальна кількість секунд, дозволена для однієї операції Compaction до того, як OpenClaw перерве її. Типово:900.identifierPolicy:strict(типово),offабоcustom.strictдодає вбудовані вказівки щодо збереження непрозорих ідентифікаторів під час підсумовування Compaction.identifierInstructions: необов’язковий власний текст для збереження ідентифікаторів, який використовується, колиidentifierPolicy=custom.postCompactionSections: необов’язкові назви секцій H2/H3 з AGENTS.md для повторної інжекції після Compaction. Типово["Session Startup", "Red Lines"]; установіть[], щоб вимкнути повторну інжекцію. Якщо значення не задано або явно встановлено цю типову пару, старі заголовкиEvery Session/Safetyтакож приймаються як застарілий fallback.model: необов’язкове перевизначенняprovider/model-idлише для підсумовування Compaction. Використовуйте це, коли основна сесія має залишатися на одній моделі, а підсумки Compaction — виконуватися на іншій; якщо не задано, Compaction використовує основну модель сесії.notifyUser: колиtrue, надсилає короткі сповіщення користувачу, коли Compaction починається і завершується (наприклад, “Compacting context…” і “Compaction complete”). Типово вимкнено, щоб Compaction залишався тихим.memoryFlush: тихий хід агента перед автоматичним Compaction для збереження довготривалої пам’яті. Пропускається, коли робочий простір доступний лише для читання.
agents.defaults.contextPruning
Обрізає старі результати інструментів із контексту в пам’яті перед надсиланням до LLM. Не змінює історію сесії на диску.
Поведінка режиму cache-ttl
Поведінка режиму cache-ttl
mode: "cache-ttl"вмикає проходи обрізання.ttlвизначає, як часто обрізання може запускатися знову (після останнього торкання кешу).- Обрізання спочатку м’яко скорочує завеликі результати інструментів, а потім, за потреби, повністю очищає старіші результати інструментів.
... посередині.Повне очищення замінює весь результат інструмента заповнювачем.Примітки:- Блоки зображень ніколи не обрізаються і не очищаються.
- Співвідношення базуються на символах (приблизно), а не на точних кількостях токенів.
- Якщо повідомлень асистента менше, ніж
keepLastAssistants, обрізання пропускається.
Block streaming
- Для каналів, відмінних від Telegram, потрібне явне
*.blockStreaming: true, щоб увімкнути відповіді блоками. - Перевизначення для каналів:
channels.<channel>.blockStreamingCoalesce(і варіанти для окремих облікових записів). Для Signal/Slack/Discord/Google Chat типовоminChars: 1500. humanDelay: випадкова пауза між блоками відповіді.natural= 800–2500ms. Перевизначення для окремого агента:agents.list[].humanDelay.
Індикатори набору
- Типові значення:
instantдля прямих чатів/згадок,messageдля групових чатів без згадок. - Перевизначення для окремих сесій:
session.typingMode,session.typingIntervalSeconds.
agents.defaults.sandbox
Необов’язкова Sandbox-ізоляція для вбудованого агента. Повний посібник див. у Sandboxing.
Деталі Sandbox
Деталі Sandbox
Backend:Режим OpenShell:
docker: локальний runtime Docker (типово)ssh: універсальний віддалений runtime через SSHopenshell: runtime OpenShell
backend: "openshell", налаштування, специфічні для runtime, переносяться в
plugins.entries.openshell.config.Конфігурація SSH backend:target: ціль SSH у форматіuser@host[:port]command: команда SSH-клієнта (типово:ssh)workspaceRoot: абсолютний віддалений корінь для робочих просторів за scopeidentityFile/certificateFile/knownHostsFile: наявні локальні файли, які передаються до OpenSSHidentityData/certificateData/knownHostsData: вбудований вміст або SecretRefs, які OpenClaw матеріалізує в тимчасові файли під час runtimestrictHostKeyChecking/updateHostKeys: параметри політики ключів хоста OpenSSH
identityDataмає пріоритет надidentityFilecertificateDataмає пріоритет надcertificateFileknownHostsDataмає пріоритет надknownHostsFile- Значення
*Data, що використовують SecretRef, визначаються з активного знімка runtime секретів перед стартом Sandbox-сесії
- один раз засіває віддалений робочий простір після створення або повторного створення
- потім зберігає віддалений робочий простір SSH як канонічний
- маршрутизує
exec, файлові інструменти й шляхи медіа через SSH - не синхронізує віддалені зміни назад на хост автоматично
- не підтримує browser-контейнери Sandbox
none: робочий простір Sandbox за scope у~/.openclaw/sandboxesro: робочий простір Sandbox у/workspace, робочий простір агента монтується лише для читання в/agentrw: робочий простір агента монтується для читання/запису в/workspace
session: окремий контейнер + робочий простір для кожної сесіїagent: один контейнер + робочий простір на агента (типово)shared: спільний контейнер і робочий простір (без ізоляції між сесіями)
mirror: передexecвіддалений простір засівається з локального, післяexecсинхронізується назад; локальний робочий простір залишається канонічнимremote: віддалений простір засівається один раз під час створення Sandbox, після чого канонічним залишається віддалений робочий простір
remote локальні редагування на хості, зроблені поза OpenClaw, не синхронізуються в Sandbox автоматично після кроку засівання.
Транспортом є SSH у Sandbox OpenShell, але Plugin керує життєвим циклом Sandbox і необов’язковою дзеркальною синхронізацією.setupCommand запускається один раз після створення контейнера (через sh -lc). Потребує вихідного доступу до мережі, кореневої файлової системи з можливістю запису та користувача root.Типово контейнери мають network: "none" — установіть "bridge" (або власну bridge-мережу), якщо агенту потрібен вихідний доступ.
"host" заблоковано. "container:<id>" типово заблоковано, якщо ви явно не встановите
sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true (аварійний режим).Вхідні вкладення розміщуються у media/inbound/* в активному робочому просторі.docker.binds монтує додаткові каталоги хоста; глобальні прив’язки та прив’язки для окремого агента об’єднуються.Sandboxed browser (sandbox.browser.enabled): Chromium + CDP у контейнері. URL noVNC інжектується в системний prompt. Не потребує browser.enabled у openclaw.json.
Доступ спостерігача через noVNC типово використовує автентифікацію VNC, і OpenClaw видає короткоживучий URL із токеном (замість того, щоб розкривати пароль у спільному URL).allowHostControl: false(типово) блокує націлювання з Sandbox-сесій на browser хоста.networkтипово має значенняopenclaw-sandbox-browser(окрема bridge-мережа). Установлюйтеbridgeлише тоді, коли вам явно потрібна глобальна зв’язність bridge.cdpSourceRangeза бажанням обмежує вхідний доступ CDP на межі контейнера до діапазону CIDR (наприклад,172.21.0.1/32).sandbox.browser.bindsмонтує додаткові каталоги хоста лише в контейнер browser Sandbox. Якщо параметр задано (включно з[]), він замінюєdocker.bindsдля контейнера browser.- Типові параметри запуску визначені в
scripts/sandbox-browser-entrypoint.shі налаштовані для контейнерних хостів:--remote-debugging-address=127.0.0.1--remote-debugging-port=<derived from OPENCLAW_BROWSER_CDP_PORT>--user-data-dir=${HOME}/.chrome--no-first-run--no-default-browser-check--disable-3d-apis--disable-gpu--disable-software-rasterizer--disable-dev-shm-usage--disable-background-networking--disable-features=TranslateUI--disable-breakpad--disable-crash-reporter--renderer-process-limit=2--no-zygote--metrics-recording-only--disable-extensions(типово ввімкнено)--disable-3d-apis,--disable-software-rasterizerі--disable-gpuувімкнені типово й можуть бути вимкнені черезOPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0, якщо для WebGL/3D це потрібно.OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0знову вмикає extensions, якщо ваш workflow залежить від них.--renderer-process-limit=2можна змінити черезOPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=<N>; установіть0, щоб використовувати типовий ліміт процесів Chromium.- а також
--no-sandboxі--disable-setuid-sandbox, коли ввімкненоnoSandbox. - Типові значення — це базова конфігурація образу контейнера; використовуйте власний образ browser із власним entrypoint, щоб змінити типові значення контейнера.
sandbox.docker.binds доступні лише для Docker.
Збірка образів:
agents.list (перевизначення для окремого агента)
id: стабільний id агента (обов’язково).default: якщо задано кілька значень, перше має пріоритет (записується попередження в лог). Якщо не задано жодного, типовим буде перший елемент у списку.model: форма рядка перевизначає лишеprimary; форма об’єкта{ primary, fallbacks }перевизначає обидва ([]вимикає глобальні fallback). Cron-завдання, які перевизначають лишеprimary, усе ще успадковують типові fallback, якщо не встановитиfallbacks: [].params: параметри потоку для окремого агента, які об’єднуються поверх вибраного запису моделі вagents.defaults.models. Використовуйте це для перевизначень на рівні агента, таких якcacheRetention,temperatureабоmaxTokens, не дублюючи весь каталог моделей.skills: необов’язковий allowlist Skills для окремого агента. Якщо параметр пропущено, агент успадковуєagents.defaults.skills, якщо його задано; явний список замінює типові значення замість злиття, а[]означає відсутність Skills.thinkingDefault: необов’язковий типовий рівень thinking для окремого агента (off | minimal | low | medium | high | xhigh | adaptive | max). Перевизначаєagents.defaults.thinkingDefaultдля цього агента, якщо не задано перевизначення для повідомлення або сесії.reasoningDefault: необов’язкове типове значення видимості reasoning для окремого агента (on | off | stream). Застосовується, коли не задано перевизначення reasoning для повідомлення або сесії.fastModeDefault: необов’язкове типове значення fast mode для окремого агента (true | false). Застосовується, коли не задано перевизначення fast mode для повідомлення або сесії.embeddedHarness: необов’язкове перевизначення політики низькорівневого harness для окремого агента. Використовуйте{ runtime: "codex", fallback: "none" }, щоб зробити один агент лише Codex, тоді як інші агенти зберігатимуть типовий fallback до PI.runtime: необов’язковий дескриптор runtime для окремого агента. Використовуйтеtype: "acp"із типовими значеннямиruntime.acp(agent,backend,mode,cwd), коли агент має типово використовувати сесії harness ACP.identity.avatar: шлях відносно робочого простору,http(s)URL абоdata:URI.identityвиводить типові значення:ackReactionзemoji,mentionPatternsзname/emoji.subagents.allowAgents: allowlist id агентів дляsessions_spawn(["*"]= будь-який; типово: лише той самий агент).- Захист успадкування Sandbox: якщо сесія-ініціатор працює в Sandbox,
sessions_spawnвідхиляє цілі, які запускалися б без Sandbox. subagents.requireAgentId: колиtrue, блокує викликиsessions_spawn, які не містятьagentId(примушує до явного вибору профілю; типово: false).
Маршрутизація кількох агентів
Запускайте кілька ізольованих агентів у межах одного Gateway. Див. Multi-Agent.Поля відповідності binding
type(необов’язково):routeдля звичайної маршрутизації (відсутнє значення типово означає route),acpдля постійних binding розмов ACP.match.channel(обов’язково)match.accountId(необов’язково;*= будь-який обліковий запис; пропущено = типовий обліковий запис)match.peer(необов’язково;{ kind: direct|group|channel, id })match.guildId/match.teamId(необов’язково; специфічно для каналу)acp(необов’язково; лише дляtype: "acp"):{ mode, label, cwd, backend }
match.peermatch.guildIdmatch.teamIdmatch.accountId(точний збіг, без peer/guild/team)match.accountId: "*"(на весь канал)- Типовий агент
bindings має пріоритет.
Для записів type: "acp" OpenClaw визначає відповідність за точною ідентичністю розмови (match.channel + обліковий запис + match.peer.id) і не використовує порядок рівнів route binding, наведений вище.
Профілі доступу для окремих агентів
Повний доступ (без sandbox)
Повний доступ (без sandbox)
Інструменти та робочий простір лише для читання
Інструменти та робочий простір лише для читання
Без доступу до файлової системи (лише повідомлення)
Без доступу до файлової системи (лише повідомлення)
Сесія
Деталі полів сесії
Деталі полів сесії
scope: базова стратегія групування сесій для контекстів групового чату.per-sender(типово): кожен відправник отримує ізольовану сесію в межах контексту каналу.global: усі учасники в контексті каналу ділять одну спільну сесію (використовуйте лише тоді, коли потрібен спільний контекст).
dmScope: як групуються приватні повідомлення.main: усі приватні повідомлення використовують головну сесію.per-peer: ізоляція за id відправника між каналами.per-channel-peer: ізоляція за каналом + відправником (рекомендовано для inbox із кількома користувачами).per-account-channel-peer: ізоляція за обліковим записом + каналом + відправником (рекомендовано для кількох облікових записів).
identityLinks: мапа канонічних id до peer із префіксом провайдера для спільного використання сесій між каналами.reset: основна політика скидання.dailyскидає вatHourза місцевим часом;idleскидає післяidleMinutes. Якщо налаштовано обидва, спрацьовує те, що спливе першим.resetByType: перевизначення за типом (direct,group,thread). Застарілийdmприймається як alias дляdirect.parentForkMaxTokens: максимальне значенняtotalTokensу батьківській сесії, дозволене під час створення сесії fork для thread (типово100000).- Якщо значення
totalTokensу батьківській сесії перевищує це число, OpenClaw починає нову сесію thread замість успадкування історії transcript батьківської сесії. - Установіть
0, щоб вимкнути цей захист і завжди дозволяти fork від батьківської сесії.
- Якщо значення
mainKey: застаріле поле. Runtime завжди використовує"main"для головного кошика прямого чату.agentToAgent.maxPingPongTurns: максимальна кількість зворотних ходів між агентами під час обміну agent-to-agent (ціле число, діапазон:0–5).0вимикає ланцюжки ping-pong.sendPolicy: зіставлення заchannel,chatType(direct|group|channel, із застарілим aliasdm),keyPrefixабоrawKeyPrefix. Перше правило deny має пріоритет.maintenance: очищення сховища сесій + керування retention.mode:warnлише виводить попередження;enforceзастосовує очищення.pruneAfter: віковий поріг для застарілих записів (типово30d).maxEntries: максимальна кількість записів уsessions.json(типово500).rotateBytes: ротаціяsessions.json, коли він перевищує цей розмір (типово10mb).resetArchiveRetention: retention для архівів transcript*.reset.<timestamp>. Типово дорівнюєpruneAfter; установітьfalse, щоб вимкнути.maxDiskBytes: необов’язковий бюджет дискового простору для каталогу сесій. У режиміwarnлише пише попередження в лог; у режиміenforceспочатку видаляє найстаріші артефакти/сесії.highWaterBytes: необов’язкова ціль після очищення за бюджетом. Типово80%відmaxDiskBytes.
threadBindings: глобальні типові значення для функцій сесій, прив’язаних до thread.enabled: головний типовий перемикач (провайдери можуть перевизначати; Discord використовуєchannels.discord.threadBindings.enabled)idleHours: типове автоматичне зняття фокуса після неактивності в годинах (0вимикає; провайдери можуть перевизначати)maxAgeHours: типовий жорсткий максимальний вік у годинах (0вимикає; провайдери можуть перевизначати)
Повідомлення
Префікс відповіді
Перевизначення для каналу/облікового запису:channels.<channel>.responsePrefix, channels.<channel>.accounts.<id>.responsePrefix.
Визначення значення (найспецифічніше має пріоритет): обліковий запис → канал → глобальне. "" вимикає й зупиняє каскад. "auto" виводить [{identity.name}].
Змінні шаблону:
| Змінна | Опис | Приклад |
|---|---|---|
{model} | Коротка назва моделі | claude-opus-4-6 |
{modelFull} | Повний ідентифікатор моделі | anthropic/claude-opus-4-6 |
{provider} | Назва провайдера | anthropic |
{thinkingLevel} | Поточний рівень thinking | high, low, off |
{identity.name} | Ім’я identity агента | (те саме, що й "auto") |
{think} — alias для {thinkingLevel}.
Ack reaction
- Типово береться з
identity.emojiактивного агента, інакше"👀". Установіть"", щоб вимкнути. - Перевизначення для каналу:
channels.<channel>.ackReaction,channels.<channel>.accounts.<id>.ackReaction. - Порядок визначення: обліковий запис → канал →
messages.ackReaction→ fallback до identity. - Область дії:
group-mentions(типово),group-all,direct,all. removeAckAfterReply: видаляє ack після відповіді в Slack, Discord і Telegram.messages.statusReactions.enabled: вмикає реакції статусу життєвого циклу в Slack, Discord і Telegram. У Slack і Discord незадане значення зберігає реакції статусу ввімкненими, коли активні ack reaction. У Telegram установіть це значення явно вtrue, щоб увімкнути реакції статусу життєвого циклу.
Inbound debounce
Об’єднує швидку послідовність текстових повідомлень від одного відправника в один хід агента. Медіа/вкладення скидаються негайно. Керувальні команди обходять debounce.TTS (text-to-speech)
autoкерує типовим режимом auto-TTS:off,always,inboundабоtagged./tts on|offможе перевизначити локальні prefs, а/tts statusпоказує фактичний стан.summaryModelперевизначаєagents.defaults.model.primaryдля автоматичного підсумку.modelOverridesувімкнено за замовчуванням;modelOverrides.allowProviderтипово дорівнюєfalse(потрібне явне ввімкнення).- API keys повертаються до
ELEVENLABS_API_KEY/XI_API_KEYіOPENAI_API_KEY. openai.baseUrlперевизначає endpoint OpenAI TTS. Порядок визначення: config, потімOPENAI_TTS_BASE_URL, потімhttps://api.openai.com/v1.- Коли
openai.baseUrlвказує на endpoint, що не належить OpenAI, OpenClaw вважає його OpenAI-сумісним TTS-сервером і послаблює валідацію model/voice.
Talk
Типові значення для режиму Talk (macOS/iOS/Android).talk.providerмає збігатися з ключем уtalk.providers, коли налаштовано кілька провайдерів Talk.- Застарілі плоскі ключі Talk (
talk.voiceId,talk.voiceAliases,talk.modelId,talk.outputFormat,talk.apiKey) потрібні лише для сумісності й автоматично мігруються вtalk.providers.<provider>. - Voice ID повертаються до
ELEVENLABS_VOICE_IDабоSAG_VOICE_ID. providers.*.apiKeyприймає рядки відкритого тексту або об’єкти SecretRef.- Fallback до
ELEVENLABS_API_KEYзастосовується лише тоді, коли API key Talk не налаштовано. providers.*.voiceAliasesдозволяє директивам Talk використовувати дружні імена.silenceTimeoutMsвизначає, скільки режим Talk чекає після тиші користувача перед надсиланням transcript. Якщо не задано, зберігається типове вікно паузи для платформи (700 ms на macOS і Android, 900 ms на iOS).
Пов’язане
- Configuration reference — усі інші ключі конфігурації
- Configuration — поширені завдання та швидке налаштування
- Configuration examples