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 отправит результат экспорта, запросы подтверждения и сведения о сеансах и потоках Codex владельцу в личном сообщении. Группа увидит только краткое уведомление о том, что диагностические данные были отправлены лично. Если личный маршрут к владельцу отсутствует, команда безопасно завершится с ошибкой и предложит владельцу выполнить её в личном сообщении.

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

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

Содержимое экспорта

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

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

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

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

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

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

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

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

Тот же Heartbeat также проверяет жизнеспособность, когда цикл событий или ЦП выглядит перегруженным, создавая события diagnostic.liveness.warning с задержкой цикла событий, степенью использования цикла событий, коэффициентом загрузки ядер ЦП, количеством активных, ожидающих и поставленных в очередь сеансов, текущей фазой запуска или выполнения (если она известна), недавними интервалами фаз и ограниченными метками работ. Они становятся строками журнала Gateway уровня warn, только когда работа ожидает или находится в очереди либо когда активная работа совпадает с продолжительной задержкой цикла событий; в остальных случаях они записываются на уровне debug. Пробы жизнеспособности в режиме простоя всё равно записываются как диагностические события, но сами по себе никогда не повышаются до предупреждений.

Фазы запуска создают события diagnostic.phase.completed с измерениями времени по часам и процессорного времени. Диагностика зависших встроенных запусков устанавливает отметку 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> $OPENCLAW_STATE_DIR/logs/support/openclaw-diagnostics-<timestamp>-<pid>.zip Записать по указанному пути к ZIP-файлу (или каталогу).
--log-lines <count> 5000 Максимальное количество включаемых санитизированных строк журнала.
--log-bytes <bytes> 1000000 Максимальное количество байтов журнала для проверки.
--url <url> - URL WebSocket Gateway для снимков состояния и работоспособности.
--token <token> - Токен Gateway для снимков состояния и работоспособности.
--password <password> - Пароль Gateway для снимков состояния и работоспособности.
--timeout <ms> 3000 Время ожидания снимка состояния и работоспособности.
--no-stability-bundle выкл. Пропустить поиск сохранённого архива стабильности.
--json выкл. Вывести машиночитаемые метаданные экспорта.

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

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

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

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

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

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

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

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

Was this useful?
On this page

On this page