2026 OpenClaw на стороне канала: групповой @mention, pairing и чеклист прав бота Slack/Discord (подключено, но нет ответа)
После развёртки за 5 минут и 5 шагов с портом 18789 бывает: личка отвечает, группы нет или канал зелёный, ответов нет — чаще виноваты политика IM и права бота, не модель. Дополняет heartbeat/тишину и Matrix: requireMention, pairing, минимальные Slack/Discord права, таблица симптомов, шесть шагов, параметры для runbook.
Содержание
1. Три класса проблем
В логах «обработано», у пользователя пусто — чаще политика канала. Разделите: платформа → бот и шлюз → модель.
- @mention / requireMention: без
@Botсообщение отбрасывается; личка часто без этого правила. Тестовые комнаты, белые списки. Разное поведение — переопределения по комнатам. - Pairing: без
pairing approveмодель не видит. См. укрепление продакшена для разделения политики и auth. - Slack / Discord: нет
chat:write, бот не в канале, Discord безMessage Content Intent. Webhook и Socket — разные scope. Несколько Slack workspace: правильная установка, URL событий = боевой шлюз. Зелёный виджет в админке не гарантирует доставку payload в каждом workspace — сверяйте время в Slack Event Delivery и access log шлюза.
Менять модель или переустанавливать пакеты до появления сырого входящего события часто бессмысленно: если платформа не передала сообщение боту, это не задача промпт-инженерии.
Два runbook: канал (probe, pairing, mention, OAuth scope, callback URL, область установки) и сессия/модель (models status, thinking, heartbeat, cron). Matrix ок, IM нет — почти всегда политика IM. Одно изменение за окно обслуживания, с сообщениями [OC-PROBE] до и после.
После слияния конфигов или major upgrade значения pairing часто сбрасываются — добавьте «проверить pairing list» в чеклист релиза, как для SecretRef.
2. Таблица симптомов
| Симптом | Сначала | Проверка | Низкий приоритет |
|---|---|---|---|
| Только группы молчат | requireMention | Коротко с @ | Глобальный ключ модели |
| Только новые | Pairing | pairing list | Порт 18789 |
| Всё молчит, doctor ругается | Токен | channels status --probe | CPU |
| Discord личка ок, гильдия нет | Intents, роли | Портал | Temperature |
| Slack только в тредах | Подписки | Переauth, URL | Случайность |
openclaw pairing list. Не путать с Cron.
Колонка «низкий приоритет» снижает ложные следы: при реальной блокировке 18789 обычно падают и лички; при проблеме только у новичков не начинайте с правил фаервола. Temperature меняет стиль ответа, но не доставку событий Discord — сначала intents и ACL канала.
3. Шесть шагов
Снаружи внутрь; один шаг — одна гипотеза, иначе постмортем не воспроизвести.
- Probe:
openclaw channels status --probe— зафиксировать задержку и ошибки. Рвань: таймаут reverse proxy, цепочка TLS, health check не покрывает реальный путь webhook. - Pairing:
openclaw pairing list --channel …— массовые инвайты за ночь могут заполнить pending. - Mention: переключить
requireMentionв песочнице; сравнить с @ и без. Тест с обычного пользователя, не только админа. - Doctor:
openclaw doctor; при Docker сверить checksum конфига хоста и контейнера. - Logs:
openclaw logs --followпараллельно[OC-PROBE]; grep поpolicy,mention,pairing. - Персистентность: под launchd
WorkingDirectoryи читаемыйopenclaw.jsonдолжны совпадать с SSH-сессией — иначе «вручную ок, демон старый», см. launchd и PATH.
4. Параметры и эксплуатационные ориентиры
① Discord: Message Content Intent почти всегда нужен для чтения текста в каналах; Server Members Intent — только по функциональной необходимости. ② Slack: минимальные scope под Event API или Socket Mode; без /invite бота часть событий не приходит.
③ HTTPS и пути: публичный URL, внутренний upstream и basePath должны совпадать — типичная ошибка TLS-терминатора с обрезанием префикса. ④ Кэш: после re-auth или смены intents подождать несколько минут. ⑤ Документация: правило «в публичных каналах @бот» снижает тикеты сильнее, чем бесконечные переключения флагов.
⑥ Аудит: массовые pairing approve с номером тикета и оператором, как ротация секретов в hardening. Грубый ориентир: если задержка «сообщение пользователя → первая строка в логе шлюза» при нормальной нагрузке обычно <2–3 с, винить LLM рано — смотрите очереди и политику канала.
5. VPSMAC M4 Mac cloud
Крутить bot token при каждом молчании скрывает mention/pairing и ломает разбор инцидентов. Зафиксировать порядок probe → pairing → doctor → logs в runbook полезнее, чем копить секреты.
Ноутбук со сном и домашним NAT искажает паттерны переподключения IM; постоянно включённый узел даёт честные трассировки. Связка шлюза с launchd на VPSMAC M4 ближе к продакшену, чем смешение Windows/Linux с Apple-инструментами на одной команде.
Каркас: 5 минут, затем этот IM-чеклист.
6. FAQ
Личка да, группы нет?
Сначала requireMention и политика комнаты; короткое сообщение с @Bot и без. Если с @ всё оживает — зафиксируйте правило в пользовательской документации или освободите внутренние каналы после security review.
Пустой pairing?
Вернуться к channels status --probe, матрице прав бота и логам (policy). Проверьте, что staging workspace token не обслуживает прод, куда пишут пользователи.
Heartbeat?
Heartbeat/thinking ближе к cron и пустым ответам модели; если страдают только группы и коррелирует с mention — канал. Если молчит всё, включая личку, параллельно статья про heartbeat.
Intents есть, гильдия молчит?
Права канала, Read Message History, роли в приватных каналах; после сохранения в портале разработчика подождать минуты.
Slack онлайн, нет триггера?
URL запроса событий, полная повторная авторизация, установка на каждый workspace; сверить Event Delivery и access log шлюза по секундам.