1. Разбор боли: «подключено» ≠ здорово
(1) Канал онлайн и здоровье шлюза: WebSocket может жить, пока процесс завис, маршрутизация модели падает или инструменты тихо таймаутятся—пользователь видит пустоту. (2) CLI и launchd/systemd читают разные файлы: правки openclaw.json в терминале не попадают в окружение демона. (3) Обновления ужесточают умолчания: gateway.bind, gateway.auth, проверка удалённых URL; состояние pairing может обнулиться—снова devices list / pairing list.
В хобби хватает перезагрузки; в поддержке и ops-автоматизации тишина — это SLA-инцидент. Записать лестницу в runbook дешевле, чем писать развёрнутый постмортем. Сначала лестница, потом конфиги — самая дешёвая SRE-дисциплина в 2026 году.
2. Диагностическая лестница: что доказывает каждая команда
| Команда | Что показывает | Типичные красные сигналы |
|---|---|---|
openclaw status |
Режим по мнению CLI, локально/удалённо, грубое здоровье | Пишет local, а сервис удалённо; healthy=false без ясного кода |
openclaw gateway status |
Процесс, адреса прослушивания, причина последнего рестарта | Коллизии портов, crash loop, права на bind |
openclaw logs --follow (или путь из доков) |
Живые ошибки каналов, моделей, инструментов, сети | Повторяющиеся 401/403, DNS-зависания, парсинг схем |
openclaw doctor |
Самопроверка конфигов и зависимостей: Node, пути, канонический файл | Несколько JSON, нет секретов, PATH ≠ демон |
openclaw channels status --probe |
Проба по каналам: связь, права, колбэки | UI «подключено», проба падает; relay/расширение отсутствует |
3. Пять шагов: от тишины к закрываемому тикету
- Зафиксировать таймлайн: версия обновления, последний
gateway restart, смена токенов/webhook на стороне канала. - Выполнить пять команд по порядку: без пропусков; пока верхний слой красный, нижний не крутим.
- Убрать дрейф: если doctor показывает сервис ≠ CLI, бэкап plist/unit, затем документированные
gateway install --forceиgateway restart. - Тройка после обновления:
gateway.auth.mode,gateway.bind,gateway.remote.url; pending вdevices list/pairing list. - Описать тикет: класс причины (auth, сеть, инструменты, субагент), воспроизведение, точка отката—не только «перезапустили, ок».
4. Цитируемые пороги и матрица тишины
Цифры для дежурных инструкций:
- Три входящих без ответа и нет следов ingress в логах — сначала webhook/callback URL и исходящий фаервол, не модель.
- Всплеск OAuth/
401в первые 15 минут после обновления — завершить pairing и обновление токена до крутки модели. - Удалённый шлюз: рассинхрон часов > 5 минут ломает короткие подписи—сначала NTP.
| Симптом | Приоритетное действие |
|---|---|
| Каналы подключены, проба падает | Проверить relay, профили браузера, канальные гайды |
| Тишина после sessions_spawn | Свериться с разбором подагентов по правам и tools.profile |
| Воспроизводится только на удалённом Mac | Выровнять пользователя launchd, WorkingDirectory, связку ключей, env с интерактивной оболочкой |
| doctor видит несколько openclaw.json | Один источник истины; запретить дубли CI и ручных деревьев |
5. Шлюз на удалённом Mac: четыре дополнительных слоя
Арендованные Mac часто без GUI-сессии: граница LaunchAgent/LaunchDaemon острее. (1) Согласовать UserName/WorkingDirectory plist с кэшем моделей. (2) Нужен GUI-sidecar? Рассмотреть интерактивную сессию вместо чистого демона. (3) Сон и питание бывают и в colo; см. раздел питания в матрице systemd/launchd. (4) Ноутбук + удалённая коробка: одна первичная роль шлюза.
Отдельная read-only ops-учётка для статуса/логов снижает случайный дрейф env. Через SSH-bastion уточнить, куда смотрит gateway.remote.url—внутрь или публичный reverse-proxy; TLS-терминация и WebSocket отличаются; большой буфер маскируется таймаутами пробы.
6. FAQ
В: Пропустить логи и крутить JSON? Плохая идея—второй дрейф без доказательств. В: gateway install --force стирает данные? Сначала бэкап unit/plist/json; чинит устаревшую установку сервиса, не всё. В: OpenClaw и Ollama молчат вместе? Разделить стеки: doctor отдельно, процесс Ollama отдельно.
В: Локально ок, прод молчит? Часто DNS колбэка и цепочка TLS: dev с туннелем/самоподписью, прод с другим публичным входом без обновления консоли канала. В: Корпоративный прокси? Инспекция WebSocket даёт рваные обрывы; минимальное воспроизведение на одном канале и модели.
7. Углубление: почему runbooks побеждают горы туториалов в 2026
Адаптеры каналов и вендоры моделей ускоряются; личные заметки гниют за дни. Одна страница с пятью командами и ожидаемыми фрагментами выполнима под стрессом. Ритуал 15 минут повторного pairing после крупного апдейта ловит больше регрессий, чем устные передачи в Slack.
Снижать bus factor: прикладывать скриншоты здорового вывода. Когда медиа и инференс делят Mac, тишина может быть голодом event loop—doctor зелёный, очереди растут; коррелировать системные метрики и метки времени в логах.
Обновления инструментов поджимают tools.profile: модель думает, пользователь не видит ответа. Фиксировать дельты профилей в release notes; staging с plist, близкими к production, и полной лестницей до переключения. Онбординг: гайд по шлюзу и логам; типичные сбои: устранение ошибок.
Шаблоны инцидентов должны требовать вывод лестницы по порядку. Отклонять изменения без before/after openclaw status экономит ночные дежурства. Безопасность: случайно открытые админ-порты сканируются; вешать управление на loopback, TLS завершать на контролируемом прокси.
Мультирегион: TTL DNS, SAN сертификатов, блокировки хранилища. Короткие TTL на миграциях, проверка TLS по регионам—быстрее закрывать гипотезы «тихого» пути данных.
8. Финал: владеть шлюзом, уважать цену стабильности
(1) Ограничения: мульти-канал, -версия, -хост раздувают поверхность; обновления и pairing — главные инъекторы сбоев. (2) Удалённый Mac: Apple Silicon, медиа и автоматизация рядом—удобно для шлюза 24/7 и sidecar-LLM. (3) MACGPU: нужен фиксированный образ удалённого Mac без домашней стойки — смотрите публичные тарифы и помощь; CTA ниже в том же духе.
После крупного скачка держите 24-часовое окно сравнения: не удаляйте старый бинарь/контейнер, пока новый кластер не прошёл сутки проб и пиков. Откат за минуты вместо археологии чатов.
Празднуйте ровные графики и зелёные пробы. Адреналин — для демо; пейджер должен быть редкостью, когда лестница — мышечная память.