Gateway

Экспорт диагностики

OpenClaw может создать локальный ZIP-архив диагностики для отчетов об ошибках. Он объединяет очищенные статус Gateway, состояние работоспособности, журналы, форму конфигурации и недавние события стабильности без полезной нагрузки.

Относитесь к диагностическим пакетам как к секретам, пока не проверите их. Они спроектированы так, чтобы исключать или редактировать полезные нагрузки и учетные данные, но все равно обобщают локальные журналы Gateway и состояние среды выполнения на уровне хоста.

Быстрый старт

bash
openclaw gateway diagnostics export

Команда выводит путь к записанному ZIP-архиву. Чтобы выбрать путь:

bash
openclaw gateway diagnostics export --output openclaw-diagnostics.zip

Для автоматизации:

bash
openclaw gateway diagnostics export --json

Команда чата

Владельцы могут использовать /diagnostics [note] в чате, чтобы запросить локальный экспорт Gateway. Используйте это, когда ошибка произошла в реальном разговоре и нужен один отчет для поддержки, который можно скопировать и вставить:

  1. Отправьте /diagnostics в разговоре, где вы заметили проблему. Добавьте короткую заметку, если это поможет, например /diagnostics bad tool choice.
  2. OpenClaw отправляет вступление к диагностике и запрашивает одно явное разрешение на выполнение. Разрешение запускает openclaw gateway diagnostics export --json. Не одобряйте диагностику через правило «разрешить все».
  3. После одобрения OpenClaw отвечает отчетом, который можно вставить, с локальным путем к пакету, сводкой манифеста, примечаниями о конфиденциальности и релевантными идентификаторами сеансов.

В групповых чатах владелец все еще может выполнить /diagnostics, но OpenClaw не публикует диагностические сведения обратно в общий чат. Он отправляет вступление, запросы на одобрение, результат экспорта Gateway и разбивку сеансов/потоков Codex владельцу через приватный маршрут одобрения. Группа получает только короткое уведомление о том, что диагностический поток был отправлен приватно. Если OpenClaw не может найти приватный маршрут к владельцу, команда закрывается с отказом и просит владельца запустить ее из личного сообщения.

Когда активный сеанс OpenClaw использует нативную обвязку OpenAI Codex, то же разрешение на выполнение также покрывает загрузку обратной связи OpenAI для потоков среды выполнения Codex, о которых знает OpenClaw. Эта загрузка отделена от локального ZIP-архива Gateway и появляется только для сеансов обвязки Codex. Перед одобрением запрос объясняет, что одобрение диагностики также отправит обратную связь Codex, но не перечисляет идентификаторы сеансов или потоков Codex. После одобрения ответ в чате перечисляет каналы, идентификаторы сеансов OpenClaw, идентификаторы потоков Codex и локальные команды возобновления для потоков, отправленных на серверы OpenAI. Если вы отклоните или проигнорируете одобрение, OpenClaw не запустит экспорт, не отправит обратную связь Codex и не выведет идентификаторы Codex.

Это делает обычный цикл отладки Codex коротким: заметить некорректное поведение в Telegram, Discord или другом канале, запустить /diagnostics, один раз одобрить, поделиться отчетом с поддержкой, затем локально выполнить выведенную команду codex resume <thread-id>, если вы хотите самостоятельно проверить нативный поток Codex. См. Обвязка Codex для этого процесса проверки.

Что содержит экспорт

ZIP-архив включает:

  • summary.md: человекочитаемый обзор для поддержки.
  • diagnostics.json: машиночитаемая сводка конфигурации, журналов, статуса, состояния работоспособности и данных стабильности.
  • manifest.json: метаданные экспорта и список файлов.
  • Очищенную форму конфигурации и несекретные сведения конфигурации.
  • Очищенные сводки журналов и недавние отредактированные строки журналов.
  • Снимки статуса и состояния работоспособности Gateway по мере возможности.
  • stability/latest.json: новейший сохраненный пакет стабильности, если доступен.

Экспорт полезен даже тогда, когда Gateway неисправен. Если Gateway не может ответить на запросы статуса или состояния работоспособности, локальные журналы, форма конфигурации и последний пакет стабильности все равно собираются, когда доступны.

Модель конфиденциальности

