---
read_when:
    - Зміна середовища виконання агента, початкового налаштування робочого простору або поведінки сесії
summary: Середовище виконання агента, контракт робочого простору та початкове налаштування сесії
title: Середовище виконання агента
x-i18n:
    generated_at: "2026-04-05T18:00:28Z"
    model: gpt-5.4
    provider: openai
    source_hash: e2ff39f4114f009e5b1f86894ea4bb29b1c9512563b70d063f09ca7cde5e8948
    source_path: concepts/agent.md
    workflow: 15
---

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

OpenClaw запускає єдине вбудоване середовище виконання агента.

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

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

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

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

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

## Bootstrap-файли (впроваджуються)

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

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

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

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

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

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

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

```json5
{ agent: { 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 можуть керуватися конфігурацією/змінними середовища (див. `skills` у [Конфігурація gateway](/gateway/configuration)).

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

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

## Сесії

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

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

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

## Керування під час streaming

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

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

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
передає в потоці вивід інструментів через події агента, коли це доступно.
Докладніше: [Streaming + chunking](/concepts/streaming).

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

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

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

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

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

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

---

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