Plugin maintainer reference

API voor inkomende kanaalberichten

Ontvangstpaden van kanalen volgen één stroom:

text
platformgebeurtenis -> inkomende feiten/context -> agentantwoord -> berichtbezorging

Gebruik 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

ts
   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 via channelContext, die Plugin-hooks zien als ctx.channelContext. Breid PluginHookChannelSenderContext of PluginHookChannelChatContext vanuit 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:

ts
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.

Was this useful?
On this page

On this page