Когда в OpenClaw 2026 канал выглядит подключённым, probe зелёный, а Telegram и Slack молчат: переформулируем симптом как проверяемую машину состояний
Зелёный индикатор «онлайн» и прошедший synthetic check означают, что шлюз зарегистрировал канал и ответил на узкий health-тест. Это не гарантирует, что пользовательское сообщение вошло в рабочий цикл, дошло до корректного обработчика plugins.entries и превратилось в вызов модели с ответом. Паттерн «control plane в порядке, чат тихий» мучителен, пока вы не требуете именованных артефактов на каждом скачке — в духе многоуровневой дисциплины из рунбука демона шлюза, launchd и systemd и материала о каналах Telegram и WhatsApp в ветке 4.x.
Болевая точка 1: зелёный probe воспринимается как доказательство, что модель уже отработала. По смыслу зонды ближе к reachability и регистрации, чем к полному проходу с политикой инструментов. Могут отсутствовать строки запроса к модели, пустые трассы tool или причины завершения — и при этом внешний индикатор остаётся зелёным. В тикетах фиксируйте и время probe, и первую строку логов модели: разрыв часто «ниже» того, что вы смотрите в UI, то есть в admission, прежде чем вы крутите формулировки бота.
Болевая точка 2: обновляют channels.*.enabled и забывают plugins.entries.*.enabled при миграции. «Двойной тумблер» разделяет идеи «подвесить канал» и «эта запись плагина может принимать работу». Полумигрированные деревья оставляют вебхуки «живыми на вид», а шлюз на уровне политики не пускает события — это копирует сценарий внешнего сбоя. Для каждого класса мессенджеров прикрепляйте два фрагмента конфигурации в одной правке и снова прочитайте ловушки миграции в статье про 4.x, чтобы ночной деплой не обучал одному и тому же багу.
Болевая точка 3: ~/.openclaw/credentials/ существует, но пуст, а команда уверена, что секреты на месте. Скрипты установки и mkdir -p рисуют правдоподобный путь без файлов, в то время как настоящий токен лежит у другого пользователя. Учётная запись, которая реально поднимает шлюз, должна владеть тем деревом ~/.openclaw, которое вы аудируете; plist и unit-файлы не должны подсовывать «чужой» HOME от CI. Постура безопасности в материале про релиз 2026.4.14, audit, вход шлюза и сессии относит такой класс ошибок к первичным рискам, а не к сноске в конце страницы.
Болевая точка 4: агрегатор в стиле OpenRouter плюс неверные префиксы id модели дают тихие сбои маршрутизации. Пространства имён вроде openai/ или anthropic/ выбирают адаптеры и тарифы. Один лишний символ может посадить вас на отключённый маршрут, пока в логах «таймаут». Держите одну таблицу id из системы контроля версий и прикрепляйте её к тикетам «тишина в ответе», особенно если в одном процессе смешаны прямые и агрегирующие пути и вы стабилизируете вход и маршрутизацию после окна обновлений.
Болевая точка 5: 429 и rate limits ощущаются как мёртвый канал. Процесс шлюза может быть здоров, пока уровень модели душит completion или ключ упирается в лимит скорости. Логируйте 429 вместе с метаданными retry, вводите бэк-офф, разделяйте ключи и снижайте веер инструментов. Не тратьте сутки на «починку Telegram», если узким местом оказался model tier. Аналогичный сценарий «тишина при перегрузе» встречается у stdio-мостов и лимитов HTTP, о чём — в гайде по утечкам MCP stdio, транспорту и перезапуску шлюза.
Болевая точка 6: вскрывают pairing и версию или TLS, WebSocket и обратный прокси раньше, чем подтверждают L2 и L3. Оба направления важны, но не заменяют факта, что событие прошло plugins.entries и породило HTTP к модели. Официальная лестница: процесс, регистрация канала, запись плагина, вызов модели — в том числе 429 и здравый смысл в префиксах, — затем тяжёлая «краевая» работа, в том же духе, в каком openclaw doctor направляет расследование вместе с бейзлайнами демона и linger.
Карта слоёв OpenClaw 2026 при «молчащем» канале: L0 живой шлюз, L1 регистрация, L2 plugins.entries, L3 HTTP модели, 429 и префиксы id
Читайте четыре уровня, иначе вы «пропустите этаж» и будете гадать, почему лифт не приехал.
L0: процесс шлюза, идентичность пользователя, слушатели. Подтвердите демон, политику рестартов и фактический HOME. Процесс может вести себя дёргано и при этом изредка выигрывать probe. Если трафик идёт через Nginx или Caddy, согласуйте схему, путь, WebSocket upgrade и allowed origins с приложением — по производственному гайду TLS и WebSocket. На стабильном Mac выровняйте HOME в launchd с владельцем credentials, как в материале launchd, systemd, linger, чтобы сон ноутбука и смена сессии не выглядели как «случайная» тишина в Telegram.
L1: регистрация канала, openclaw channels status и --probe. Хорошие зонды — недостаточное условие: они говорят лишь, что сейчас канал может выполнить класс проверок, а не что сквозной чат-конвейер разморожен. Следите за длительностью probe, флапами и шумом TLS. Если падает всё сразу — думайте о общих учётных данных приложения; если молчит один мессенджер — сравните mtime файлов и секреты по каналам до того, как обвините модель.
L2: plugins.entries и бит plugins.entries.*.enabled. Это типичный «призрак». При channels.*.enabled true ложь на уровне entry всё ещё может сбрасывать события как политику, а не как жирную строку об ошибке. Назовите id записи, которую ожидаете для типа события в Telegram или Slack, и поместите оба тумблера в тикет, ссылаясь на заметки 4.x, если схема прыгала между минорными.
L3: HTTP к модели, префиксы id в духе OpenRouter и смысл 429. Когда admission правдоподобен, решает линия к провайдеру. Нужны id модели, провайдер, грубая картина потребления, причина завершения и явные строки 429 с подсказками retry, если они есть. Неверные префиксы на агрегирующих маршрутах дают медленные или размытые сбои адаптера, поэтому с каждым кейсом «нет ответа» отправляйте openclaw models status (или задокументированный аналог). Throttling на tier моделей по-прежнему выглядит как «пустой чат», пока бэк-офф не доносится до пользователя. Если вы смешиваете MCP и stdio, разделяйте «модель душат» и «труба инструментов забита» с помощью истории перезапуска и transport limits, потому что снаружи оба варианта похожи на мёртвый канал, но чинятся по-разному.
openclaw doctor сжимает рутинные проверки дрейфа и должен лежать в той же папке инцидента, что и чек-лист аудита, entrypoint и маршрутизации. Лестница бесполезна без письменных квитанций; краткий ярлык слоя в тикете — то, чему завтрашняя смена доверит ваш откат.
Когда вы делитесь выводами в стиле официального Troubleshooting, называйте первый слой, на котором не сошлось доказательство, а не последний эксперимент. Если сломан L2, так и скажите, прежде чем вставлять длинные логи прокси: иначе читатели сразу рисуют «сеть виновата». Тот же принцип при вопросах к вендору: им неинтересны зелёные OAuth, пока вы не покажете, что доставка дошла до процесса и исчезла на plugins.entries или на HTTP вызове модели. Ясность — уважение к людям в соседних часовых поясах и к вашему будущему «я» через квартал, когда никто не вспомнит контекст ночного инцидента.
Матрица: зелёный probe и ноль ответов в чате — что снять первым, вероятный корень, следующий шаг без сжигания суток
| Что видно | Первая улика | Вероятный корень | Следующий шаг |
|---|---|---|---|
| Probe зелёный, в логах модели пусто | Двойной тумблер, id entry, последний diff | plugins.entries выключен или не привязан к типу события | Выложить channels.*.enabled и plugins.entries.*.enabled вместе |
| Первая строка ответа есть, дальше тишина | Серии 429, ротация ключа, конкурентность | Квота, velocity limits, насыщение адаптера | Бэк-офф, разделение ключей, снижение параллельных tool, сверка префиксов |
| Тишина сразу после обновления | Строки сборок CLI/шлюза, журнал миграции | Skew версий, полумёрж openclaw.json | Пройти лестницу pairing до тюнинга модели |
| Один мессенджер молчит, остальные живы | mtime учётных, режим, владелец | Неверный HOME или пустой cred-каталог для этого приложения | Перевыпуск под служебным пользователем, нормализовать права |
| Ошибки адаптера / unknown model | Точная строка id, ожидаемый namespace | Лишний или пропавший префикс в стиле OpenRouter | Одна каноничная таблица id, повтор с openclaw models status |
| Долгие зависания, потом срыв | Коды WebSocket, тайминги прокси | TLS, upgrade, allowedOrigins на периметре | Пройти Nginx и Caddy раньше, чем переписывать ядро |
Комментированные команды для рунбука: channels status, --probe, models status, doctor
Подкоманды меняются между релизами; контракт — пакет доказательств, а не «удачная магическая строка». Храните четыре артефакта: бинарная идентичность, правда по каналам, инвентарь моделей и вывод doctor, каждый раз когда мессенджер тихий при зелёной оболочке.
# 0) Закрепите сборки (флаги различаются; смотрите help установленного бинарника)
# openclaw --version
# openclaw gateway --version # или поддерживаемая пара в вашем пакете
# 1) Поверхности: сырой status и синтетическая доступность
# openclaw channels status
# openclaw channels status --probe # если --probe есть в вашей сборке
# # (зелёный probe не доказывает модель или plugins.entries)
# 2) Маршрутизация моделей: id, провайдеры, ошибки в одном проходе
# openclaw models status
# # (сверяйте агрегирующие префиксы в стиле OpenRouter)
# 3) Целостность процесса после прав (права, entrypoint, дрейф)
# openclaw doctor
# 4) Опционально: контекст launchd, если HOME подозрительно «чужой»
# log show --last 1h --predicate 'process == "openclaw"' # пример
Как пройти лестницу в официальном духе troubleshooting по порядку, не смешивая уровни в одной правке
Порядок существует ради отката. Если вы одним коммитом трогаете TLS, префиксы и плагиновые записи, коллега увидит шум, а не причину.
Шаг 1: зафиксируйте границы. Запишите учётку, HOME, активный openclaw.json (или эквивалент), хэш или mtime. Не крутите несвязанные настройки прокси, пока нет снимка.
Шаг 2: из блока кода запустите openclaw channels status и probe, который рекомендует ваша версия; вставьте оба вывода. Вы ищете провал до admission, а не празднуете зелёный цвет.
Шаг 3: покажите оба переключателя для Telegram и Slack. channels.*.enabled и plugins.entries.*.enabled в одном артефакте. Один отсутствующий бит — незавершённый тест.
Шаг 4: для той же учётки выведите ~/.openclaw/credentials с количеством файлов и правами; явно отметьте пустой каталог. Создайте или ротируйте секреты под настоящим сервисным пользователем с нужными согласованиями.
Шаг 5: сверьте каждый активный id модели с префиксом, который задуман для OpenRouter или прямого провайдера. Уберите разговорные псевдонимы; одна таблица в репозитории.
Шаг 6: если в логах throttling, сохраняйте 429 вместе с retry-данными, добавьте бэк-офф, разделите staging и production ключи и уменьшите одновременные вызовы инструментов, прежде чем тянуть read timeout на клиенте.
Шаг 7: когда L0–L3 выглядят чистыми, а чат мёртв, только тогда снова проверьте обратный прокси, pairing и согласование CLI, и лимиты MCP/HTTP, если инструменты идут через мост. В change record кратко укажите: «виновен слой X», приложите свежий openclaw doctor и убедитесь, что правки по маршрутизации и security не внесли новую ошибку, а агенты запуска по-прежнему смотрят в тот же HOME после перезагрузки.
FAQ, границы честности и зачем арендовать удалённый Mac у SFTPMAC рядом с доставкой артефактов
Почему openclaw channels status --probe зелёный, а в Telegram и Slack пусто?
Зонды подтверждают регистрацию и узкий класс health-работ. Они не показывают, что полноценное сообщение было принято, что plugins.entries.*.enabled пустил его, и что tier модели вернул completion вместо 429. Зелёный индикатор плюс пустые model-логи чаще указывают на L2 admission или L3 throttling, а не на «готовую» интеграцию end-to-end.
Где чаще всего забывают вторую половину двойного тумблера?
Во время merge: в одной ветке переключили channels.*.enabled, а plugins.entries.*.enabled остался старым, или наоборот. Процесс канала при этом всё ещё может стартовать, UI ощущается «живым», планировщик не доводит запись. Держите оба булевых в одном тикете, назовите id entry, отвечающий за тип события мессенджера, и пользуйтесь статьёй 4.x для контекста схемы.
Уберёт ли сам по себе remote Mac бурю 429 и опечатки в префиксах?
Нет: квоты, биллинг и опечатки в строке модели — это конфиг и ключи. Да: выделенный всегда включённый Mac с одной сервисной идентичностью сокращает часы, которые уходят на сон ноутбука, дрожащий VPN и раздельные деревья credentials. Лимиты бизнес-остаются лимитами бизнеса.
Ценность: лестница превращает «вроде норм» в проверяемые шаги: либо есть строки по модели, либо нет; либо видны оба тумблера, либо вы гадаете; либо в логе есть 429, либо вы гоняетесь за призраками. Так сокращается путь от зелёной иконки до ответа, который видит пользователь.
Ограничение: рунбук не поднимет API-квоты, не исправит namespace у агрегатора и не оживит забаненный токен. Он показывает, какой слой лжёт, чтобы руководство слышало факты о контрактах и головной комнате, а не драму про вендора мессенджера.
SFTPMAC и хостинг удалённого Mac: командам, для которых «продакшен-рядом» шлюз на личных ноутбуках перестаёт выдерживать дисциплину, помогает провайдер, который соединяет постоянно включённое железо Mac, launchd или управляемые launch-профили, удержание логов и доставку артефактов по SFTP. Стабильный HOME для ~/.openclaw, прогнозируемая сеть и хост, куда падает сборка, укрепляют сценарий, когда в три часа ночи чат внезапно глохнет: меньше лишнего вокруг секретов и ingress — быстрее доказывается, баг в plugins.entries, в 429 или в префиксе id. Сервис не отменяет требовательности к конфигу, но снижает «рулетку среды», и та же лестница сработает в следующий вторник так же, как сегодня — та самая повторяемость, из-за которой ассистенты остаются предсказуемыми, пока OpenClaw и поставщики моделей в 2026 году продолжают меняться.
Перед следующим окном обновлений заархивируйте зелёный пакет тикета: версии, выводы channels, models status, doctor и оба переключателя.
