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

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

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

OpenClaw запускает единую встроенную среду выполнения агента, производную от **pi-mono**.

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

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 внедряет одну строку-маркер «отсутствующий файл» (и `openclaw setup` создаст безопасный шаблон по умолчанию).

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

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

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

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

Базовые инструменты (read/exec/edit/write и связанные системные инструменты) всегда доступны,
в соответствии с политикой инструментов. `apply_patch` является необязательным и доступен при
`tools.exec.applyPatch`. `TOOLS.md` **не** управляет тем, какие инструменты существуют; это
рекомендации по тому, как *вы* хотите, чтобы они использовались.

## Skills

OpenClaw загружает Skills из трёх расположений (при конфликте имён приоритет у рабочего пространства):

* Bundled (поставляемые с установкой)
* Управляемые/локальные: `~/.openclaw/skills`
* Рабочая область: `<workspace>/skills`

Skills могут быть ограничены конфигом/переменными окружения (см. `skills` в [Конфигурация Gateway (шлюза)](/gateway/configuration)).

## Интеграция pi-mono

OpenClaw повторно использует части кодовой базы pi-mono (модели/инструменты), однако **управление сеансами, discovery и связывание инструментов принадлежат OpenClaw**.

* Нет среды выполнения агента pi-coding.
* Параметры `~/.pi/agent` или `<workspace>/.pi` не учитываются.

## Сеансы

Транскрипты сеансов хранятся в формате JSONL по адресу:

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

Идентификатор сеанса стабилен и выбирается OpenClaw.
Устаревшие папки сеансов Pi/Tau **не** читаются.

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

Когда режим очереди — `steer`, входящие сообщения внедряются в текущий запуск.
Очередь проверяется **после каждого вызова инструмента**; если в очереди есть сообщение,
оставшиеся вызовы инструментов из текущего сообщения ассистента пропускаются (результаты
инструментов с ошибкой «Skipped due to queued user message.»), затем сообщение пользователя
из очереди внедряется перед следующим ответом ассистента.

Когда режим очереди — `followup` или `collect`, входящие сообщения удерживаются до
завершения текущего хода, после чего начинается новый ход агента с накопленными полезными нагрузками. См. Смотрите
[Queue](/concepts/queue) для режима + громкости/колпак.

Потоковая передача блоками отправляет завершённые блоки ассистента сразу после их завершения; по умолчанию она
**выключена** (`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
передаёт вывод инструментов через события агента, когда это доступно.
Подробнее: [Потоковая передача + нарезка](/concepts/streaming).

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

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

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

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

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

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

***

*Далее: [Групповые чаты](/channels/group-messages)* 🦞