Диагностика спроектирована так, чтобы ею можно было делиться. Экспорт сохраняет операционные данные, которые помогают при отладке, такие как:

  • имена подсистем, идентификаторы Plugin, идентификаторы провайдеров, идентификаторы каналов и настроенные режимы
  • коды статуса, длительности, счетчики байтов, состояние очереди и показатели памяти
  • очищенные метаданные журналов и отредактированные операционные сообщения
  • форма конфигурации и несекретные настройки функций

Экспорт исключает или редактирует:

  • текст чата, запросы, инструкции, тела webhook и вывод инструментов
  • учетные данные, ключи API, токены, cookie и секретные значения
  • необработанные тела запросов или ответов
  • идентификаторы учетных записей, идентификаторы сообщений, необработанные идентификаторы сеансов, имена хостов и локальные имена пользователей

Когда сообщение журнала похоже на текст пользователя, чата, запроса или полезной нагрузки инструмента, экспорт сохраняет только факт, что сообщение было исключено, и количество байтов.

Регистратор стабильности

Gateway по умолчанию записывает ограниченный поток стабильности без полезной нагрузки, когда диагностика включена. Он предназначен для операционных фактов, а не для содержимого.

Тот же диагностический heartbeat записывает образцы активности, когда Gateway продолжает работать, но цикл событий Node.js или CPU выглядит перегруженным. Эти события diagnostic.liveness.warning включают задержку цикла событий, использование цикла событий, отношение к ядрам CPU, количество активных/ожидающих/поставленных в очередь сеансов, текущую фазу запуска/среды выполнения, если она известна, недавние промежутки фаз и ограниченные метки активной/очередной работы. Бездействующие образцы остаются в телеметрии на уровне info. Образцы активности становятся предупреждениями Gateway только когда работа ожидает или стоит в очереди, либо когда активная работа пересекается с устойчивой задержкой цикла событий. Кратковременные пики максимальной задержки во время в остальном исправной фоновой работы остаются в отладочных журналах. Сами по себе они не перезапускают Gateway.

Фазы запуска также испускают события diagnostic.phase.completed с настенными часами и временем CPU. Зависшие диагностики встроенного запуска помечают terminalProgressStale=true, когда последний прогресс моста выглядел терминальным, например необработанный элемент ответа или событие завершения ответа, но Gateway все еще считает встроенный запуск активным.

Проверить активный регистратор:

bash
openclaw gateway stabilityopenclaw gateway stability --type payload.largeopenclaw gateway stability --json

Проверить новейший сохраненный пакет стабильности после фатального выхода, тайм-аута завершения работы или сбоя запуска при перезапуске:

bash
openclaw gateway stability --bundle latest

Создать ZIP-архив диагностики из новейшего сохраненного пакета:

bash
openclaw gateway stability --bundle latest --export

Сохраненные пакеты находятся в ~/.openclaw/logs/stability/, когда существуют события.

Полезные параметры

bash
openclaw gateway diagnostics export \  --output openclaw-diagnostics.zip \  --log-lines 5000 \  --log-bytes 1000000
  • --output <path>: записать в указанный путь ZIP-архива.
  • --log-lines <count>: максимальное число очищенных строк журнала для включения.
  • --log-bytes <bytes>: максимальное число байтов журнала для проверки.
  • --url <url>: URL WebSocket Gateway для снимков статуса и состояния работоспособности.
  • --token <token>: токен Gateway для снимков статуса и состояния работоспособности.
  • --password <password>: пароль Gateway для снимков статуса и состояния работоспособности.
  • --timeout <ms>: тайм-аут снимков статуса и состояния работоспособности.
  • --no-stability-bundle: пропустить поиск сохраненного пакета стабильности.
  • --json: вывести машиночитаемые метаданные экспорта.

Отключение диагностики

Диагностика включена по умолчанию. Чтобы отключить регистратор стабильности и сбор диагностических событий:

json5
{  diagnostics: {    enabled: false,  },}

Отключение диагностики уменьшает детализацию отчета об ошибке. Оно не влияет на обычное ведение журналов Gateway.

Снимки критического давления памяти по умолчанию выключены. Чтобы сохранить диагностические события и также захватывать снимок стабильности перед OOM:

json5
{  diagnostics: {    memoryPressureSnapshot: true,  },}

Используйте это только на хостах, которые могут выдержать дополнительное сканирование файловой системы и запись снимка во время критического давления памяти. Обычные события давления памяти все равно записывают RSS, кучу, порог и факты роста, когда снимок выключен.

Связанные материалы

Was this useful?
On this page

On this page