Канал

openclaw.json: полный справочник конфигурации

openclaw.json --- главный файл конфигурации OpenClaw. Он управляет всем: какую модель использует агент, какие каналы подключены, как работает gateway, какие скиллы включены. В этом справочнике --- все основные секции с описаниями полей, значениями по умолчанию и примерами.

Источник: данные верифицированы по официальному справочнику конфигурации.

Основы

Расположение: ~/.openclaw/openclaw.json

Формат: JSON5 --- поддерживает комментарии (//), висящие запятые и ключи без кавычек.

Файл необязателен --- если его нет, OpenClaw использует значения по умолчанию.

Способы редактирования:

СпособКоманда
Интерактивный мастерopenclaw onboard или openclaw configure
CLIopenclaw config get agent.model, openclaw config set agent.model "..."
Веб-дашбордhttp://127.0.0.1:18789
Прямое редактированиеЛюбой текстовый редактор (hot reload)

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

Для запуска достаточно двух полей:

{
  agent: {
    model: "anthropic/claude-opus-4-6",
  },
  channels: {
    telegram: {
      botToken: "123456:ABCdef...",
    },
  },
}

Все секции

СекцияНазначение
agent / agentsМодель, песочница, heartbeat, память
channelsTelegram, WhatsApp, Discord, Slack и др.
gatewayПорт, привязка, авторизация, Control UI
browserАвтоматизация браузера
skillsСкиллы и расширения
modelsПровайдеры и каталог моделей
memoryСистема памяти
cronЗадания по расписанию
toolsПрофили инструментов
sessionУправление сессиями
messagesОбработка сообщений и TTS
hooksВебхуки
envПеременные окружения
loggingЛогирование

agent / agents

Настройки агента: модель, песочница, heartbeat, компакция контекста.

Модель

{
  agent: {
    // Простой формат --- одна модель
    model: "anthropic/claude-opus-4-6",
  },
}
{
  agent: {
    // С fallback-моделями
    model: {
      primary: "openrouter/qwen/qwen-2.5-72b-instruct",
      fallbacks: [
        "openrouter/z-ai/glm-4.7",
        "openrouter/moonshotai/kimi-k2.5",
      ],
    },
  },
}

Основные поля agents.defaults

ПолеТипПо умолчаниюОписание
modelstring / object"anthropic/claude-opus-4-6"Основная модель
workspacestring"~/.openclaw/workspace"Рабочая директория
timeoutSecondsnumber600Таймаут запроса (сек)
contextTokensnumber200000Размер контекстного окна
maxConcurrentnumber3Макс. параллельных запросов
thinkingDefaultstring"low"Уровень «думания» модели
userTimezonestring---Часовой пояс IANA
mediaMaxMbnumber5Макс. размер медиафайла (МБ)

Песочница (sandbox)

{
  agents: {
    defaults: {
      sandbox: {
        mode: "non-main",     // "non-main" | другие режимы
      },
    },
  },
}

Heartbeat

Автономная работа агента по расписанию:

{
  agents: {
    defaults: {
      heartbeat: {
        every: "30m",           // интервал
        prompt: "Проверь задачи и отчитайся",
        to: "telegram",         // куда отправлять
      },
    },
  },
}

Список агентов (agents.list)

Для мультиагентной конфигурации:

{
  agents: {
    list: [
      {
        id: "assistant",
        default: true,
        name: "Ассистент",
        model: "anthropic/claude-opus-4-6",
        workspace: "~/.openclaw/workspace",
        identity: {
          name: "Алекс",
          emoji: "🤖",
        },
      },
      {
        id: "coder",
        name: "Кодер",
        model: "openrouter/qwen/qwen-2.5-coder-32b-instruct",
      },
    ],
  },
}

channels

Подключение мессенджеров. OpenClaw поддерживает: Telegram, WhatsApp, Discord, Slack, Signal, iMessage, Google Chat, Mattermost, MS Teams, IRC, BlueBubbles, Web.

Telegram

{
  channels: {
    telegram: {
      enabled: true,
      botToken: "123456:ABCdef...",
      dmPolicy: "pairing",         // pairing | allowlist | open | disabled
      allowFrom: ["tg:123456789"],
      streaming: "off",            // off | partial | block | progress
    },
  },
}
ПолеТипПо умолчаниюОписание
botTokenstring---Токен бота от BotFather
dmPolicystring"pairing"Политика доступа к DM
allowFromstring[]---ID пользователей (формат tg:123456789)
streamingstring"off"Режим потоковой передачи
proxystring---SOCKS-прокси URL
webhookUrlstring---URL для webhook-режима
historyLimitnumber50Лимит истории сообщений
mediaMaxMbnumber5Макс. размер медиа (МБ)

Подробнее --- Подключение Telegram. Про dmPolicy --- Pairing и ошибка 1008.

WhatsApp

{
  channels: {
    whatsapp: {
      dmPolicy: "pairing",
      allowFrom: ["+79001234567"],
      textChunkLimit: 4000,
    },
  },
}

Discord

{
  channels: {
    discord: {
      enabled: true,
      token: "BOT_TOKEN",
      dmPolicy: "pairing",
      textChunkLimit: 2000,
    },
  },
}

Slack

{
  channels: {
    slack: {
      enabled: true,
      botToken: "xoxb-...",
      appToken: "xapp-...",
      dmPolicy: "pairing",
      streaming: "partial",
    },
  },
}

Общие настройки каналов

{
  channels: {
    defaults: {
      groupPolicy: "allowlist",    // open | allowlist | disabled
    },
  },
}

gateway

Настройки сервера gateway.

{
  gateway: {
    port: 18789,
    bind: "loopback",             // loopback | lan | 0.0.0.0
    auth: {
      mode: "token",
      token: "${OPENCLAW_GATEWAY_TOKEN}",
    },
    controlUi: {
      enabled: true,
      basePath: "/openclaw",
    },
  },
}
ПолеТипПо умолчаниюОписание
portnumber18789Порт сервера
bindstring"loopback"Привязка: loopback (только localhost), lan, или IP
auth.modestring"token"Режим авторизации
auth.tokenstring---Токен авторизации
controlUi.enabledbooleantrueВключить веб-дашборд
modestring"local""local" или "remote"

Подробнее --- Gateway: как устроен и как настроить.


browser

Автоматизация браузера через Browser Relay.

{
  browser: {
    enabled: true,
    defaultProfile: "openclaw",
    headless: false,
    profiles: {
      openclaw: {
        type: "managed",
        viewport: { width: 1280, height: 720 },
      },
      chrome: {
        type: "extension",
        relayPort: 18792,
      },
      remote: {
        type: "cdp",
        cdpUrl: "ws://localhost:9222/devtools/browser",
      },
    },
  },
}
ПолеТипПо умолчаниюОписание
enabledbooleantrueВключить браузер
defaultProfilestring"chrome"Профиль по умолчанию
headlessboolean---Без GUI
profilesobject---Профили браузера

Подробнее --- Browser Relay и Chrome Extension.


skills

Настройка скиллов (расширений).

{
  skills: {
    entries: {
      "web-search": {
        enabled: true,
        apiKey: "tvly-xxx",
      },
      "shell": {
        enabled: true,
        sandbox: true,
        timeout: 30000,
        blocked_commands: ["rm -rf", "sudo"],
      },
    },
    load: {
      extraDirs: ["~/my-skills/"],
    },
  },
}
ПолеТипОписание
entries.<name>.enabledbooleanВключить/выключить скилл
entries.<name>.apiKeystringAPI-ключ для скилла
entries.<name>.envobjectПеременные окружения
load.extraDirsstring[]Дополнительные директории со скиллами

Подробнее --- Скиллы OpenClaw и Топ скиллов.


models

Определение провайдеров моделей. Нужно для подключения нестандартных провайдеров.

{
  models: {
    providers: {
      openrouter: {
        baseUrl: "https://openrouter.ai/api/v1",
        apiKey: "${OPENROUTER_API_KEY}",
        api: "openai-completions",
      },
      ollama: {
        baseUrl: "http://localhost:11434/v1",
        api: "openai-completions",
      },
      custom: {
        baseUrl: "https://my-proxy.example.com/v1",
        apiKey: "sk-...",
        api: "openai-completions",
        models: [
          {
            id: "my-model",
            name: "Моя модель",
            contextWindow: 128000,
            cost: { input: 0.5, output: 1.5 },
          },
        ],
      },
    },
  },
}
Поле провайдераТипОписание
baseUrlstringURL API-эндпоинта
apiKeystringAPI-ключ
apistringАдаптер: "openai-completions", "anthropic-messages", "google-generative-ai"
modelsarrayКаталог моделей с ID, именами и ценами

memory

Система памяти агента.

{
  memory: {
    backend: "builtin",     // builtin | qmd
    citations: "auto",      // auto | on | off
  },
}

Для семантического поиска по памяти:

{
  agents: {
    defaults: {
      memorySearch: {
        enabled: true,
        provider: "local",    // local | openai | ollama | voyage | mistral | gemini
      },
    },
  },
}

Подробнее --- Память OpenClaw.


cron

Задания по расписанию.

{
  cron: {
    enabled: true,
    maxConcurrentRuns: 1,
    retry: {
      maxAttempts: 3,
    },
  },
}

Задания добавляются через CLI:

openclaw cron add \
  --schedule "0 8 * * *" \
  --timezone "Europe/Moscow" \
  --prompt "Покажи погоду и задачи на сегодня"

Подробнее --- Справочник CLI.


tools

Профили инструментов и настройки выполнения.

{
  tools: {
    profile: "messaging",     // minimal | coding | messaging | full
    elevated: {
      enabled: true,
    },
    exec: {
      timeoutSec: 1800,
    },
    web: {
      search: {},
      fetch: {},
    },
  },
}
ПрофильОписание
minimalМинимум инструментов
codingДля разработки
messagingДля мессенджеров (по умолчанию)
fullВсе инструменты

session

Управление сессиями разговоров.

{
  session: {
    scope: "per-sender",
    reset: {
      mode: "daily",
      atHour: 4,
    },
    resetTriggers: ["/new", "/reset"],
    threadBindings: {
      enabled: true,
      idleHours: 24,
    },
  },
}
ПолеТипПо умолчаниюОписание
scopestring"per-sender"Область сессии
reset.modestring"daily"Режим сброса
reset.atHournumber4Час сброса (24ч)
resetTriggersstring[]["/new", "/reset"]Команды сброса

messages

Обработка сообщений и голос (TTS).

{
  messages: {
    responsePrefix: "auto",
    ackReaction: "👀",
    queue: {
      mode: "collect",
      debounceMs: 1000,
      cap: 20,
    },
    tts: {
      auto: "off",            // off | always | inbound | tagged
      provider: "elevenlabs",  // elevenlabs | openai
    },
  },
}

hooks

Приём вебхуков от внешних сервисов.

{
  hooks: {
    enabled: true,
    token: "my-secret-token",
    path: "/hooks",
    mappings: [
      {
        match: { source: "github" },
        action: "message",
        agentId: "assistant",
        channel: "telegram",
      },
    ],
  },
}

env

Переменные окружения прямо в конфиге:

{
  env: {
    ANTHROPIC_API_KEY: "sk-ant-...",
    OPENROUTER_API_KEY: "sk-or-...",
    TELEGRAM_BOT_TOKEN: "123456:ABCdef...",
  },
}

Переменные доступны в конфиге через ${VAR_NAME}:

{
  channels: {
    telegram: {
      botToken: "${TELEGRAM_BOT_TOKEN}",
    },
  },
}

logging

Настройка логов.

{
  logging: {
    file: "/tmp/openclaw/openclaw.log",
    level: "debug",           // debug | trace
    consoleLevel: "info",
    consoleStyle: "pretty",   // pretty | compact | json
    redactSensitive: "tools", // off | tools
  },
}

Полный пример

// ~/.openclaw/openclaw.json
{
  agent: {
    model: {
      primary: "anthropic/claude-opus-4-6",
      fallbacks: ["openrouter/qwen/qwen-2.5-72b-instruct"],
    },
  },
  channels: {
    telegram: {
      botToken: "${TELEGRAM_BOT_TOKEN}",
      dmPolicy: "pairing",
    },
  },
  gateway: {
    port: 18789,
    bind: "loopback",
    auth: {
      mode: "token",
      token: "${OPENCLAW_GATEWAY_TOKEN}",
    },
  },
  browser: {
    enabled: true,
    defaultProfile: "openclaw",
  },
  cron: {
    enabled: true,
  },
  env: {
    ANTHROPIC_API_KEY: "sk-ant-...",
    TELEGRAM_BOT_TOKEN: "123456:ABCdef...",
    OPENCLAW_GATEWAY_TOKEN: "my-secret-token",
  },
}

Что дальше

Следите за OpenClaw на русском

Разбираем обновления, пишем гайды, делимся кейсами

Подписаться на канал Задать вопрос в чате
Присоединяйтесь к сообществу