Fundamentals

Середовище виконання агента

OpenClaw запускає єдине вбудоване середовище виконання агента - один процес агента на Gateway, із власною робочою областю, bootstrap-файлами та сховищем сесій. Ця сторінка описує контракт цього середовища виконання: що має містити робоча область, які файли ін’єктуються та як сесії bootstrap-завантажуються відносно неї.

Робоча область (обов’язково)

OpenClaw використовує єдиний каталог робочої області агента (agents.defaults.workspace) як єдиний робочий каталог (cwd) агента для інструментів і контексту.

Рекомендовано: використовуйте openclaw setup, щоб створити ~/.openclaw/openclaw.json, якщо його немає, і ініціалізувати файли робочої області.

Повна схема робочої області + посібник із резервного копіювання: Робоча область агента

Якщо agents.defaults.sandbox увімкнено, неосновні сесії можуть перевизначити це за допомогою робочих областей для окремих сесій у agents.defaults.sandbox.workspaceRoot (див. Конфігурація Gateway).

Bootstrap-файли (ін’єктуються)

Усередині 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 створюється лише для абсолютно нової робочої області (коли немає інших bootstrap-файлів). Поки він очікує на виконання, OpenClaw тримає його в Project Context і додає bootstrap-настанови системного промпта для початкового ритуалу замість копіювання його в повідомлення користувача. Якщо ви видалите його після завершення ритуалу, він не має створюватися повторно під час наступних перезапусків.

Щоб повністю вимкнути створення bootstrap-файлів (для попередньо заповнених робочих областей), задайте:

{ agents: { defaults: { skipBootstrap: true } } }

Вбудовані інструменти

Основні інструменти (read/exec/edit/write та пов’язані системні інструменти) завжди доступні відповідно до політики інструментів. 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 можуть обмежуватися конфігурацією/env (див. skills у Конфігурації Gateway).

Межі середовища виконання

Вбудоване середовище виконання агента побудоване на ядрі агента Pi (моделі, інструменти та конвеєр промптів). Керування сесіями, виявлення, підключення інструментів і доставка каналами - це шари, що належать OpenClaw поверх цього ядра.

Сесії

Транскрипти сесій зберігаються як JSONL за адресою:

  • ~/.openclaw/agents/<agentId>/sessions/&lt;SessionId&gt;.jsonl

ID сесії стабільний і вибирається OpenClaw. Застарілі папки сесій з інших інструментів не читаються.

Скерування під час streaming

Коли режим черги - steer, вхідні повідомлення ін’єктуються в поточний запуск. Скерування з черги доставляється після того, як поточний хід асистента завершить виконання своїх викликів інструментів, перед наступним викликом LLM. Pi одночасно обробляє всі очікувані повідомлення скерування для steer; застарілий queue обробляє одне повідомлення на межу моделі. Скерування більше не пропускає решту викликів інструментів із поточного повідомлення асистента.

Коли режим черги - followup або collect, вхідні повідомлення утримуються до завершення поточного ходу, після чого новий хід агента починається з payload-ами з черги. Див. Черга і Черга скерування щодо поведінки режимів і меж.

Block streaming надсилає завершені блоки асистента щойно вони завершуються; він вимкнений за замовчуванням (agents.defaults.blockStreamingDefault: "off"). Налаштуйте межу через agents.defaults.blockStreamingBreak (text_end проти message_end; стандартно text_end). Керуйте м’яким розбиттям блоків на фрагменти за допомогою agents.defaults.blockStreamingChunk (стандартно 800-1200 символів; пріоритет надається розривам абзаців, потім новим рядкам; речення - останні). Об’єднуйте streamed-фрагменти за допомогою agents.defaults.blockStreamingCoalesce, щоб зменшити спам окремими рядками (об’єднання на основі простою перед надсиланням). Канали не-Telegram потребують явного *.blockStreaming: true, щоб увімкнути блокові відповіді. Докладні підсумки інструментів надсилаються на початку роботи інструмента (без debounce); Control UI stream-ить вивід інструментів через події агента, коли вони доступні. Докладніше: Streaming + розбиття на фрагменти.

Посилання на моделі

Посилання на моделі в конфігурації (наприклад, agents.defaults.model і agents.defaults.models) розбираються поділом за першим /.

  • Використовуйте provider/model під час конфігурування моделей.
  • Якщо сам ID моделі містить / (у стилі OpenRouter), додайте префікс провайдера (приклад: openrouter/moonshotai/kimi-k2).
  • Якщо ви пропускаєте провайдера, OpenClaw спочатку пробує alias, потім унікальний збіг налаштованого провайдера для цього точного ID моделі, і лише потім повертається до налаштованого провайдера за замовчуванням. Якщо цей провайдер більше не надає налаштовану модель за замовчуванням, OpenClaw повертається до першої налаштованої пари провайдер/модель замість показу застарілого стандартного значення видаленого провайдера.

Конфігурація (мінімальна)

Щонайменше задайте:

  • agents.defaults.workspace
  • channels.whatsapp.allowFrom (наполегливо рекомендовано)

Далі: Групові чати 🦞

Пов’язане