---
read_when:
    - Зміна середовища виконання агента, ініціалізації робочого простору або поведінки сесії
summary: Середовище виконання агента, контракт робочого простору та ініціалізація сесії
title: Середовище виконання агента
x-i18n:
    generated_at: "2026-04-24T19:51:02Z"
    model: gpt-5.4
    provider: openai
    source_hash: 37483fdb62d41a8f888bd362db93078dc8ecb8bb3fd19270b0234689aa82f309
    source_path: concepts/agent.md
    workflow: 15
---

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

## Робочий простір (обов’язково)

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

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

Повна структура робочого простору + інструкція з резервного копіювання: [Робочий простір агента](/uk/concepts/agent-workspace)

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

## Bootstrap-файли (інжектуються)

Усередині `agents.defaults.workspace` OpenClaw очікує такі редаговані користувачем файли:

- `AGENTS.md` — інструкції з роботи + «пам’ять»
- `SOUL.md` — персона, межі, тон
- `TOOLS.md` — підтримувані користувачем примітки про інструменти (наприклад, `imsg`, `sag`, домовленості)
- `BOOTSTRAP.md` — одноразовий ритуал першого запуску (видаляється після завершення)
- `IDENTITY.md` — ім’я агента/вайб/емодзі
- `USER.md` — профіль користувача + бажане звертання

На першому ході нової сесії OpenClaw інжектує вміст цих файлів безпосередньо в контекст агента.

Порожні файли пропускаються. Великі файли обрізаються й усікаються з маркером, щоб промпти залишалися компактними (прочитайте файл, щоб побачити повний вміст).

Якщо файл відсутній, OpenClaw інжектує один рядок-маркер «відсутній файл» (а `openclaw setup` створить безпечний типовий шаблон).

`BOOTSTRAP.md` створюється лише для **абсолютно нового робочого простору** (коли немає інших bootstrap-файлів). Якщо ви видалите його після завершення ритуалу, він не повинен створюватися повторно під час наступних перезапусків.

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

```json5
{ 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](/uk/gateway/configuration)).

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

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

## Сесії

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

- `~/.openclaw/agents/<agentId>/sessions/<SessionId>.jsonl`

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

## Керування під час потокової передачі

Коли режим черги — `steer`, вхідні повідомлення інжектуються в поточний запуск.
Поставлене в чергу керування доставляється **після завершення поточним ходом асистента
виконання своїх викликів інструментів**, перед наступним викликом LLM. Керування більше не пропускає
решту викликів інструментів із поточного повідомлення асистента; натомість воно інжектує поставлене в чергу
повідомлення на наступній межі моделі.

Коли режим черги — `followup` або `collect`, вхідні повідомлення утримуються, доки
поточний хід не завершиться, після чого починається новий хід агента з поставленими в чергу корисними навантаженнями. Див.
[Черга](/uk/concepts/queue), щоб дізнатися про поведінку режимів + debounce/cap.

Потокова передача блоками надсилає завершені блоки асистента щойно вони завершуються; вона
**вимкнена за замовчуванням** (`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
передає вивід інструментів потоком через події агента, коли це доступно.
Докладніше: [Потокова передача + розбиття на фрагменти](/uk/concepts/streaming).

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

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

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

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

Щонайменше налаштуйте:

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

---

_Далі: [Групові чати](/uk/channels/group-messages)_ 🦞

## Пов’язане

- [Робочий простір агента](/uk/concepts/agent-workspace)
- [Маршрутизація кількох агентів](/uk/concepts/multi-agent)
- [Керування сесіями](/uk/concepts/session)
