Конфигурация
OpenClaw читает необязательный -конфиг из~/.openclaw/openclaw.json.
Если файл отсутствует, OpenClaw использует безопасные значения по умолчанию. Частые причины добавить конфиг:
- Подключить каналы и управлять тем, кто может писать боту
- Настроить модели, инструменты, песочницу или автоматизацию (cron, hooks)
- Тонко настроить сессии, медиа, сеть или UI
Минимальный конфиг
Редактирование конфига
- Интерактивный мастер
- CLI (однострочники)
- Control UI
- Прямое редактирование
Строгая валидация
При ошибке валидации:- Gateway не запускается
- Работают только диагностические команды (
openclaw doctor,openclaw logs,openclaw health,openclaw status) - Запустите
openclaw doctor, чтобы увидеть точные проблемы - Запустите
openclaw doctor --fix(или--yes) для автоматического исправления
Частые задачи
Настроить канал (WhatsApp, Telegram, Discord и др.)
Настроить канал (WhatsApp, Telegram, Discord и др.)
У каждого канала свой раздел конфигурации в
channels.<provider>. См. страницу нужного канала:- WhatsApp —
channels.whatsapp - Telegram —
channels.telegram - Discord —
channels.discord - Slack —
channels.slack - Signal —
channels.signal - iMessage —
channels.imessage - Google Chat —
channels.googlechat - Mattermost —
channels.mattermost - MS Teams —
channels.msteams
Выбрать и настроить модели
Выбрать и настроить модели
Укажите основную модель и резервные:
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’ы конкретного канала.См. полный справочник.Настроить gating упоминаний в группах
Настроить gating упоминаний в группах
По умолчанию сообщения в группах требуют упоминания. Настройка на уровне агента:
- Metadata mentions: нативные @‑упоминания (WhatsApp tap-to-mention, Telegram @bot и т. д.)
- Text patterns: regex-шаблоны в
mentionPatterns - См. полный справочник.
Настроить сессии и сбросы
Настроить сессии и сбросы
Сессии управляют непрерывностью диалога и изоляцией:
dmScope:main|per-peer|per-channel-peer|per-account-channel-peer- См. Session Management и полный справочник.
Включить песочницу (sandbox)
Включить песочницу (sandbox)
Запускать сессии агента в изолированных Docker-контейнерах:Сначала соберите образ:
scripts/sandbox-setup.shСм. Sandboxing и полный справочник.Настроить heartbeat (периодические проверки)
Настроить heartbeat (периодические проверки)
every: строка длительности (30m,2h). Установите0m, чтобы отключить.target:last|whatsapp|telegram|discord|none- См. Heartbeat.
Настроить cron-задачи
Настроить cron-задачи
Настроить вебхуки (hooks)
Настроить вебхуки (hooks)
Мультиагентная маршрутизация
Мультиагентная маршрутизация
Запуск нескольких изолированных агентов с разными workspace и сессиями:См. Multi-Agent и полный справочник.
Разделить конфиг на несколько файлов ($include)
Разделить конфиг на несколько файлов ($include)
Используйте
$include для организации больших конфигов:- Один файл: заменяет содержащий объект
- Массив файлов: глубокое слияние по порядку (поздние переопределяют ранние)
- Соседние ключи: объединяются после include (переопределяют значения)
- Вложенные include: поддерживаются до 10 уровней
- Относительные пути: относительно включающего файла
- Ошибки: понятные сообщения для отсутствующих файлов, ошибок парсинга и циклов include
Горячая перезагрузка конфига
Gateway отслеживает~/.openclaw/openclaw.json и автоматически применяет изменения — перезапуск вручную обычно не требуется.
Режимы перезагрузки
| Режим | Поведение |
|---|---|
hybrid (по умолчанию) | Безопасные изменения применяются сразу. Критические — с автоперезапуском. |
hot | Применяются только безопасные изменения. При необходимости перезапуска выводится предупреждение. |
restart | Gateway перезапускается при любом изменении конфига. |
off | Отслеживание отключено. Изменения вступают в силу после ручного рестарта. |
Что применяется «на горячую», а что требует перезапуска
Большинство полей применяются без простоя. В режимеhybrid изменения, требующие рестарта, выполняются автоматически.
| Категория | Поля | Нужен рестарт? |
|---|---|---|
| Каналы | channels.*, web (WhatsApp) — все встроенные и расширения | Нет |
| Агент и модели | agent, agents, models, routing | Нет |
| Автоматизация | hooks, cron, agent.heartbeat | Нет |
| Сессии и сообщения | session, messages | Нет |
| Инструменты и медиа | tools, browser, skills, audio, talk | Нет |
| UI и прочее | ui, logging, identity, bindings | Нет |
| Сервер Gateway | gateway.* (port, bind, auth, tailscale, TLS, HTTP) | Да |
| Инфраструктура | discovery, canvasHost, plugins | Да |
gateway.reload и gateway.remote — исключения: их изменение не вызывает перезапуск.Environment variables
OpenClaw читает переменные окружения из родительского процесса, а также:.envиз текущей рабочей директории (если есть)~/.openclaw/.env(глобальный fallback)
.env не переопределяет уже существующие переменные окружения. Можно также задать inline‑переменные в конфиге:
Импорт env из shell (опционально)
Импорт env из shell (опционально)
Если включено и ожидаемые ключи не заданы, OpenClaw запускает login-shell и импортирует только отсутствующие переменные:Эквивалент через env:
OPENCLAW_LOAD_SHELL_ENV=1Подстановка env-переменных в значениях конфига
Подстановка env-переменных в значениях конфига
Ссылаться на env-переменные можно в любом строковом значении через Правила:
${VAR_NAME}:- Поддерживаются только имена в верхнем регистре:
[A-Z_][A-Z0-9_]* - Отсутствующие/пустые переменные вызывают ошибку загрузки
- Экранирование:
$${VAR}для вывода литерала - Работает внутри
$include - Inline-подстановка:
"${BASE}/v1"→"https://api.example.com/v1"
Полный справочник
Для полного описания всех полей см. Configuration Reference.Связано: Configuration Examples · Configuration Reference · Doctor