Gateway
Проверки работоспособности
Краткое руководство по проверке подключения каналов без догадок.
Быстрые проверки
openclaw status— локальная сводка: доступность/режим Gateway, подсказка об обновлении, возраст авторизации подключённого канала, сеансы и недавняя активность.openclaw status --all— полная локальная диагностика (только чтение, цветной вывод, можно безопасно вставлять при отладке).openclaw status --deep— запрашивает у работающего Gateway оперативную проверку (healthсprobe:true), включая проверки каналов для отдельных учётных записей, если они поддерживаются.openclaw status --usage— показывает снимки использования и квот поставщиков моделей.openclaw health— запрашивает у работающего Gateway снимок состояния работоспособности (только через WS; CLI не открывает прямые сокеты каналов).openclaw health --verbose(псевдоним--debug) — принудительно выполняет оперативную проверку работоспособности и выводит сведения о подключении к Gateway.openclaw health --json— выводит машиночитаемый снимок состояния работоспособности.- Отправьте
/statusкак отдельную команду чата в любом канале, чтобы получить ответ о состоянии без вызова агента. - Журналы: отслеживайте
/tmp/openclaw/openclaw-*.logи фильтруйте поweb-heartbeat,web-reconnect,web-auto-reply,web-inbound.
Для Discord и других поставщиков чатов строки сеансов не отражают активность сокета.
openclaw sessions, Gateway sessions.list и инструмент агента sessions_list
читают сохранённое состояние беседы. Поставщик может переподключиться и показать
работоспособное состояние канала до появления новой строки сеанса. Для оперативной
проверки подключения используйте приведённые выше команды состояния канала и
работоспособности.
Углублённая диагностика
- Учётные данные на диске:
ls -l ~/.openclaw/credentials/whatsapp/<accountId>/creds.json(время изменения должно быть недавним). - Хранилище сеансов:
ls -l ~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite. Количество и недавние получатели отображаются черезstatus. - Повторное подключение: используйте
openclaw channels logout && openclaw channels login --verbose, когда в журналах появляются коды состояния 409-515 илиloggedOut. После сопряжения процесс входа по QR-коду автоматически перезапускается один раз при коде состояния 515. - Диагностика включена по умолчанию (
diagnostics.enabled: falseотключает её). События памяти записывают объёмы RSS/кучи в байтах, а также нагрузку из-за превышения порогов или роста; критическая нехватка памяти регистрируется через журнал Gateway и, если заданоdiagnostics.memoryPressureSnapshot: true, также приводит к записи пакета данных о стабильности перед OOM (статистика кучи V8, счётчики Linux cgroup при наличии, количество активных ресурсов, крупнейшие файлы сеансов/транскриптов с отредактированными относительными путями). Предупреждения о работоспособности записывают задержку/утилизацию цикла событий, соотношение использования ядер ЦП и количество активных/ожидающих/поставленных в очередь сеансов, когда процесс работает, но перегружен. События превышения размера полезной нагрузки записывают, что было отклонено/усечено/разбито на части, а также размеры и ограничения, но никогда не записывают текст сообщений, содержимое вложений, тела Webhook, необработанные тела запросов/ответов, токены, файлы cookie или секретные значения. - Тот же Heartbeat управляет ограниченным регистратором стабильности:
openclaw gateway stability(или RPC Gatewaydiagnostics.stability). При фатальном завершении Gateway, истечении времени ожидания завершения работы, сбое запуска после перезапуска и (если заданоdiagnostics.memoryPressureSnapshot: true) критической нехватке памяти последний снимок сохраняется в~/.openclaw/logs/stability/. Просмотрите новейший пакет с помощьюopenclaw gateway stability --bundle latest. - Для отчётов об ошибках выполните
openclaw gateway diagnostics exportи приложите созданный ZIP-архив: сводку Markdown, новейший пакет данных о стабильности, очищенные метаданные журналов, очищенные снимки состояния/работоспособности Gateway и структуру конфигурации. Текст чатов, тела Webhook, вывод инструментов, учётные данные, файлы cookie, идентификаторы учётных записей/сообщений и секретные значения исключаются или редактируются. См. Экспорт диагностики.
Конфигурация монитора работоспособности
gateway.channelHealthCheckMinutes: частота, с которой Gateway проверяет работоспособность каналов. По умолчанию:5. Установите0, чтобы глобально отключить перезапуски монитором работоспособности.gateway.channelStaleEventThresholdMinutes: время, в течение которого подключённый канал может оставаться неактивным, прежде чем монитор работоспособности сочтёт его устаревшим и перезапустит. По умолчанию:30. Это значение должно быть больше или равноgateway.channelHealthCheckMinutes.gateway.channelMaxRestartsPerHour: скользящее ограничение на количество перезапусков монитором работоспособности для каждого канала/учётной записи за один час. По умолчанию:10.channels.<provider>.healthMonitor.enabled: отключает перезапуски монитором работоспособности для конкретного канала, оставляя глобальный мониторинг включённым.channels.<provider>.accounts.<accountId>.healthMonitor.enabled: переопределение для нескольких учётных записей, имеющее приоритет над настройкой уровня канала.- Эти переопределения для отдельных каналов применяются к встроенным каналам, которые сейчас их предоставляют: Discord, Google Chat, iMessage, IRC, Microsoft Teams, Signal, Slack, Telegram и WhatsApp.
Мониторинг времени бесперебойной работы
Внешние службы мониторинга времени бесперебойной работы должны использовать специальную конечную точку /health, а не /v1/chat/completions.
- ИСПОЛЬЗУЙТЕ:
GET /health— мгновенный ответ, сеанс не создаётся, LLM не вызывается, возвращается{"ok":true,"status":"live"} - НЕ ИСПОЛЬЗУЙТЕ:
/v1/chat/completionsдля проверок работоспособности — каждый запрос создаёт полноценный сеанс агента со снимком навыков, сборкой контекста и вызовами LLM
Если заголовок x-openclaw-session-key или поле user не переданы, /v1/chat/completions создаёт новый случайный сеанс для каждого запроса. Службы мониторинга, отправляющие запрос каждые 15 минут, создают ~96 сеансов/день, каждый из которых занимает 4-22KB. Со временем это раздувает хранилище сеансов и может привести к переполнению контекстного окна.
Примеры настройки служб мониторинга
- BetterStack: задайте URL проверки работоспособности:
https://<your-gateway-host>:<port>/health - UptimeRobot: добавьте новый монитор HTTP с URL
https://<your-gateway-host>:<port>/health - Общий вариант: любой HTTP GET-запрос к
/healthвозвращает 200 с{"ok":true}, когда Gateway работоспособен
При сбое
logged outили код состояния 409-515 → повторно подключите с помощьюopenclaw channels logout, затемopenclaw channels login.- Gateway недоступен → запустите его:
openclaw gateway --port 18789(если порт занят, используйте--force). - Нет входящих сообщений → убедитесь, что подключённый телефон находится в сети, а отправитель разрешён (
channels.whatsapp.allowFrom); для групповых чатов убедитесь, что список разрешённых отправителей и правила упоминаний соответствуют требованиям (channels.whatsapp.groups,agents.list[].groupChat.mentionPatterns).
Специальная команда «health»
openclaw health запрашивает у работающего Gateway снимок состояния его работоспособности (CLI
не открывает прямые сокеты каналов). По умолчанию команда возвращает свежий кэшированный
снимок Gateway, а Gateway обновляет этот кэш в фоновом режиме; --verbose вместо этого
принудительно выполняет оперативную проверку. Команда сообщает возраст подключённых учётных
данных/авторизации при наличии, сводки проверок для каждого канала, сводку хранилища сеансов
и длительность проверки. Она завершается с ненулевым кодом, если Gateway недоступен либо
проверка завершается с ошибкой или по тайм-ауту.
Параметры:
--json: машиночитаемый вывод JSON--timeout <ms>: переопределяет стандартный тайм-аут проверки 10s--verbose: принудительно выполняет оперативную проверку и выводит сведения о подключении к Gateway--debug: псевдоним для--verbose
Снимок состояния работоспособности включает: ok (логическое значение), ts (временная метка), durationMs (время проверки), состояние каждого канала, доступность агента и сводку хранилища сеансов.