Fundamentals
Виконання агента
OpenClaw запускає єдине вбудоване середовище виконання агента - один процес агента на Gateway, із власною робочою областю, файлами початкового завантаження та сховищем сеансів. На цій сторінці описано цей контракт середовища виконання: що має містити робоча область, які файли інʼєктуються та як сеанси завантажуються на його основі.
Робоча область (обовʼязкова)
OpenClaw використовує один каталог робочої області агента (agents.defaults.workspace) як єдиний робочий каталог (cwd) агента для інструментів і контексту.
Рекомендовано: використовуйте openclaw setup, щоб створити ~/.openclaw/openclaw.json, якщо його немає, і ініціалізувати файли робочої області.
Повний макет робочої області + посібник із резервного копіювання: Робоча область агента
Якщо agents.defaults.sandbox увімкнено, неосновні сеанси можуть перевизначати це за допомогою
робочих областей для окремих сеансів у agents.defaults.sandbox.workspaceRoot (див.
Конфігурація Gateway).
Файли початкового завантаження (інʼєктуються)
Усередині agents.defaults.workspace OpenClaw очікує ці файли, редаговані користувачем:
AGENTS.md- операційні інструкції + "памʼять"SOUL.md- персона, межі, тонTOOLS.md- нотатки про інструменти, які підтримує користувач (наприклад,imsg,sag, домовленості)BOOTSTRAP.md- одноразовий ритуал першого запуску (видаляється після завершення)IDENTITY.md- імʼя/вайб/емодзі агентаUSER.md- профіль користувача + бажана форма звертання
Під час першого ходу нового сеансу OpenClaw інʼєктує вміст цих файлів у Project Context системного промпта.
Порожні файли пропускаються. Великі файли обрізаються й усікаються з маркером, щоб промпти лишалися компактними (прочитайте файл для повного вмісту).
Якщо файл відсутній, OpenClaw інʼєктує один рядок-маркер "відсутній файл" (а openclaw setup створить безпечний типовий шаблон).
BOOTSTRAP.md створюється лише для абсолютно нової робочої області (коли немає інших файлів початкового завантаження). Поки він очікує на виконання, OpenClaw тримає його в Project Context і додає до системного промпта вказівки щодо початкового ритуалу, замість копіювання його в повідомлення користувача. Якщо ви видалите його після завершення ритуалу, він не має створюватися повторно під час наступних перезапусків.
Після того як робочу область було помічено, OpenClaw також зберігає в каталозі стану маркер атестації для шляху робочої області. Якщо нещодавно атестована робоча область зникає або її очищено, запуск відмовляється непомітно повторно засівати BOOTSTRAP.md; відновіть робочу область або використайте повне скидання онбордингу, щоб робочу область і маркер було очищено разом.
Щоб повністю вимкнути створення файлів початкового завантаження (для попередньо засіяних робочих областей), задайте:
{ agents: { defaults: { skipBootstrap: true } } }Вбудовані інструменти
Основні інструменти (читання/виконання/редагування/запис і повʼязані системні інструменти) завжди доступні
з урахуванням політики інструментів. apply_patch є необовʼязковим і керується
tools.exec.applyPatch. TOOLS.md не визначає, які інструменти існують; це
вказівки щодо того, як ви хочете, щоб їх використовували.
Skills
OpenClaw завантажує Skills із таких розташувань (спочатку з найвищим пріоритетом):
- Робоча область:
<workspace>/skills - Skills агента проєкту:
<workspace>/.agents/skills - Особисті Skills агента:
~/.agents/skills - Керовані/локальні:
~/.openclaw/skills - Вбудовані (постачаються з інсталяцією)
- Додаткові папки Skills:
skills.load.extraDirs
Корені Skills можуть містити згруповані папки, як-от
<workspace>/skills/personal/foo/SKILL.md; Skill усе одно буде доступний за своєю
плоскою назвою з frontmatter, наприклад foo.
Skills можна обмежувати через конфігурацію/env (див. skills у Конфігурації Gateway).
Межі середовища виконання
Вбудоване середовище виконання агента належить OpenClaw: виявлення моделей, підключення інструментів, складання промптів, керування сеансами та доставка каналами мають одну інтегровану поверхню середовища виконання.
Сеанси
Транскрипти сеансів зберігаються як JSONL за адресою:
~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl
Ідентифікатор сеансу стабільний і вибирається OpenClaw. Застарілі папки сеансів з інших інструментів не читаються.
Керування під час потокового передавання
Вхідні промпти, що надходять під час виконання, типово скеровуються в поточне виконання. Керування доставляється після того, як поточний хід асистента завершує виконання своїх викликів інструментів, перед наступним викликом LLM, і більше не пропускає решту викликів інструментів із поточного повідомлення асистента.
/queue steer є типовою поведінкою для активного виконання. /queue followup і
/queue collect змушують повідомлення чекати пізнішого ходу замість керування.
/queue interrupt натомість перериває активне виконання. Див. Черга
і Черга керування щодо поведінки черги та меж.
Потокове передавання блоків надсилає завершені блоки асистента одразу після їх завершення; воно
типово вимкнене (agents.defaults.blockStreamingDefault: "off").
Налаштуйте межу через agents.defaults.blockStreamingBreak (text_end проти message_end; типово text_end).
Керуйте мʼяким розбиттям блоків на фрагменти за допомогою agents.defaults.blockStreamingChunk (типово
800-1200 символів; надає перевагу розривам абзаців, потім новим рядкам; речення - в останню чергу).
Обʼєднуйте потокові фрагменти за допомогою agents.defaults.blockStreamingCoalesce, щоб зменшити
спам з одиночних рядків (обʼєднання на основі простою перед надсиланням). Канали, відмінні від Telegram, потребують
явного *.blockStreaming: true, щоб увімкнути блокові відповіді.
Докладні підсумки інструментів виводяться на початку роботи інструмента (без debounce); Control UI
передає вивід інструментів через події агента, коли це доступно.
Докладніше: Потокове передавання + розбиття на фрагменти.
Посилання на моделі
Посилання на моделі в конфігурації (наприклад, agents.defaults.model і agents.defaults.models) розбираються поділом за першим /.
- Використовуйте
provider/modelпід час налаштування моделей. - Якщо сам ідентифікатор моделі містить
/(у стилі OpenRouter), додайте префікс провайдера (приклад:openrouter/moonshotai/kimi-k2). - Якщо ви опускаєте провайдера, OpenClaw спочатку пробує alias, потім унікальний збіг налаштованого провайдера для цього точного ідентифікатора моделі, і лише потім повертається до налаштованого типового провайдера. Якщо цей провайдер більше не надає налаштовану типову модель, OpenClaw повертається до першого налаштованого провайдера/моделі замість того, щоб показувати застаріле типове значення видаленого провайдера.
Конфігурація (мінімальна)
Щонайменше задайте:
agents.defaults.workspacechannels.whatsapp.allowFrom(наполегливо рекомендовано)
Далі: Групові чати 🦞