Основы

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

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

Рабочая область (обязательно)

OpenClaw использует одну директорию рабочей области агента (agents.defaults.workspace) в качестве единственного рабочего каталога (cwd) агента для инструментов и контекста. Рекомендуется: используйте openclaw setup для создания ~/.openclaw/openclaw.json, если он отсутствует, и инициализации файлов рабочей области. Полная структура рабочей области + руководство по резервному копированию: Рабочая область агента Если включен agents.defaults.sandbox, неосновные сессии могут переопределить это с помощью рабочих областей для каждой сессии в agents.defaults.sandbox.workspaceRoot (см. Конфигурация шлюза).

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

Внутри agents.defaults.workspace OpenClaw ожидает наличие этих редактируемых пользователем файлов:

  • AGENTS.md — инструкции по эксплуатации + «память»
  • SOUL.md — персона, границы, тон
  • TOOLS.md — заметки по инструментам, поддерживаемые пользователем (например, imsg, sag, соглашения)
  • BOOTSTRAP.md — ритуал однократного первого запуска (удаляется после завершения)
  • IDENTITY.md — имя агента/атмосфера/эмодзи
  • USER.md — профиль пользователя + предпочтительное обращение

При первом ходе новой сессии OpenClaw инжектирует содержимое этих файлов напрямую в контекст агента. Пустые файлы пропускаются. Большие файлы обрезаются и усекаются с маркером, чтобы промпты оставались компактными (прочтите файл для получения полного содержимого). Если файл отсутствует, OpenClaw инжектирует одну строку-маркер «файл отсутствует» (и openclaw setup создаст безопасный шаблон по умолчанию). BOOTSTRAP.md создается только для абсолютно новой рабочей области (при отсутствии других файлов начальной загрузки). Если вы удалите его после завершения ритуала, он не должен создаваться заново при последующих перезапусках. Чтобы полностью отключить создание файлов начальной загрузки (для предварительно подготовленных рабочих областей), установите:

{ agent: { skipBootstrap: true } }

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

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

Навыки

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

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

Доступ к навыкам может контролироваться конфигурацией/окружением (см. skills в Конфигурации шлюза).

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

OpenClaw повторно использует части кодовой базы pi-mono (модели/инструменты), но управление сессиями, обнаружение и подключение инструментов принадлежат 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, входящие сообщения удерживаются до завершения текущего хода, затем начинается новый ход агента с поставленными в очередь данными. См. Очередь для поведения режимов + дебаунса/ограничения. Блочный стриминг отправляет завершенные блоки ассистента, как только они заканчиваются; он по умолчанию выключен (agents.defaults.blockStreamingDefault: "off"). Настройте границу с помощью agents.defaults.blockStreamingBreak (text_end против message_end; по умолчанию text_end). Управляйте мягким разбиением на блоки с помощью agents.defaults.blockStreamingChunk (по умолчанию 800–1200 символов; предпочитает разрывы абзацев, затем переносы строк; предложения в последнюю очередь). Объединяйте стриминговые чанки с помощью agents.defaults.blockStreamingCoalesce, чтобы уменьшить спам однострочными сообщениями (слияние на основе простоя перед отправкой). Не-Telegram каналы требуют явного указания *.blockStreaming: true для включения блочных ответов. Подробные сводки по инструментам отправляются при запуске инструмента (без дебаунса); UI управления стримит вывод инструментов через события агента, когда это возможно. Подробнее: Стриминг + разбиение на чанки.

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

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

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

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

Как минимум, установите:

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

Далее: Групповые чаты 🦞

Архитектура шлюзаЦикл агента