Skip to main content

Конфигурация

OpenClaw читает необязательный -конфиг из ~/.openclaw/openclaw.json. Если файл отсутствует, OpenClaw использует безопасные значения по умолчанию. Частые причины добавить конфиг:
  • Подключить каналы и управлять тем, кто может писать боту
  • Настроить модели, инструменты, песочницу или автоматизацию (cron, hooks)
  • Тонко настроить сессии, медиа, сеть или UI
См. полный справочник для всех доступных полей.
Новичкам в конфигурации? Начните с openclaw onboard для интерактивной настройки или посмотрите руководство Configuration Examples с готовыми конфигами для копирования.

Минимальный конфиг

Редактирование конфига

Строгая валидация

OpenClaw принимает только конфигурации, полностью соответствующие схеме. Неизвестные ключи, неверные типы или недопустимые значения приводят к тому, что Gateway отказывается запускаться. Единственное исключение на корневом уровне — $schema (string), чтобы редакторы могли подключать JSON Schema.
При ошибке валидации:
  • Gateway не запускается
  • Работают только диагностические команды (openclaw doctor, openclaw logs, openclaw health, openclaw status)
  • Запустите openclaw doctor, чтобы увидеть точные проблемы
  • Запустите openclaw doctor --fix (или --yes) для автоматического исправления

Частые задачи

У каждого канала свой раздел конфигурации в channels.<provider>. См. страницу нужного канала:Все каналы используют одинаковый шаблон политики DM:
Укажите основную модель и резервные:
  • agents.defaults.models определяет каталог моделей и действует как allowlist для /model.
  • Ссылки на модели используют формат provider/model (например, anthropic/claude-opus-4-6).
  • См. Models CLI для переключения моделей в чате и Model Failover для ротации авторизации и fallback-поведения.
  • Для кастомных/self-hosted провайдеров см. Custom providers.
Доступ к DM настраивается отдельно для каждого канала через dmPolicy:
  • "pairing" (по умолчанию): неизвестные отправители получают одноразовый код подтверждения
  • "allowlist": только отправители из allowFrom (или из хранилища сопряжений)
  • "open": разрешить все входящие DM (требуется allowFrom: ["*"])
  • "disabled": игнорировать все DM
Для групп используйте groupPolicy + groupAllowFrom или allowlist’ы конкретного канала.См. полный справочник.
По умолчанию сообщения в группах требуют упоминания. Настройка на уровне агента:
  • Metadata mentions: нативные @‑упоминания (WhatsApp tap-to-mention, Telegram @bot и т. д.)
  • Text patterns: regex-шаблоны в mentionPatterns
  • См. полный справочник.
Сессии управляют непрерывностью диалога и изоляцией:
Запускать сессии агента в изолированных Docker-контейнерах:
Сначала соберите образ: scripts/sandbox-setup.shСм. Sandboxing и полный справочник.
  • every: строка длительности (30m, 2h). Установите 0m, чтобы отключить.
  • target: last | whatsapp | telegram | discord | none
  • См. Heartbeat.
См. Cron jobs.
Включить HTTP-вебхуки на Gateway:
См. полный справочник.
Запуск нескольких изолированных агентов с разными workspace и сессиями:
См. Multi-Agent и полный справочник.
Используйте $include для организации больших конфигов:
  • Один файл: заменяет содержащий объект
  • Массив файлов: глубокое слияние по порядку (поздние переопределяют ранние)
  • Соседние ключи: объединяются после include (переопределяют значения)
  • Вложенные include: поддерживаются до 10 уровней
  • Относительные пути: относительно включающего файла
  • Ошибки: понятные сообщения для отсутствующих файлов, ошибок парсинга и циклов include

Горячая перезагрузка конфига

Gateway отслеживает ~/.openclaw/openclaw.json и автоматически применяет изменения — перезапуск вручную обычно не требуется.

Режимы перезагрузки

Что применяется «на горячую», а что требует перезапуска

Большинство полей применяются без простоя. В режиме hybrid изменения, требующие рестарта, выполняются автоматически.
gateway.reload и gateway.remote — исключения: их изменение не вызывает перезапуск.

Environment variables

OpenClaw читает переменные окружения из родительского процесса, а также:
  • .env из текущей рабочей директории (если есть)
  • ~/.openclaw/.env (глобальный fallback)
Ни один .env не переопределяет уже существующие переменные окружения. Можно также задать inline‑переменные в конфиге:
Если включено и ожидаемые ключи не заданы, OpenClaw запускает login-shell и импортирует только отсутствующие переменные:
Эквивалент через env: OPENCLAW_LOAD_SHELL_ENV=1
Ссылаться на env-переменные можно в любом строковом значении через ${VAR_NAME}:
Правила:
  • Поддерживаются только имена в верхнем регистре: [A-Z_][A-Z0-9_]*
  • Отсутствующие/пустые переменные вызывают ошибку загрузки
  • Экранирование: $${VAR} для вывода литерала
  • Работает внутри $include
  • Inline-подстановка: "${BASE}/v1""https://api.example.com/v1"
См. Environment для полного порядка приоритета.

Полный справочник

Для полного описания всех полей см. Configuration Reference.
Связано: Configuration Examples · Configuration Reference · Doctor