> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Среда выполнения агента

OpenClaw поставляется с одной **встроенной средой выполнения агента**: встроенным циклом агента, подключением инструментов и сборкой промпта, в отличие от делегирования ходов внешнему процессу управляющей среды. Каждый настроенный агент (о запуске нескольких см. в разделе [Маршрутизация между несколькими агентами](https://docs2.openclaw.ai/ru/concepts/multi-agent.md)) имеет собственное рабочее пространство, файлы начальной загрузки и хранилище сеансов. На этой странице описан контракт этой среды выполнения: что должно содержаться в рабочем пространстве, какие файлы внедряются и как сеансы выполняют начальную загрузку на его основе.

## Рабочее пространство (обязательно)

Каждый агент использует один каталог рабочего пространства (`agents.defaults.workspace` или
`agents.list[].workspace` для каждого агента) в качестве **единственного** рабочего каталога (`cwd`)
для инструментов и контекста.

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

Полная структура рабочего пространства и руководство по резервному копированию: [Рабочее пространство агента](https://docs2.openclaw.ai/ru/concepts/agent-workspace.md)

Если включён `agents.defaults.sandbox`, сеансы, отличные от основного, могут переопределять его рабочими пространствами для отдельных сеансов в
`agents.defaults.sandbox.workspaceRoot` (см.
[Конфигурация Gateway](https://docs2.openclaw.ai/ru/gateway/configuration.md)).

## Файлы начальной загрузки (внедряются)

В рабочем пространстве OpenClaw ожидает следующие редактируемые пользователем файлы:

| Файл | Назначение |
| - | - |
| `AGENTS.md` | Инструкции по работе и «память» |
| `SOUL.md` | Персона, ограничения, тон |
| `TOOLS.md` | Пользовательские заметки и соглашения по инструментам |
| `IDENTITY.md` | Имя, характер и эмодзи агента |
| `USER.md` | Профиль пользователя и предпочтительная форма обращения |
| `HEARTBEAT.md` | Инструкции для Heartbeat |
| `BOOTSTRAP.md` | Однократный ритуал первого запуска (удаляется после завершения) |
| `MEMORY.md` | Корневой файл долгосрочной памяти, если он существует |

При первом ходе нового сеанса OpenClaw внедряет содержимое этих файлов в раздел Project Context системного промпта. `MEMORY.md` внедряется только в том случае, если он существует в корне рабочего пространства.

Пустые файлы пропускаются. Большие файлы сокращаются и обрезаются с добавлением маркера, чтобы промпты оставались компактными (для просмотра полного содержимого прочитайте файл). Для отсутствующего файла (кроме `MEMORY.md`) вместо этого внедряется одна строка-маркер «файл отсутствует»; `openclaw setup` создаёт для него безопасный шаблон по умолчанию.

`BOOTSTRAP.md` создаётся только для **совершенно нового рабочего пространства** (в котором отсутствуют другие файлы начальной загрузки). Пока он ожидает обработки, OpenClaw сохраняет его в Project Context и добавляет в системный промпт руководство по начальному ритуалу вместо копирования в сообщение пользователя. Если удалить его после завершения ритуала, при последующих перезапусках он не будет создан повторно.

После обнаружения рабочего пространства OpenClaw также сохраняет в каталоге состояния маркер аттестации пути рабочего пространства. Если недавно аттестованное рабочее пространство исчезает или очищается, при запуске система отказывается незаметно повторно создавать `BOOTSTRAP.md`; восстановите рабочее пространство или выполните полный сброс адаптации, чтобы рабочее пространство и маркер были очищены вместе.

Чтобы полностью отключить создание файлов начальной загрузки (для предварительно заполненных рабочих пространств), задайте:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{ agents: { defaults: { skipBootstrap: true } } }
```

## Встроенные инструменты

Основные инструменты (чтение, выполнение, редактирование, запись и связанные системные инструменты) доступны всегда
с учётом политики использования инструментов. `apply_patch` по умолчанию включён для моделей OpenAI и управляется параметром
`tools.exec.applyPatch` (`enabled`, `workspaceOnly`, `allowModels`). `TOOLS.md` **не** определяет, какие инструменты существуют; это
указания о том, как *вы* хотите их использовать.

## Skills

OpenClaw загружает навыки из следующих расположений (в порядке убывания приоритета):

* Рабочее пространство: `<workspace>/skills`
* Навыки агента проекта: `<workspace>/.agents/skills`
* Личные навыки агента: `~/.agents/skills`
* Управляемые/локальные: `~/.openclaw/skills`
* Встроенные (поставляются с установкой)
* Дополнительные папки навыков: `skills.load.extraDirs`

Корневые каталоги навыков могут содержать сгруппированные папки, например
`<workspace>/skills/personal/foo/SKILL.md`; при этом навык по-прежнему предоставляется под своим
плоским именем из метаданных, например `foo`.

Доступность навыков может ограничиваться конфигурацией или переменными среды (см. `skills` в разделе [Конфигурация Gateway](https://docs2.openclaw.ai/ru/gateway/configuration.md)).

## Границы среды выполнения

Встроенная среда выполнения агента принадлежит OpenClaw: обнаружение моделей, подключение инструментов,
сборка промпта, управление сеансами и доставка в каналы образуют единую интегрированную
поверхность среды выполнения.

## Сеансы

Строки сеансов хранятся в базе данных SQLite соответствующего агента:

* `~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite`

Файлы расшифровок JSONL по-прежнему могут находиться в
`~/.openclaw/agents/<agentId>/sessions/` в качестве входных данных для миграции устаревшего формата, удалённых или
сброшенных архивов, импорта, экспорта и материалов для поддержки. Активная история агента
хранится в SQLite вместе со строками сеансов. Идентификатор сеанса стабилен и выбирается
OpenClaw. OpenClaw не считывает папки сеансов других инструментов.

## Управление во время потоковой передачи

Входящие промпты, поступившие во время выполнения, по умолчанию направляются в текущий запуск.
Управляющее сообщение доставляется **после того, как текущий ход ассистента завершит выполнение своих
вызовов инструментов**, но до следующего вызова LLM, и больше не приводит к пропуску оставшихся вызовов инструментов
из текущего сообщения ассистента.

`/queue steer` — поведение по умолчанию для активного запуска. `/queue followup` и
`/queue collect` заставляют сообщения ожидать следующего хода вместо направления в текущий запуск.
`/queue interrupt` вместо этого прерывает активный запуск. Поведение очереди и её границ описано в разделах [Очередь](https://docs2.openclaw.ai/ru/concepts/queue.md)
и [Очередь управляющих сообщений](https://docs2.openclaw.ai/ru/concepts/queue-steering.md).

При потоковой передаче блоков завершённые блоки ассистента отправляются сразу после их формирования; по умолчанию эта функция
**отключена** (`agents.defaults.blockStreamingDefault: "off"`).
Настройте границу с помощью `agents.defaults.blockStreamingBreak` (`text_end` или `message_end`; значение по умолчанию — `text_end`).
Управляйте гибким разбиением на блоки с помощью `agents.defaults.blockStreamingChunk` (по умолчанию
800-1200 символов; предпочтительно разделение по абзацам, затем по переводам строк и в последнюю очередь по предложениям).
Объединяйте потоковые фрагменты с помощью `agents.defaults.blockStreamingCoalesce`, чтобы сократить
поток однострочных сообщений (объединение перед отправкой на основе периода бездействия). Для каналов, отличных от Telegram, требуется
явно задать `*.streaming.block.enabled: true`, чтобы включить ответы блоками (QQ Bot
вместо этого передаёт ответы блоками в потоковом режиме, если `channels.qqbot.streaming.mode` не имеет значения `"off"`).
Подробные сводки по инструментам выводятся при запуске инструмента (без задержки); Control UI
передаёт вывод инструментов через события агента, когда они доступны.
Подробнее: [Потоковая передача и разбиение на фрагменты](https://docs2.openclaw.ai/ru/concepts/streaming.md).

## Ссылки на модели

Ссылки на модели в конфигурации (например, `agents.defaults.model` и `agents.defaults.models`) разбираются путём разделения по **первому** `/`.

* При настройке моделей используйте `provider/model`.
* Если сам идентификатор модели содержит `/` (в стиле OpenRouter), укажите префикс поставщика (пример: `openrouter/moonshotai/kimi-k2`).
* Если поставщик не указан, OpenClaw сначала пытается найти псевдоним, затем — уникальное
  совпадение среди настроенных поставщиков для этого точного идентификатора модели, и только после этого возвращается
  к настроенному поставщику по умолчанию. Если этот поставщик больше не предоставляет
  настроенную модель по умолчанию, OpenClaw использует первую настроенную
  пару поставщика и модели вместо выдачи устаревшего значения по умолчанию для удалённого поставщика.

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

Как минимум задайте:

* `agents.defaults.workspace`
* `channels.whatsapp.allowFrom` (настоятельно рекомендуется)

## Связанные разделы

* [Рабочее пространство агента](https://docs2.openclaw.ai/ru/concepts/agent-workspace.md)
* [Маршрутизация между несколькими агентами](https://docs2.openclaw.ai/ru/concepts/multi-agent.md)
* [Управление сеансами](https://docs2.openclaw.ai/ru/concepts/session.md)
* [Групповые чаты](https://docs2.openclaw.ai/ru/channels/group-messages.md)
