Plugin maintainer reference
API voor inkomende kanaalberichten
Ontvangstpaden van kanalen volgen één stroom:
platformgebeurtenis -> inkomende feiten/context -> agentantwoord -> berichtbezorgingGebruik openclaw/plugin-sdk/channel-inbound voor de normalisatie,
opmaak, basispaden en orkestratie van inkomende gebeurtenissen. Gebruik
openclaw/plugin-sdk/channel-outbound voor systeemeigen verzending, ontvangstbewijzen, duurzame
bezorging en gedrag voor livevoorbeelden.
Kernhulpfuncties
buildChannelInboundEventContext, runChannelInboundEvent, dispatchChannelInboundReply,} from "openclaw/plugin-sdk/channel-inbound";buildChannelInboundEventContext(...): projecteert genormaliseerde kanaalfeiten naar de prompt-/sessiecontext. Geef door het kanaal beheerde metadata over afzender/chat door viachannelContext, die Plugin-hooks zien alsctx.channelContext. BreidPluginHookChannelSenderContextofPluginHookChannelChatContextvanuit dit subpad uit met kanaalspecifieke velden.runChannelInboundEvent(...): voert opname, classificatie, voorafgaande controle, oplossing, registratie, verzending en afronding uit voor één inkomende platformgebeurtenis.dispatchChannelInboundReply(...): registreert en verzendt een reeds samengesteld inkomend antwoord met een bezorgingsadapter.
Gebundelde/systeemeigen kanalen die het geïnjecteerde Plugin-runtimeobject al ontvangen,
kunnen dezelfde hulpfuncties aanroepen onder runtime.channel.inbound.* in plaats van
dit subpad rechtstreeks te importeren:
await runtime.channel.inbound.run({ channel: "demo", accountId, raw: platformEvent, adapter: { ingest: normalizePlatformEvent, resolveTurn: resolveInboundReply, },});Stel invoer voor dispatchChannelInboundReply(...) samen voor compatibiliteitsdispatchers
die platformbezorging in de bezorgingsadapter houden. Nieuwe verzendpaden
moeten in plaats daarvan berichtadapters en hulpfuncties voor duurzame berichten uit
channel-outbound gebruiken.
Migratie
Runtimealiassen van runtime.channel.turn.* zijn verwijderd. Gebruik:
runtime.channel.inbound.run(...)voor onbewerkte inkomende gebeurtenissen.runtime.channel.inbound.dispatchReply(...)voor samengestelde antwoordcontexten.runtime.channel.inbound.buildContext(...)voor inkomende contextpayloads.runtime.channel.inbound.runPreparedReply(...), afgeschaft, alleen voor door het kanaal beheerde voorbereide verzendpaden die hun eigen verzendclosure al samenstellen.
Nieuwe Plugincode mag geen kanaal-API's met turn in de naam introduceren. Houd terminologie
voor model- of agentbeurten binnen agent-/providercode; kanaalplugins gebruiken termen
voor inkomend verkeer, berichten, bezorging en antwoorden.