Gateway

Перевірки працездатності

Короткий посібник для перевірки підключення каналів без здогадок.

Швидкі перевірки

  • openclaw status — локальний підсумок: доступність/режим Gateway, підказка щодо оновлення, вік автентифікації підключеного каналу, сеанси + нещодавня активність.
  • openclaw status --all — повна локальна діагностика (лише читання, кольори, безпечно вставляти для налагодження).
  • openclaw status --deep — запитує запущений Gateway про живу перевірку стану (health з probe:true), зокрема поканальні перевірки для кожного облікового запису, коли це підтримується.
  • openclaw health — запитує запущений Gateway про знімок його стану (лише WS; без прямих сокетів каналів із CLI).
  • openclaw health --verbose — примусово виконує живу перевірку стану й виводить деталі з’єднання з Gateway.
  • openclaw health --json — машинозчитуваний вивід знімка стану.
  • Надішліть /status як окреме повідомлення в WhatsApp/WebChat, щоб отримати відповідь зі статусом без виклику агента.
  • Журнали: відстежуйте /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 (mtime має бути нещодавнім).
  • Сховище сеансів: ls -l ~/.openclaw/agents/<agentId>/sessions/sessions.json (шлях можна перевизначити в конфігурації). Кількість і нещодавні одержувачі показуються через status.
  • Потік повторного прив’язування: openclaw channels logout && openclaw channels login --verbose, коли в журналах з’являються коди стану 409–515 або loggedOut. (Примітка: потік входу через QR автоматично перезапускається один раз для стану 515 після спарювання.)
  • Діагностику ввімкнено за замовчуванням. Gateway записує операційні факти, якщо не встановлено diagnostics.enabled: false. Події пам’яті записують кількість байтів RSS/heap, тиск порогових значень і тиск зростання. Попередження живості записують затримку циклу подій, використання циклу подій, співвідношення CPU-core та кількість активних/очікуваних/поставлених у чергу сеансів, коли процес працює, але перевантажений. Події завеликого навантаження записують, що було відхилено, обрізано або розбито на частини, а також розміри й обмеження, коли вони доступні. Вони не записують текст повідомлення, вміст вкладень, тіло Webhook, сире тіло запиту або відповіді, токени, cookie чи секретні значення. Той самий Heartbeat запускає обмежений записувач стабільності, доступний через openclaw gateway stability або Gateway RPC diagnostics.stability. Фатальні виходи Gateway, тайм-аути завершення роботи та помилки запуску після перезапуску зберігають найновіший знімок записувача в ~/.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, Microsoft Teams, Signal, Slack, Telegram і WhatsApp.

Коли щось не працює

  • 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 оновлює цей кеш у фоновому режимі. openclaw health --verbose натомість примусово виконує живу перевірку. Команда повідомляє про підключені облікові дані/вік автентифікації, коли доступно, підсумки поканальних перевірок, підсумок сховища сеансів і тривалість перевірки. Вона завершується з ненульовим кодом, якщо Gateway недоступний або перевірка завершується помилкою/тайм-аутом.

Параметри:

  • --json: машинозчитуваний вивід JSON
  • --timeout <ms>: перевизначає стандартний 10-секундний тайм-аут перевірки
  • --verbose: примусово виконує живу перевірку й виводить деталі з’єднання з Gateway
  • --debug: псевдонім для --verbose

Знімок стану містить: ok (логічне значення), ts (часова позначка), durationMs (час перевірки), поканальний стан, доступність агента та підсумок сховища сеансів.

Пов’язане