openclaw.json --- главный файл конфигурации OpenClaw. Он управляет всем: какую модель использует агент, какие каналы подключены, как работает gateway, какие скиллы включены. В этом справочнике --- все основные секции с описаниями полей, значениями по умолчанию и примерами.
Источник: данные верифицированы по официальному справочнику конфигурации.
Основы
Расположение: ~/.openclaw/openclaw.json
Формат: JSON5 --- поддерживает комментарии (//), висящие запятые и ключи без кавычек.
Файл необязателен --- если его нет, OpenClaw использует значения по умолчанию.
Способы редактирования:
| Способ | Команда |
|---|---|
| Интерактивный мастер | openclaw onboard или openclaw configure |
| CLI | openclaw 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, память |
channels | Telegram, 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
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
model | string / object | "anthropic/claude-opus-4-6" | Основная модель |
workspace | string | "~/.openclaw/workspace" | Рабочая директория |
timeoutSeconds | number | 600 | Таймаут запроса (сек) |
contextTokens | number | 200000 | Размер контекстного окна |
maxConcurrent | number | 3 | Макс. параллельных запросов |
thinkingDefault | string | "low" | Уровень «думания» модели |
userTimezone | string | --- | Часовой пояс IANA |
mediaMaxMb | number | 5 | Макс. размер медиафайла (МБ) |
Песочница (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
},
},
}
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
botToken | string | --- | Токен бота от BotFather |
dmPolicy | string | "pairing" | Политика доступа к DM |
allowFrom | string[] | --- | ID пользователей (формат tg:123456789) |
streaming | string | "off" | Режим потоковой передачи |
proxy | string | --- | SOCKS-прокси URL |
webhookUrl | string | --- | URL для webhook-режима |
historyLimit | number | 50 | Лимит истории сообщений |
mediaMaxMb | number | 5 | Макс. размер медиа (МБ) |
Подробнее --- Подключение Telegram. Про dmPolicy --- Pairing и ошибка 1008.
{
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",
},
},
}
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
port | number | 18789 | Порт сервера |
bind | string | "loopback" | Привязка: loopback (только localhost), lan, или IP |
auth.mode | string | "token" | Режим авторизации |
auth.token | string | --- | Токен авторизации |
controlUi.enabled | boolean | true | Включить веб-дашборд |
mode | string | "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",
},
},
},
}
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
enabled | boolean | true | Включить браузер |
defaultProfile | string | "chrome" | Профиль по умолчанию |
headless | boolean | --- | Без GUI |
profiles | object | --- | Профили браузера |
Подробнее --- 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>.enabled | boolean | Включить/выключить скилл |
entries.<name>.apiKey | string | API-ключ для скилла |
entries.<name>.env | object | Переменные окружения |
load.extraDirs | string[] | Дополнительные директории со скиллами |
Подробнее --- Скиллы 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 },
},
],
},
},
},
}
| Поле провайдера | Тип | Описание |
|---|---|---|
baseUrl | string | URL API-эндпоинта |
apiKey | string | API-ключ |
api | string | Адаптер: "openai-completions", "anthropic-messages", "google-generative-ai" |
models | array | Каталог моделей с 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,
},
},
}
| Поле | Тип | По умолчанию | Описание |
|---|---|---|---|
scope | string | "per-sender" | Область сессии |
reset.mode | string | "daily" | Режим сброса |
reset.atHour | number | 4 | Час сброса (24ч) |
resetTriggers | string[] | ["/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",
},
}
Что дальше
- Быстрый старт --- минимальный конфиг для первого запуска
- Gateway --- детальная настройка gateway
- Подключение Telegram --- все поля секции telegram
- Browser Relay --- настройка браузера
- Скиллы --- установка и настройка скиллов
- Память --- система памяти
- Pairing --- настройка dmPolicy
- Официальный справочник --- полная документация всех полей на английском