API входящих событий каналов
Входящие события каналов — это экспериментальная граница контроля доступа для входящих событий каналов. Используйтеopenclaw/plugin-sdk/channel-ingress-runtime для путей приема.
Более старый подпуть openclaw/plugin-sdk/channel-ingress остается экспортируемым как
устаревший совместимый фасад для сторонних plugins.
Plugins владеют фактами платформы и побочными эффектами. Ядро владеет общей политикой: списками
разрешенных DM/групп, DM-записями хранилища сопряжения, шлюзами маршрутов, шлюзами команд, авторизацией событий,
активацией по упоминанию, редактированными диагностическими данными и допуском.
Runtime Resolver
Результат
Встроенные plugins должны напрямую использовать современные проекции:ingress: упорядоченное решение шлюза и допускsenderAccess: только авторизация отправителя/беседыrouteAccess: проекция маршрута и отправителя маршрутаcommandAccess: авторизация команды;false, если шлюз команд не запускалсяactivationAccess: результат упоминания/активации
ingress.graph и решающем
ingress.reasonCode; отдельная проекция события не создается.
Устаревшие helpers SDK для сторонних разработчиков могут внутренне пересобирать старые формы. Новые
встроенные пути приема не должны переводить современные результаты обратно в локальные DTO.
Группы доступа
ЗаписиaccessGroup:<name> остаются редактированными. Ядро само разрешает статические
группы message.senders и вызывает resolveAccessGroupMembership только
для динамических групп, которым требуется поиск на платформе. Отсутствующие, неподдерживаемые и
сбойные группы закрываются с отказом.
Режимы событий
authMode | Значение |
|---|---|
inbound | обычные шлюзы входящего отправителя |
command | шлюзы команд для callbacks или кнопок с областью |
origin-subject | актор должен совпадать с субъектом исходного сообщения |
route-only | только шлюзы маршрута для доверенных событий в области маршрута |
none | внутренние события, принадлежащие plugin, обходят общую авторизацию |
mayPair: false для реакций, кнопок, callbacks и нативных команд.
Маршруты и активация
Используйте дескрипторы маршрутов для политики комнаты, темы, гильдии, треда или вложенного маршрута:channelIngressRoutes(...), когда у plugin есть несколько необязательных
дескрипторов маршрутов; он отфильтровывает отключенные ветви, сохраняя факты маршрута универсальными и
упорядоченными по precedence каждого дескриптора.
Шлюз упоминаний является шлюзом активации. Промах упоминания возвращает
admission: "skip", чтобы ядро turn не обрабатывало turn только для наблюдения.
Большинству каналов следует оставлять активацию после шлюзов отправителя и команд. Публичные
чат-поверхности, которым нужно приглушать трафик без упоминаний до шума
списка разрешенных отправителей, могут включить activation.order: "before-sender", когда обход
текстовыми командами отключен. Каналы с неявной активацией, например ответы в bot
threads, могут передавать activation.allowedImplicitMentionKinds; спроецированное
activationAccess.shouldBypassMention затем сообщает, когда команда или неявная
активация обошли явное упоминание.