openclaw/plugin-sdk/channel-ingress-runtime für Empfangspfade.
Runtime-Resolver
Ergebnis
Gebündelte Plugins sollten moderne Projektionen direkt verwenden:
Die Ereignisautorisierung bleibt in der geordneten
ingress.graph und der
entscheidenden ingress.reasonCode verfügbar; es wird keine separate Ereignisprojektion ausgegeben.
Veraltete SDK-Hilfsfunktionen von Drittanbietern können ältere Strukturen intern wiederherstellen. Neue
gebündelte Empfangspfade sollten moderne Ergebnisse nicht zurück in lokale
DTOs übersetzen.
Zugriffsgruppen
accessGroup:<name>-Einträge bleiben geschwärzt. Der Core löst statische
message.senders-Gruppen selbst auf und ruft resolveAccessGroupMembership nur
für dynamische Gruppen auf, die eine Plattformabfrage erfordern. Fehlende, nicht unterstützte und
fehlgeschlagene Gruppen führen standardmäßig zur Ablehnung.
Ereignismodi
Verwenden Sie
mayPair: false für Reaktionen, Schaltflächen, Callbacks und native Commands.
Routen und Aktivierung
Verwenden Sie Route-Deskriptoren für Richtlinien zu Räumen, Themen, Guilds, Threads oder verschachtelten Routen:channelIngressRoutes(...), wenn ein Plugin mehrere optionale Route-
Deskriptoren hat; es filtert deaktivierte Zweige heraus, während Route-Eigenschaften generisch bleiben
und nach dem jeweiligen precedence des Deskriptors geordnet werden.
Das Erwähnungs-Gating ist ein Aktivierungs-Gate. Eine fehlende Erwähnung gibt
admission: "skip" zurück, damit der Turn-Kernel keinen Turn verarbeitet, der nur zur Beobachtung dient.
Bei den meisten Channels sollte die Aktivierung nach Absender- und Command-Gates erfolgen. Öffentliche
Chat-Oberflächen, die nicht erwähnten Datenverkehr unterdrücken müssen, bevor die Absender-Zulassungsliste
Störmeldungen erzeugt, können sich für activation.order: "before-sender" entscheiden, wenn die Umgehung durch
Text-Commands deaktiviert ist. Channels mit impliziter Aktivierung, etwa Antworten in Bot-
Threads, lösen channels.defaults.implicitMentions sowie Channel- und Account-
Überschreibungen mit resolveChannelImplicitMentions(...) auf und übergeben das Ergebnis anschließend als
activation.implicitMentions. Die projizierte
activationAccess.shouldBypassMention meldet, wenn ein Command oder eine implizite
Aktivierung eine explizite Erwähnung umgangen hat.