Настройка OpenClaw осуществляется исключительно через один JSON5-файл ~/.openclaw/openclaw.json и интерфейс командной строки, содержащий более 100 подкоманд. Ни один из них не документирован полностью в одном месте. В официальном справочнике по CLI приводится дерево команд; в справочнике по конфигурации объясняются отдельные поля; но практические закономерности, связывающие их воедино, — нюансы строгости схемы, поведение горячей перезагрузки и иерархия конфигурации — описаны в issues на GitHub, руководствах от сообщества и разборах ошибок в продакшене.
Это руководство всесторонне охватывает оба аспекта. Оно начинается с конфигурационного файла: формат, структура, каждый основной раздел с рабочими примерами. Затем рассматривается CLI: он организован по принципу рабочих процессов, а не в алфавитном порядке, чтобы вы могли легко найти всё необходимое для управления шлюзом, настройки каналов, диагностики и автоматизации. Завершается руководство описанием переменных окружения, порядка их разрешения и способов безопасного управления конфигурацией в рамках системы контроля версий.
Конфигурационный файл имеет формат JSON5, а не обычный JSON. Это означает, что комментарии (// like this), завершающие запятые и ключи без кавычек допустимы. По умолчанию файл находится по адресу ~/.openclaw/openclaw.json. Вы можете изменить его расположение с помощью переменной окружения OPENCLAW_CONFIG_PATH или флага CLI --profile <name>, что изолирует всё состояние в отдельном каталоге — удобно для тестирования или запуска нескольких изолированных экземпляров.
Валидация схемы выполняется через Zod при запуске. Неизвестные ключи приводят к тому, что шлюз отказывается запускаться. Нет режима предупреждений, нет мягкой обработки ошибок: если вы добавите ключ, которого нет в схеме, шлюз не запустится, и сообщение об ошибке укажет на некорректный ключ. Это самое важное, что нужно знать перед ручным редактированием файла. Безопасный процесс редактирования:
# 1. Сначала сделайте резервную копию — всегда cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak # 2. Отредактируйте файл # 3. Проверьте синтаксис JSON5 cat ~/.openclaw/openclaw.json | python3 -m json.tool # 4. Проверьте схему и исправьте ошибки openclaw doctor --fix
Шлюз отслеживает изменения в файле и выполняет горячую перезагрузку большинства настроек без перезапуска.
Полный обзор всех разделов верхнего уровня:
{ // Записывается мастером настройки — не редактируйте вручную meta: { lastTouchedVersion: "...", lastTouchedAt: "..." }, gateway: { ... }, // Порт, адрес привязки, токен аутентификации update: { channel: "stable" }, // stable | beta | dev env: { shellEnv: { enabled: true }, vars: { KEY: "value" } }, agents: { defaults: { ... }, list: [ ... ] }, // Конфигурация агентов + переопределения models: { mode: "merge", providers: { ... } }, // Провайдеры LLM auth: { profiles: { ... }, order: { ... } }, // Переключение провайдеров при сбое channels: { telegram: { ... }, discord: { ... } }, // Каналы обмена сообщениями session: { dmScope: "per-channel-peer", reset: { ... } }, bindings: [ { agentId: "...", match: { ... } } ], // Мультиагентная маршрутизация cron: { enabled: true, maxConcurrentRuns: 2 }, tools: { web: { search: { provider: "brave", apiKey: "..." } } }, sandbox: { mode: "non-main", docker: { ... } }, logging: { level: "info", consoleLevel: "warn" }, skills: { install: { nodeManager: "pnpm" } }, } Раздел gat
Управляет процессом привязки, аутентификации и перезагрузки шлюза:
gateway: { port: 18789, mode: "local", // local | cloud bind: "loopback", // loopback = только 127.0.0.1 (рекомендуется) // all = 0.0.0.0 (требуется токен аутентификации) auth: { mode: "token", token: "your-generated-token", allowTailscale: true, // IP-адреса Tailscale обходят проверку токена }, controlUi: { enabled: true, dangerouslyDisableDeviceAuth: false, // никогда true на общих хостах }, reload: "hybrid", // hot | hybrid | restart }
Всегда используйте настройку bind: "loopback" на VPS-серверах. Настройка bind: "all" без надёжного токена аутентификации делает шлюз доступным из интернета. У открытых шлюзов OpenClaw, обнаруженных на публичных IP-адресах, происходит утечка ключей API, токенов OAuth и истории сессий. Шлюз откажется привязываться к не-loopback адресам без токена аутентификации. См. руководство по безопасности VPS для настройки обратного прокси.
Поле reload управляет поведением горячей перезагрузки. Значение "hybrid" применяет изменения в реальном времени, где это возможно, и перезапускает систему только при необходимости. gateway.reload и gateway.remote — это два поля, изменение которых не вызывает перезагрузку: если вы измените любое из них, перезапустите шлюз вручную.
В разделе agents используется шаблон «значения по умолчанию + переопределения». agents.defaults задаёт базовые параметры для каждого агента. Каждая запись в agents.list может переопределять отдельные поля. Шлюз объединяет их во время выполнения: конфигурация конкретного агента имеет приоритет там, где она задана, а значения по умолчанию заполняют всё остальное.
agents: { defaults: { workspace: "~/.openclaw/workspace", model: { primary: "anthropic/claude-sonnet-4-5", fallbacks: [ "openai/gpt-5-mini", "openrouter/google/gemini-3-flash-preview", ], }, // Сокращения-алиасы для slash-команды :model models: { "anthropic/claude-haiku-4-5": { alias: "haiku" }, "anthropic/claude-sonnet-4-5": { alias: "sonnet" }, "anthropic/claude-opus-4-6": { alias: "opus" }, }, maxConcurrent: 4, // Обрезка контекста: удаляет устаревшие результаты инструментов перед каждым вызовом LLM contextPruning: { mode: "cache-ttl", // off | cache-ttl ttl: "45m", keepLastAssistants: 2, minPrunableToolChars: 12000, softTrim: { maxChars: 2500, headChars: 900, tailChars: 900 }, hardClear: { enabled: true, placeholder: "[Old tool result cleared]" }, tools: { deny: ["browser", "canvas"] }, }, // Сжатие: суммаризирует полную историю, когда контекстное окно заполняется compaction: { mode: "safeguard", // default | safeguard reserveTokensFloor: 12000, identifierPolicy: "strict", memoryFlush: { enabled: true, softThresholdTokens: 6000, prompt: "Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store.", systemPrompt: "Session nearing compaction.", }, }, // Heartbeat heartbeat: { every: "30m", mode: "next-heartbeat", }, }, list: [ { id: "main", default: true }, { id: "work", workspace: "~/work-agent", model: { primary: "anthropic/claude-opus-4-6" }, lane: "work-lane", laneConcurrency: 4, }, ], }
Критическое ограничение: некоторые поля работают только на уровне agents.defaults и молча игнорируются при установке для отдельного агента. К этой категории относятся настройки сжатия, значения по умолчанию для профиля браузера и переопределения уровня обработки. Шлюз не предупреждает вас — горячая перезагрузка просто не выполняется. Команда openclaw doctor --fix находит и удаляет эти недействительные ключи. Всегда запускайте её после редактирования конфигурации конкретного агента.
Обрезка контекста (context pruning) запускается перед каждым вызовом LLM. Она проверяет контекст в памяти и удаляет устаревшие результаты инструментов, превышающие пороговое значение TTL или размера. Она не затрагивает файл сессии на диске — только то, что отправляется в модель. Без этого сессии с множеством вызовов инструментов накапливают огромные объёмы данных в контексте. Это основная причина проблемы из GitHub issue #2254: 35 сообщений создали файл сессии размером 2,9 МБ и контекст из 208 467 токенов, который молча перестал отвечать при превышении лимита модели в 200 000 токенов. Включение contextPruning с mode: "cache-ttl" предотвращает это.
Сжатие (compaction) запускается, когда контекстное окно приближается к своему пределу. Шлюз суммаризирует историю разговора, при необходимости сначала записывает заметки в ежедневный файл памяти через memoryFlush, а затем заменяет полную историю сводкой. В режиме "safeguard" выполняется пошаговая суммаризация для очень длинных историй, вместо попытки суммировать всё за один вызов LLM. Оба механизма должны быть включены в продакшене — в старых конфигурациях contextPruning может быть отключён, поскольку стал включаться по умолчанию позже.
models: { mode: "merge", // merge = объединить списки провайдеров; replace = заменить умолчания providers: { anthropic: { apiKey: "${ANTHROPIC_API_KEY}", }, openai: { apiKey: "${OPENAI_API_KEY}", }, // LM Studio (локальный сервер, совместимый с OpenAI) "lmstudio": { baseUrl: "http://127.0.0.1:1234/v1", apiKey: "lmstudio", api: "openai-responses", models: [ { id: "lmstudio/qwen2.5-coder-7b", name: "Qwen 2.5 Coder 7B", reasoning: false, input: ["text"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, contextWindow: 32768, maxTokens: 8000, }, ], }, // Ollama ollama: { baseUrl: "http://localhost:11434", apiKey: "ollama-local", api: "openai-completions", models: [ ... ], }, }, }
Поле api определяет формат запросов. "openai-responses" работает для большинства локальных серверов, совместимых с OpenAI; "openai-completions" — для Ollama; "anthropic" — для Anthropic API. Если модель не поддерживает вызов инструментов, установите параметр reasoning: false и не используйте её в качестве основной модели агента — система инструментов OpenClaw требует поддержки вызова функций.
Использование нескольких профилей аутентификации для одного провайдера обеспечивает автоматическое переключение при превышении лимитов запросов. Сессии остаются привязанными к одному профилю (для поддержания кэша) и сбрасываются при выполнении /new или при сжатии данных:
auth: { profiles: { "anthropic:subscription": { mode: "oauth", email: "[email protected]" }, "anthropic:api": { mode: "api_key", apiKey: "${ANTHROPIC_API_KEY}" }, "openai:default": { mode: "api_key", apiKey: "${OPENAI_API_KEY}" }, }, order: { anthropic: ["anthropic:subscription", "anthropic:api"], openai: ["openai:default"], }, }
Когда профиль достигает лимита запросов или происходит сбой аутентификации, OpenClaw пытается использовать следующий профиль в списке для этого провайдера. Если все профили провайдера не проходят проверку, происходит переход к следующей модели в списке agents.defaults.model.fallbacks. Настройте резервные модели у разных провайдеров (Anthropic → OpenAI, а не Anthropic → Anthropic), чтобы избежать известной проблемы, когда достижение лимита одной моделью помечает весь провайдер как находящийся в режиме ожидания.
session: { dmScope: "per-channel-peer", // Варианты: // "main" — все личные сообщения используют одну сессию (по умолчанию для одного пользователя) // "per-peer" — изоляция по ID отправителя во всех каналах // "per-channel-peer" — изоляция по отправителю + канал (рекомендуется для нескольких пользователей) // "per-account-channel-peer" — максимальная гранулярность threadBindings: { enabled: true, idleHours: 24, // автоматически отвязать тред после указанного числа часов простоя maxAgeHours: 0, // 0 = без ограничения по возрасту }, reset: { mode: "daily", // none | daily | idle atHour: 4, // час по UTC для ежедневного сброса idleMinutes: 120, // для режима idle }, identityLinks: { // Связывание учётных записей одного пользователя в разных каналах alice: ["telegram:123456", "discord:987654"], }, }
Настройка dmScope: "per-channel-peer" подходит для любой конфигурации, где несколько человек могут отправлять личные сообщения вашему агенту. Значение по умолчанию "main" означает, что все пользователи разделяют одну сессию, — а значит, контекст личной переписки Алисы виден Бобу. Это утечка данных, а не просто проблема настроек. См. руководство по конфиденциальности и соответствию требованиям.
sandbox: { mode: "non-main", // off | all | non-main scope: "session", docker: { image: "openclaw-sandbox:bookworm-slim", network: "none", // без исходящей сети из песочницы readOnlyRoot: true, cpus: "1", memoryMb: 512, }, }
Режим "non-main" запускает подагентов и cron-задания внутри изолированных контейнеров Docker, сохраняя при этом основную DM-сессию на хосте. Режим "all" изолирует все процессы. Требуется Docker CLI внутри образа шлюза (OPENCLAW_INSTALL_DOCKER_CLI=1) и доступ к сокетам Docker.
Настройки, требующие перезагрузки шлюза:
gateway.port и gateway.bind (невозможно повторно привязать активный сокет)
gateway.reload и gateway.remote (не вызывают перезагрузку по замыслу)
Образ Docker для песочницы или конфигурация сети
Установка или удаление плагина
Настройки, которые применяются без перезапуска: изменения модели и резервного режима, изменения конфигурации агента, политики каналов (dmPolicy, allowFrom), cron-задания, интервалы heartbeat, конфигурация инструментов и большинство настроек сессий.
# Интерактивный мастер настройки openclaw onboard # Настройка + установка демона одной командой (самый частый вариант первого запуска) openclaw onboard --install-daemon # Повторный запуск определённых шагов настройки openclaw configure # Неинтерактивный режим (Docker, CI) openclaw onboard --non-interactive # Сброс только конфигурации (сессии и учётные данные сохраняются) openclaw reset --scope config # Сброс конфигурации + учётных данных + сессий (рабочая область сохраняется) openclaw reset --scope config+creds+sessions # Полный сброс (включая рабочую область) openclaw reset --scope full
openclaw doctor — самая полезная команда во всём CLI. Запускайте её после любых изменений конфигурации, после любого обновления и всякий раз, когда шлюз ведёт себя непредсказуемо.
# Базовая проверка (только чтение, безопасна в любое время) openclaw doctor # Проверка + автоисправление openclaw doctor --fix # Глубокое сканирование (более тщательное, медленнее) openclaw doctor --deep --yes # Неинтерактивный режим (для скриптов) openclaw doctor --non-interactive # Полный дамп статуса openclaw status --all --deep # Статус в формате JSON openclaw status --json # Прямая проверка шлюза (работает, даже если демон не запущен) openclaw health --json --verbose # Аудит безопасности openclaw security audit openclaw security audit --fix # Проверка на утечку учётных данных openclaw secrets audit --check
# Запуск на переднем плане (для отладки) openclaw gateway run # Запуск на нестандартном порту openclaw gateway run --port 19000 --bind loopback # Принудительно завершить процесс на порту и запустить заново openclaw gateway run --force # Управление демоном (требуется установленный демон) openclaw gateway start openclaw gateway stop openclaw gateway restart openclaw gateway status # Установка и управление демоном openclaw daemon install openclaw daemon install --user # systemd-сервис на уровне пользователя openclaw daemon start | stop | restart | status | logs | uninstall # Открыть панель управления в браузере openclaw dashboard # Удалённый терминальный интерфейс (подключение к удалённому шлюзу) openclaw tui --url https://example.com --token YOUR_TOKEN
Предпочтительнее использовать openclaw config, а не редактировать файл напрямую. Запись через CLI использует тот же парсер JSON5 и валидацию схемы, поэтому невозможно ввести неизвестные ключи.
# Получить конкретное значение openclaw config get agents.defaults.model.primary openclaw config get gateway.port # Получить всё (с форматированием) openclaw config get # Установить значение openclaw config set agents.defaults.heartbeat.every "2h" openclaw config set agents.defaults.maxConcurrent 8 openclaw config set gateway.bind "loopback" # Удалить ключ openclaw config unset tools.web.search.apiKey openclaw config unset agents.defaults.heartbeat
# Список каналов openclaw channels list # Проверка статуса (состояние подключений) openclaw channels status openclaw channels status --probe --all # дополнительные проверки подключения # Логи конкретного канала openclaw channels logs --channel telegram openclaw channels logs --channel discord --limit 100 # Добавить канал (интерактивный мастер) openclaw channels add --channel telegram openclaw channels add --channel discord # Добавить неинтерактивно openclaw channels add --channel telegram \ --account main \ --name "My Bot" \ --token "$TELEGRAM_BOT_TOKEN" # WhatsApp и OAuth-авторизация (сканирование QR / браузерный поток) openclaw channels login openclaw channels login whatsapp # Одобрить код сопряжения от нового отправителя в личных сообщениях openclaw pairing approve telegram CODE123 # Удалить канал (по умолчанию — отключает) openclaw channels remove --channel telegram openclaw channels remove --channel discord --delete # также удаляет запись из конфигурации
# Просмотр логов в реальном времени (с цветовой разметкой в TTY) openclaw logs --follow # Вывод в JSON (одно событие на строку, для конвейерной обработки) openclaw logs --json # Ограничить количество строк openclaw logs --limit 200 # Фильтр по уровню логирования openclaw logs --level warn # Логи конкретного канала openclaw channels logs --channel whatsapp
# Список настроенных моделей openclaw models list openclaw models list --all # включая полный каталог # Проверка статуса модели и аутентификации openclaw models status openclaw models status --probe # тест подключения для каждого провайдера # Сменить основную модель openclaw models set anthropic/claude-sonnet-4-5 # Задать модель для обработки изображений (для визуального ввода) openclaw models set-image openai/gpt-4o # Управление алиасами openclaw models aliases list openclaw models aliases add fast anthropic/claude-haiku-4-5 # Управление резервными моделями openclaw models fallbacks list openclaw models fallbacks add openai/gpt-5-mini openclaw models fallbacks clear # Управление аутентификацией openclaw models auth add openclaw models auth setup-token openclaw models auth order get openclaw models auth order set anthropic "anthropic:subscription,anthropic:api"
# Список агентов openclaw agents list # Добавить агента (интерактивно) openclaw agents add # Добавить неинтерактивно openclaw agents add --id "work" --workspace ~/work-agent --non-interactive # Список привязок маршрутизации openclaw agents acp list # Добавить привязку (направить канал/группу к конкретному агенту) openclaw agents acp add --agent work --channel telegram --group-id -1001234567 # Удалить привязку openclaw agents acp remove --agent work --channel telegram # Выполнить один шаг агента напрямую (минуя канал) openclaw agent --message "What needs my attention today?" # Удалить агента openclaw agents delete --id work
# Статус индекса памяти openclaw memory status # Переиндексировать все файлы памяти в рабочей области openclaw memory index --all # Поиск по памяти openclaw memory search --query "deployment notes" # Отправить сообщение в конкретную сессию openclaw message agent --session "session-key" --message "Status update?"
# Список всех cron-заданий openclaw cron list --all # Показать статус cron-заданий openclaw cron status # Добавить однократное задание на определённое время openclaw cron add \ --name "morning-brief" \ --at "2026-04-01T09:00:00Z" \ --message "Summarize emails and calendar for today" # Добавить повторяющееся задание (интервал в миллисекундах) openclaw cron add \ --name "hourly-check" \ --every 3600000 \ --message "Check for priority items" # Добавить с cron-выражением openclaw cron add \ --name "weekly-report" \ --cron "0 9 * * 1" \ --message "Generate weekly summary" # Запустить задание немедленно (игнорируя расписание) openclaw cron run --id morning-brief # Включить/отключить openclaw cron enable --id morning-brief openclaw cron disable --id morning-brief # Просмотр истории запусков openclaw cron runs --id morning-brief --limit 10 # Редактировать существующее задание openclaw cron edit --id morning-brief # Удалить задание openclaw cron rm --id morning-brief
# Список установленных skills openclaw skills list # Подробности о skill openclaw skills info web-search # Проверка совместимости (выполнены ли требования) openclaw skills check --eligible # Управление плагинами openclaw plugins list openclaw plugins info my-plugin openclaw plugins install my-plugin openclaw plugins enable my-plugin openclaw plugins disable my-plugin openclaw plugins doctor # отчёт об ошибках загрузки плагинов
# Список сессий разговоров openclaw sessions --json # Очистка старых файлов сессий openclaw sessions cleanup # Управление устройствами openclaw devices list openclaw devices node run --id DEVICE_ID # Подтверждения (для инструментов, требующих ручного подтверждения) openclaw approvals get openclaw approvals set --policy "auto" openclaw approvals allowlist add "exec"
# Обновить до последней стабильной версии openclaw update # Сменить канал обновлений openclaw update --channel stable # stable | beta | dev # Мигрировать конфигурацию после обновления мажорной версии openclaw migrate
Эти флаги работают с любой командой:
--dev # Использовать dev-окружение (отдельный каталог состояния) --profile <name> # Использовать именованный профиль (отдельный каталог состояния) --json # Вывод в формате JSON --verbose # Подробное логирование --no-color # Отключить цветной вывод ANSI --log-level debug # Установить уровень логирования (debug | info | warn | error)
OpenClaw обрабатывает переменные окружения в следующем порядке; приоритет отдаётся более ранним источникам. После установки переменной более поздние источники её не переопределяют:
Окружение процесса (переменные, уже имеющиеся в оболочке при запуске шлюза)
.env в текущем рабочем каталоге (если присутствует при запуске шлюза)
~/.openclaw/.env (глобальный резервный вариант)
env.vars в файле openclaw.json (встроенные переменные конфигурации, не переопределяющие параметры)
Блок env.vars в конфигурационном файле предназначен для установки значений по умолчанию, которые не переопределяют уже имеющиеся в среде параметры. Используйте его для неконфиденциальных значений. Для учётных данных используйте ~/.openclaw/.env или переменные окружения процесса.
# Пути конфигурации OPENCLAW_HOME=~/.openclaw # Базовый каталог OPENCLAW_CONFIG_PATH=/path/to/openclaw.json # Переопределение расположения конфигурационного файла # Логирование OPENCLAW_LOG_LEVEL=debug # debug | info | warn | error OPENCLAW_LOG_FORMAT=json # для структурированного вывода логов # API-ключи моделей (используются через ${VAR} в конфигурации) ANTHROPIC_API_KEY=sk-ant-... OPENAI_API_KEY=sk-... OPENROUTER_API_KEY=sk-or-... # Шлюз OPENCLAW_GATEWAY_TOKEN=your-token # Переопределяет gateway.auth.token в конфигурации
Любое строковое значение в openclaw.json может ссылаться на переменные окружения через ${VAR_NAME}. Подстановка выполняется при запуске шлюза. Чтобы использовать литеральный символ доллара, экранируйте его: $${NOT_A_VAR}.
models: { providers: { anthropic: { apiKey: "${ANTHROPIC_API_KEY}", }, }, } channels: { telegram: { botToken: "${TELEGRAM_BOT_TOKEN}", }, }
Для наиболее безопасной работы с учётными данными используйте систему SecretRef, а не переменные окружения напрямую. Инструкции по использованию секретов Docker, HashiCorp Vault и 1Password из конфигурации см. в руководстве по управлению секретами.
Параметр env.shellEnv.enabled: true запускает вашу login-оболочку и импортирует из неё окружение. Это удобно, если у вас есть API-ключи, заданные в профиле оболочки (~/.bashrc, ~/.zshrc), которые вы хотите, чтобы OpenClaw подхватил без дублирования в ~/.openclaw/.env. Если запуск вашей оболочки медленный или ресурсоёмкий, задайте значение env.shellEnv.timeoutMs, чтобы ограничить время ожидания импорта.
Конфигурационный файл ~/.openclaw/openclaw.json содержит как инфраструктурную конфигурацию (безопасную для контроля версий), так и учётные данные (небезопасные для коммита). Самый простой подход: используйте в контроле версий очищенный шаблон, в котором все конфиденциальные значения заменены ссылками на переменные окружения, и храните фактические учётные данные только в ~/.openclaw/.env или в менеджере секретов.
Минимальный набор параметров .gitignore для репозитория конфигурации OpenClaw:
# Учётные данные .env *.env credentials/ # Сессии (большие, эфемерные, содержат приватный контекст переписки) sessions/ *.jsonl # Файлы памяти (персональный контент) workspace/memory/ workspace/MEMORY.md # Состояние cron-заданий (рантайм-данные, не конфигурация) cron/runs/ # Рантайм-состояние *.lock tmp/
Что можно безопасно добавить в контроль версий: структуру openclaw.json с использованием ${VAR} вместо фактических ключей, файлы рабочей области AGENTS.md и SOUL.md (если не содержат персональной информации), а также определения cron-заданий в cron/jobs.json.
Добавьте truffleHog или gitleaks в качестве pre-commit хука, чтобы перехватывать учётные данные, случайно добавленные в файлы конфигурации до коммита. Быстрая ручная проверка:
# Поиск утечек ключей перед коммитом grep -rE "sk-ant-|sk-or-|sk-[A-Za-z0-9]{40}" ~/.openclaw/openclaw.json # Не должно найти ничего; все ключи должны быть в формате ${VAR}
В каждой версии OpenClaw могут добавляться или переименовываться ключи конфигурации, а схема может меняться между релизами. После обновления всегда запускайте openclaw doctor --fix для удаления устаревших ключей и добавления необходимых новых полей. Невыполнение этого — самая распространённая причина ситуации, когда настройки выглядят сконфигурированными, но не вступают в силу: старые ключи, тихо удалённые из схемы, игнорируются вместо того чтобы вызвать ошибку, — шлюз запускается, но настройка ничего не делает.
Благодарим за внимание. Ваш Cloud4Y. Читайте нас здесь или в Telegram-канале!
Источник


