Wat verandert er
Het oude Plugin-systeem bood twee volledig open oppervlakken waarmee Plugins alles wat ze nodig hadden vanuit één enkel ingangspunt konden importeren:openclaw/plugin-sdk/compat- één import die tientallen helpers opnieuw exporteerde. Deze werd geïntroduceerd om oudere hook-gebaseerde Plugins te laten werken terwijl de nieuwe Plugin-architectuur werd gebouwd.openclaw/plugin-sdk/infra-runtime- een brede runtime-helperbarrel die systeemgebeurtenissen, Heartbeat-status, afleverwachtrijen, fetch/proxy-helpers, bestandshelpers, goedkeuringstypen en niet-gerelateerde hulpprogramma’s combineerde.openclaw/plugin-sdk/config-runtime- een brede configuratiecompatibiliteitsbarrel die tijdens het migratievenster nog verouderde directe laad-/schrijfhelpers bevat.openclaw/extension-api- een brug die Plugins directe toegang gaf tot host-side helpers zoals de ingebouwde agent-runner.api.registerEmbeddedExtensionFactory(...)- een verwijderde, alleen voor de embedded runner bestemde gebundelde extensie-hook die embedded-runner-gebeurtenissen zoalstool_resultkon observeren.
Waarom dit is gewijzigd
De oude aanpak veroorzaakte problemen:- Trage start - het importeren van één helper laadde tientallen niet-gerelateerde modules
- Circulaire afhankelijkheden - brede herexports maakten het makkelijk om importcycli te creëren
- Onduidelijk API-oppervlak - geen manier om te zien welke exports stabiel waren versus intern
openclaw/plugin-sdk/\<subpath\>)
is een kleine, zelfstandige module met een duidelijk doel en een gedocumenteerd contract.
Verouderde gemaksovergangen voor providers voor gebundelde kanalen zijn ook verdwenen.
Kanaalbranded helperovergangen waren private mono-repo-snelkoppelingen, geen stabiele
Plugin-contracten. Gebruik in plaats daarvan smalle generieke SDK-subpaden. Houd binnen de gebundelde
Plugin-werkruimte provider-owned helpers in de eigen api.ts of
runtime-api.ts van die Plugin.
Huidige voorbeelden van gebundelde providers:
- Anthropic houdt Claude-specifieke streamhelpers in zijn eigen
api.ts/contract-api.ts-overgang - OpenAI houdt provider-builders, default-model-helpers en realtime-provider-
builders in zijn eigen
api.ts - OpenRouter houdt provider-builder- en onboarding-/configuratiehelpers in zijn eigen
api.ts
Migratieplan voor Talk en realtime spraak
Realtime spraak-, telefonie-, meeting- en browser-Talk-code verhuist van oppervlaklokale beurtboekhouding naar een gedeelde Talk-sessiecontroller die wordt geëxporteerd dooropenclaw/plugin-sdk/realtime-voice. De nieuwe controller beheert de gemeenschappelijke Talk-
gebeurtenisenvelop, actieve beurtstatus, capture-status, output-audio-status, recente
gebeurtenisgeschiedenis en afwijzing van verouderde beurten. Provider-Plugins moeten vendor-
specifieke realtime-sessies blijven beheren; surface-Plugins moeten capture,
playback, telefonie- en meeting-eigenaardigheden blijven beheren.
Deze Talk-migratie is bewust brekend schoon:
- Houd de gedeelde controller-/runtime-primitieven in
plugin-sdk/realtime-voice. - Zet gebundelde oppervlakken over naar de gedeelde controller: browserrelay, managed-room-handoff, realtime voice-call, streaming STT voor voice-call, Google Meet realtime en native push-to-talk.
- Vervang oude Talk-RPC-families door de definitieve
talk.session.*- entalk.client.*-API. - Adverteer één live Talk-gebeurteniskanaal in Gateway
hello-ok.features.events:talk.event. - Verwijder het oude realtime HTTP-endpoint en elk request-time pad voor instructie-override.
createTalkEventSequencer(...) niet rechtstreeks aanroepen, tenzij deze
een low-level adapter of testfixture implementeert. Geef de voorkeur aan de gedeelde controller
zodat beurtgebonden gebeurtenissen niet zonder turn id kunnen worden uitgezonden, verouderde turnEnd- /
turnCancel-aanroepen geen nieuwere actieve beurt kunnen wissen, en output-audio-lifecycle-
gebeurtenissen consistent blijven tussen telefonie, meetings, browserrelay, managed-room-
handoff en native Talk-clients.
De beoogde vorm van de publieke API is:
talk.client.create,
omdat de browser de provideronderhandeling en mediatransport beheert terwijl de
Gateway referenties, instructies en toolbeleid beheert. talk.session.* is het
gemeenschappelijke door Gateway beheerde oppervlak voor gateway-relay-realtime, gateway-relay-
transcriptie en managed-room native STT/TTS-sessies.
Verouderde configuraties die realtime-selectors naast talk.provider /
talk.providers plaatsten, moeten worden gerepareerd met openclaw doctor --fix; runtime Talk
herinterpreteert spraak-/TTS-providerconfiguratie niet als realtime-providerconfiguratie.
De ondersteunde combinaties voor talk.session.create zijn bewust klein:
| Modus | Transport | Brain | Eigenaar | Opmerkingen |
|---|---|---|---|---|
realtime | gateway-relay | agent-consult | Gateway | Full-duplex provider-audio overbrugd via de Gateway; toolaanroepen worden via de agent-consult-tool gerouteerd. |
transcription | gateway-relay | none | Gateway | Alleen streaming-STT; callers sturen invoeraudio en ontvangen transcriptgebeurtenissen. |
stt-tts | managed-room | agent-consult | Native/client room | Push-to-talk- en walkie-talkie-achtige rooms waarbij de client capture/playback beheert en de Gateway beurtstatus beheert. |
stt-tts | managed-room | direct-tools | Native/client room | Admin-only roommodus voor vertrouwde first-party oppervlakken die Gateway-toolacties rechtstreeks uitvoeren. |
| Oud | Nieuw |
|---|---|
talk.realtime.session | talk.client.create |
talk.realtime.toolCall | talk.client.toolCall |
talk.realtime.relayAudio | talk.session.appendAudio |
talk.realtime.relayCancel | talk.session.cancelOutput of talk.session.cancelTurn |
talk.realtime.relayToolResult | talk.session.submitToolResult |
talk.realtime.relayStop | talk.session.close |
talk.transcription.session | talk.session.create({ mode: "transcription" }) |
talk.transcription.relayAudio | talk.session.appendAudio |
talk.transcription.relayCancel | talk.session.cancelTurn |
talk.transcription.relayStop | talk.session.close |
talk.handoff.create | talk.session.create({ transport: "managed-room" }) |
talk.handoff.join | talk.session.join |
talk.handoff.revoke | talk.session.close |
| Methode | Van toepassing op | Contract |
|---|---|---|
talk.session.appendAudio | realtime/gateway-relay, transcription/gateway-relay | Voeg een base64 PCM-audiofragment toe aan de providersessie die eigendom is van dezelfde Gateway-verbinding. |
talk.session.startTurn | stt-tts/managed-room | Start een gebruikersbeurt in een beheerde ruimte. |
talk.session.endTurn | stt-tts/managed-room | Beëindig de actieve beurt na validatie van een verouderde beurt. |
talk.session.cancelTurn | alle sessies die eigendom zijn van Gateway | Annuleer actief opname-, provider-, agent- en TTS-werk voor een beurt. |
talk.session.cancelOutput | realtime/gateway-relay | Stop de audio-uitvoer van de assistent zonder noodzakelijkerwijs de gebruikersbeurt te beëindigen. |
talk.session.submitToolResult | realtime/gateway-relay | Voltooi een provider-toolaanroep die door de relay is uitgegeven; geef options.willContinue door voor tussentijdse uitvoer of options.suppressResponse om aan de aanroep te voldoen zonder nog een assistentantwoord. |
talk.session.steer | Talk-sessies met agent-ondersteuning | Stuur gesproken status-, steer-, cancel- of followup-besturing naar de actieve ingesloten run die vanuit de Talk-sessie is opgelost. |
talk.session.close | alle uniforme sessies | Stop relay-sessies of trek de status van de beheerde ruimte in, en vergeet daarna de uniforme sessie-id. |
Compatibiliteitsbeleid
Voor externe plugins volgt compatibiliteitswerk deze volgorde:- voeg het nieuwe contract toe
- houd het oude gedrag aangesloten via een compatibiliteitsadapter
- geef een diagnose of waarschuwing uit die het oude pad en de vervanging noemt
- dek beide paden af in tests
- documenteer de veroudering en het migratiepad
- verwijder pas na het aangekondigde migratievenster, meestal in een major release
pnpm plugins:boundary-report. Gebruik pnpm plugins:boundary-report:summary voor
compacte aantallen, --owner <id> voor één plugin of compatibiliteitseigenaar, en
pnpm plugins:boundary-report:ci wanneer een CI-gate moet falen op verlopen
compatibiliteitsrecords, cross-owner gereserveerde SDK-imports of ongebruikte gereserveerde SDK-
subpaden. Het rapport groepeert verouderde
compatibiliteitsrecords op verwijderdatum, telt lokale code-/docs-verwijzingen,
brengt cross-owner gereserveerde SDK-imports naar boven en vat de private
memory-host SDK-bridge samen, zodat compatibiliteitsopschoning expliciet blijft in plaats van
te vertrouwen op ad-hoczoekopdrachten. Gereserveerde SDK-subpaden moeten bijgehouden eigenaarsgebruik hebben;
ongebruikte gereserveerde helper-exports moeten uit de publieke SDK worden verwijderd.
Als een manifestveld nog steeds wordt geaccepteerd, kunnen pluginauteurs het blijven gebruiken totdat
de docs en diagnoses anders aangeven. Nieuwe code moet de gedocumenteerde
vervanging verkiezen, maar bestaande plugins mogen niet breken tijdens gewone minor
releases.
Migreren
Migrate runtime config load/write helpers
api.runtime.config.loadConfig() en
api.runtime.config.writeConfigFile(...). Geef de voorkeur aan configuratie die al
aan het actieve aanroeppad is doorgegeven. Langlevende handlers die de
huidige processnapshot nodig hebben, kunnen api.runtime.config.current() gebruiken. Langlevende
agenttools moeten ctx.getRuntimeConfig() van de toolcontext binnen
execute gebruiken, zodat een tool die vóór een configuratieschrijving is gemaakt nog steeds de vernieuwde
runtimeconfiguratie ziet.Configuratieschrijvingen moeten via de transactionele helpers lopen en een
beleid voor na het schrijven kiezen:afterWrite: { mode: "restart", reason: "..." } wanneer de aanroeper weet
dat de wijziging een schone gateway-herstart vereist, en
afterWrite: { mode: "none", reason: "..." } alleen wanneer de aanroeper eigenaar is van de
follow-up en bewust de herlaadplanner wil onderdrukken.
Mutatieresultaten bevatten een getypeerde followUp-samenvatting voor tests en logging;
de gateway blijft verantwoordelijk voor het toepassen of plannen van de herstart.
loadConfig en writeConfigFile blijven als verouderde compatibiliteits-
helpers voor externe plugins bestaan tijdens het migratievenster en waarschuwen één keer met
de compatibiliteitscode runtime-config-load-write. Gebundelde plugins en runtimecode in de repo
worden beschermd door scanner-guardrails in
pnpm check:deprecated-api-usage en
pnpm check:no-runtime-action-load-config: nieuw gebruik in productieplugins
faalt direct, directe configuratieschrijvingen falen, gatewayservermethoden moeten de
request-runtime-snapshot gebruiken, runtimehelpers voor channel send/action/client
moeten configuratie van hun boundary ontvangen, en langlevende runtimemodules hebben
nul toegestane ambient loadConfig()-aanroepen.Nieuwe plugincode moet ook vermijden de brede
openclaw/plugin-sdk/config-runtime-compatibiliteitsbarrel te importeren. Gebruik het smalle
SDK-subpad dat bij de taak past:| Behoefte | Import |
|---|---|
Configuratietypen zoals OpenClawConfig | openclaw/plugin-sdk/config-contracts |
| Al geladen configuratieasserties en configuratieopzoeking voor plugin-entry | openclaw/plugin-sdk/plugin-config-runtime |
| Lezingen van de huidige runtimesnapshot | openclaw/plugin-sdk/runtime-config-snapshot |
| Configuratieschrijvingen | openclaw/plugin-sdk/config-mutation |
| Helpers voor sessieopslag | openclaw/plugin-sdk/session-store-runtime |
| Markdown-tabelconfiguratie | openclaw/plugin-sdk/markdown-table-runtime |
| Runtimehelpers voor groepsbeleid | openclaw/plugin-sdk/runtime-group-policy |
| Oplossing van geheime invoer | openclaw/plugin-sdk/secret-input-runtime |
| Model-/sessie-overschrijvingen | openclaw/plugin-sdk/model-session-runtime |
Migrate embedded tool-result extensions to middleware
api.registerEmbeddedExtensionFactory(...)-handlers voor toolresultaten vervangen door
runtime-neutrale middleware.contracts.agentToolResultMiddleware. Niet-gedeclareerde geïnstalleerde middleware-
registraties worden geweigerd.Migrate approval-native handlers to capability facts
approvalCapability.nativeRuntime plus het gedeelde runtime-contextregister.Belangrijkste wijzigingen:- Vervang
approvalCapability.handler.loadRuntime(...)doorapprovalCapability.nativeRuntime - Verplaats approval-specifieke auth/delivery van legacy
plugin.auth/plugin.approvals-bedrading naarapprovalCapability ChannelPlugin.approvalsis verwijderd uit het publieke channel-plugin- contract; verplaats delivery/native/render-velden naarapprovalCapabilityplugin.authblijft alleen voor channel-login-/logoutflows; approval-auth- hooks daar worden niet langer door core gelezen- Registreer runtimeobjecten die eigendom zijn van het channel, zoals clients, tokens of Bolt-
apps, via
openclaw/plugin-sdk/channel-runtime-context - Verstuur geen reroute-meldingen die eigendom zijn van de plugin vanuit native approvalhandlers; core beheert nu elders-gerouteerde meldingen vanuit daadwerkelijke bezorgresultaten
- Wanneer je
channelRuntimedoorgeeft aancreateChannelManager(...), lever dan een echtcreatePluginRuntime().channel-oppervlak. Gedeeltelijke stubs worden geweigerd.
/plugins/sdk-channel-plugins voor de huidige indeling van approval-capabilities.Audit Windows wrapper fallback behavior
openclaw/plugin-sdk/windows-spawn gebruikt, falen niet-opgeloste Windows
.cmd/.bat-wrappers nu gesloten, tenzij je expliciet
allowShellFallback: true doorgeeft.allowShellFallback niet in en handel in plaats daarvan de gegooide fout af.Replace with focused imports
| Oude import | Moderne equivalent |
|---|---|
resolveAgentDir | api.runtime.agent.resolveAgentDir |
resolveAgentWorkspaceDir | api.runtime.agent.resolveAgentWorkspaceDir |
resolveAgentIdentity | api.runtime.agent.resolveAgentIdentity |
resolveThinkingDefault | api.runtime.agent.resolveThinkingDefault |
resolveAgentTimeoutMs | api.runtime.agent.resolveAgentTimeoutMs |
ensureAgentWorkspace | api.runtime.agent.ensureAgentWorkspace |
| sessieopslaghelpers | api.runtime.agent.session.* |
Replace broad infra-runtime imports
openclaw/plugin-sdk/infra-runtime bestaat nog steeds voor externe
compatibiliteit, maar nieuwe code moet het gerichte helperoppervlak importeren dat
daadwerkelijk nodig is:| Behoefte | Import |
|---|---|
| Helpers voor systeemgebeurteniswachtrij | openclaw/plugin-sdk/system-event-runtime |
| Helpers voor Heartbeat-wake, gebeurtenissen en zichtbaarheid | openclaw/plugin-sdk/heartbeat-runtime |
| Leegmaken van wachtrij voor openstaande levering | openclaw/plugin-sdk/delivery-queue-runtime |
| Telemetrie voor kanaalactiviteit | openclaw/plugin-sdk/channel-activity-runtime |
| In-memory en persistentie-ondersteunde dedupe-caches | openclaw/plugin-sdk/dedupe-runtime |
| Helpers voor veilige lokale bestands-/mediapaden | openclaw/plugin-sdk/file-access-runtime |
| Dispatcher-bewuste fetch | openclaw/plugin-sdk/runtime-fetch |
| Helpers voor proxy en bewaakte fetch | openclaw/plugin-sdk/fetch-runtime |
| Beleidstypen voor SSRF-dispatcher | openclaw/plugin-sdk/ssrf-dispatcher |
| Typen voor goedkeuringsverzoek/-afhandeling | openclaw/plugin-sdk/approval-runtime |
| Helpers voor payload en opdracht van goedkeuringsantwoord | openclaw/plugin-sdk/approval-reply-runtime |
| Helpers voor foutopmaak | openclaw/plugin-sdk/error-runtime |
| Wachten op transportgereedheid | openclaw/plugin-sdk/transport-ready-runtime |
| Helpers voor veilige tokens | openclaw/plugin-sdk/secure-random-runtime |
| Begrensde gelijktijdigheid van async taken | openclaw/plugin-sdk/concurrency-runtime |
| Numerieke coercie | openclaw/plugin-sdk/number-runtime |
| Proces-lokaal async-slot | openclaw/plugin-sdk/async-lock-runtime |
| Bestandssloten | openclaw/plugin-sdk/file-lock |
infra-runtime, zodat repocode
niet kan terugvallen naar de brede barrel.Migrate channel route helpers
openclaw/plugin-sdk/channel-route gebruiken.
De oudere route-key- en comparable-target-namen blijven als compatibiliteitsaliassen
bestaan tijdens de migratieperiode, maar nieuwe plugins moeten de routenamen gebruiken
die het gedrag direct beschrijven:| Oude helper | Moderne helper |
|---|---|
channelRouteIdentityKey(...) | channelRouteDedupeKey(...) |
channelRouteKey(...) | channelRouteCompactKey(...) |
ComparableChannelTarget | ChannelRouteParsedTarget |
comparableChannelTargetsMatch(...) | channelRouteTargetsMatchExact(...) |
comparableChannelTargetsShareRoute(...) | channelRouteTargetsShareConversation(...) |
{ channel, to, accountId, threadId }
consistent voor native goedkeuringen, onderdrukking van antwoorden, inkomende dedupe,
cronlevering en sessierouting.Voeg geen nieuwe toepassingen toe van ChannelMessagingAdapter.parseExplicitTarget of
de parser-ondersteunde geladen-routehelpers (parseExplicitTargetForLoadedChannel
of resolveRouteTargetForLoadedChannel) of
resolveChannelRouteTargetWithParser(...) uit plugin-sdk/channel-route.
Die hooks zijn verouderd en blijven alleen voor oudere plugins bestaan tijdens de
migratieperiode. Nieuwe kanaalplugins moeten
messaging.targetResolver.resolveTarget(...) gebruiken voor normalisatie van doel-id’s
en fallback bij ontbrekende directoryvermeldingen, messaging.inferTargetChatType(...) wanneer core
vroeg een peer-soort nodig heeft, en messaging.resolveOutboundSessionRoute(...)
voor provider-native sessie- en threadidentiteit.Referentie voor importpaden
Common import path table
Common import path table
| Importpad | Doel | Belangrijkste exports |
|---|---|---|
plugin-sdk/plugin-entry | Canonieke invoerhulpfunctie voor Plugin | definePluginEntry |
plugin-sdk/core | Verouderde overkoepelende her-export voor kanaalinvoerdefinities/-bouwers | defineChannelPluginEntry, createChatChannelPlugin |
plugin-sdk/config-schema | Export van rootconfiguratieschema | OpenClawSchema |
plugin-sdk/provider-entry | Invoerhulpfunctie voor één provider | defineSingleProviderPluginEntry |
plugin-sdk/channel-core | Gerichte kanaalinvoerdefinities en -bouwers | defineChannelPluginEntry, defineSetupPluginEntry, createChatChannelPlugin, createChannelPluginBase |
plugin-sdk/setup | Gedeelde hulpfuncties voor de configuratiewizard | Configuratievertaler, prompts voor toegestane lijsten, bouwers voor configuratiestatus |
plugin-sdk/setup-runtime | Runtime-hulpfuncties tijdens configuratie | createSetupTranslator, importveilige configuratiepatchadapters, hulpfuncties voor opzoeknotities, promptResolvedAllowFrom, splitSetupEntries, gedelegeerde configuratieproxy’s |
plugin-sdk/setup-adapter-runtime | Verouderde alias voor configuratieadapter | Gebruik plugin-sdk/setup-runtime |
plugin-sdk/setup-tools | Hulpfuncties voor configuratietooling | formatCliCommand, detectBinary, extractArchive, resolveBrewExecutable, formatDocsLink, CONFIG_DIR |
plugin-sdk/account-core | Hulpfuncties voor meerdere accounts | Hulpfuncties voor accountlijst/configuratie/actiepoort |
plugin-sdk/account-id | Hulpfuncties voor account-ID’s | DEFAULT_ACCOUNT_ID, normalisatie van account-ID’s |
plugin-sdk/account-resolution | Hulpfuncties voor accountopzoeking | Hulpfuncties voor accountopzoeking + standaard-terugval |
plugin-sdk/account-helpers | Smalle accounthulpfuncties | Hulpfuncties voor accountlijst/accountacties |
plugin-sdk/channel-setup | Adapters voor de configuratiewizard | createOptionalChannelSetupSurface, createOptionalChannelSetupAdapter, createOptionalChannelSetupWizard, plus DEFAULT_ACCOUNT_ID, createTopLevelChannelDmPolicy, setSetupChannelEnabled, splitSetupEntries |
plugin-sdk/channel-pairing | Primitieven voor DM-koppeling | createChannelPairingController |
plugin-sdk/channel-reply-pipeline | Bekabeling voor antwoordprefix, typen en bronlevering | createChannelReplyPipeline, resolveChannelSourceReplyDeliveryMode |
plugin-sdk/channel-config-helpers | Fabrieken voor configuratieadapters en hulpfuncties voor DM-toegang | createHybridChannelConfigAdapter, resolveChannelDmAccess, resolveChannelDmAllowFrom, resolveChannelDmPolicy, normalizeChannelDmPolicy, normalizeLegacyDmAliases |
plugin-sdk/channel-config-schema | Bouwers voor configuratieschema’s | Gedeelde kanaalconfiguratieschema-primitieven en alleen de generieke bouwer |
plugin-sdk/bundled-channel-config-schema | Gebundelde configuratieschema’s | Alleen door OpenClaw onderhouden gebundelde plugins; nieuwe plugins moeten pluginlokale schema’s definiëren |
plugin-sdk/channel-config-schema-legacy | Verouderde gebundelde configuratieschema’s | Alleen compatibiliteitsalias; gebruik plugin-sdk/bundled-channel-config-schema voor onderhouden gebundelde plugins |
plugin-sdk/telegram-command-config | Hulpfuncties voor Telegram-opdrachtconfiguratie | Normalisatie van opdrachtnamen, inkorten van beschrijvingen, validatie van duplicaten/conflicten |
plugin-sdk/channel-policy | Beleidsresolutie voor groep/DM | resolveChannelGroupRequireMention |
plugin-sdk/channel-lifecycle | Verouderde compatibiliteitsfacade | Gebruik plugin-sdk/channel-outbound |
plugin-sdk/inbound-envelope | Hulpfuncties voor inkomende enveloppen | Gedeelde route- + envelopbouwhulpfuncties |
plugin-sdk/channel-inbound | Hulpfuncties voor inkomende ontvangst | Contextopbouw, opmaak, roots, runners, voorbereide antwoordverzending en dispatchpredicaten |
plugin-sdk/messaging-targets | Verouderd importpad voor doelparsering | Gebruik plugin-sdk/channel-targets voor generieke hulpfuncties voor doelparsering, plugin-sdk/channel-route voor routevergelijking en plugin-eigen messaging.targetResolver / messaging.resolveOutboundSessionRoute voor provider-specifieke doelresolutie |
plugin-sdk/outbound-media | Hulpfuncties voor uitgaande media | Gedeeld laden van uitgaande media |
plugin-sdk/outbound-send-deps | Verouderde compatibiliteitsfacade | Gebruik plugin-sdk/channel-outbound |
plugin-sdk/channel-outbound | Hulpfuncties voor levenscyclus van uitgaande berichten | Berichtadapters, ontvangstbewijzen, duurzame verzendhulpfuncties, livevoorbeeld-/streaminghulpfuncties, antwoordopties, levenscyclushulpfuncties, uitgaande identiteit en payloadplanning |
plugin-sdk/channel-streaming | Verouderde compatibiliteitsfacade | Gebruik plugin-sdk/channel-outbound |
plugin-sdk/outbound-runtime | Verouderde compatibiliteitsfacade | Gebruik plugin-sdk/channel-outbound |
plugin-sdk/thread-bindings-runtime | Hulpfuncties voor threadbinding | Levenscyclus- en adapterhulpfuncties voor threadbinding |
plugin-sdk/agent-media-payload | Hulpfuncties voor verouderde mediapayloads | Bouwer voor agent-mediapayloads voor verouderde veldindelingen |
plugin-sdk/channel-runtime | Verouderde compatibiliteitslaag | Alleen verouderde kanaalruntimehulpmiddelen |
plugin-sdk/channel-send-result | Verzendresultaattypen | Antwoordresultaattypen |
plugin-sdk/runtime-store | Persistente Plugin-opslag | createPluginRuntimeStore |
plugin-sdk/runtime | Brede runtime-hulpfuncties | Runtime-/logging-/back-up-/Plugin-installatiehulpfuncties |
plugin-sdk/runtime-env | Smalle runtime-omgevingshulpfuncties | Logger-/runtime-omgeving, timeout-, retry- en backoff-hulpfuncties |
plugin-sdk/plugin-runtime | Gedeelde Plugin-runtimehulpfuncties | Plugin-opdrachten/-hooks/-HTTP-/interactieve hulpfuncties |
plugin-sdk/hook-runtime | Hulpfuncties voor hookpijplijnen | Gedeelde Webhook-/interne hookpijplijnhulpfuncties |
plugin-sdk/lazy-runtime | Luie runtime-hulpfuncties | createLazyRuntimeModule, createLazyRuntimeMethod, createLazyRuntimeMethodBinder, createLazyRuntimeNamedExport, createLazyRuntimeSurface |
plugin-sdk/process-runtime | Proceshulpfuncties | Gedeelde uitvoeringshulpfuncties |
plugin-sdk/cli-runtime | CLI-runtimehulpfuncties | Opdrachtopmaak, wachttijden, versiehulpfuncties |
plugin-sdk/gateway-runtime | Gateway-hulpfuncties | Gateway-client, starthulpfunctie voor gereedheid van eventloop, resolutie van geadverteerde LAN-host en hulpfuncties voor kanaalstatuspatches |
plugin-sdk/config-runtime | Verouderde compatibiliteitslaag voor configuratie | Geef de voorkeur aan config-contracts, plugin-config-runtime, runtime-config-snapshot en config-mutation |
plugin-sdk/telegram-command-config | Hulpfuncties voor Telegram-opdrachten | Terugvalstabiele hulpfuncties voor validatie van Telegram-opdrachten wanneer het gebundelde Telegram-contractoppervlak niet beschikbaar is |
plugin-sdk/approval-runtime | Hulpfuncties voor goedkeuringsprompts | Payload voor goedkeuring van uitvoering/Plugin, hulpfuncties voor goedkeuringsmogelijkheden/-profielen, native routerings-/runtimehulpfuncties voor goedkeuringen en gestructureerde opmaak van weergavepaden voor goedkeuringen |
plugin-sdk/approval-auth-runtime | Hulpfuncties voor goedkeuringsauthenticatie | Oplossing van goedkeurders, autorisatie van acties in dezelfde chat |
plugin-sdk/approval-client-runtime | Hulpfuncties voor goedkeuringsclients | Native profiel-/filterhulpfuncties voor uitvoeringsgoedkeuring |
plugin-sdk/approval-delivery-runtime | Hulpfuncties voor goedkeuringslevering | Native mogelijkheid-/leveringsadapters voor goedkeuringen |
plugin-sdk/approval-gateway-runtime | Gateway-hulpfuncties voor goedkeuringen | Gedeelde hulpfunctie voor Gateway-resolutie van goedkeuringen |
plugin-sdk/approval-handler-adapter-runtime | Adapterhulpfuncties voor goedkeuringen | Lichtgewicht hulpfuncties voor het laden van native goedkeuringsadapters voor snelle kanaalingangspunten |
plugin-sdk/approval-handler-runtime | Handlerhulpfuncties voor goedkeuringen | Bredere runtime-hulpfuncties voor goedkeuringshandlers; geef de voorkeur aan de smallere adapter-/Gateway-randen wanneer die voldoende zijn |
plugin-sdk/approval-native-runtime | Doelhulpfuncties voor goedkeuringen | Native hulpfuncties voor goedkeuringsdoelen/accountbinding |
plugin-sdk/approval-reply-runtime | Antwoordhulpfuncties voor goedkeuringen | Hulpfuncties voor antwoordpayloads voor uitvoering-/Plugin-goedkeuringen |
plugin-sdk/channel-runtime-context | Hulpfuncties voor kanaalruntimecontext | Generieke hulpfuncties voor registreren/ophalen/bekijken van kanaalruntimecontext |
plugin-sdk/security-runtime | Beveiligingshulpfuncties | Gedeelde hulpfuncties voor vertrouwen, DM-poorten, root-begrensde bestanden/paden, externe content en geheimverzameling |
plugin-sdk/ssrf-policy | SSRF-beleidshulpfuncties | Hulpfuncties voor toegestane-hostlijst en privé-netwerkbeleid |
plugin-sdk/ssrf-runtime | SSRF-runtimehulpfuncties | Vastgepinde dispatcher, bewaakte fetch, SSRF-beleidshulpfuncties |
plugin-sdk/system-event-runtime | Hulpfuncties voor systeemgebeurtenissen | enqueueSystemEvent, peekSystemEventEntries |
plugin-sdk/heartbeat-runtime | Heartbeat-hulpfuncties | Hulpfuncties voor Heartbeat-wake, gebeurtenis en zichtbaarheid |
plugin-sdk/delivery-queue-runtime | Hulpfuncties voor leveringswachtrijen | drainPendingDeliveries |
plugin-sdk/channel-activity-runtime | Hulpfuncties voor kanaalactiviteit | recordChannelActivity |
plugin-sdk/dedupe-runtime | Dedupe-hulpfuncties | In-memory en persistentie-ondersteunde dedupe-caches |
plugin-sdk/file-access-runtime | Hulpfuncties voor bestandstoegang | Hulpfuncties voor veilige lokale bestands-/mediapaden |
plugin-sdk/transport-ready-runtime | Hulpfuncties voor transportgereedheid | waitForTransportReady |
plugin-sdk/exec-approvals-runtime | Beleidshulpfuncties voor uitvoeringsgoedkeuring | loadExecApprovals, resolveExecApprovalsFromFile, ExecApprovalsFile |
plugin-sdk/collection-runtime | Hulpfuncties voor begrensde caches | pruneMapToMaxSize |
plugin-sdk/diagnostic-runtime | Hulpfuncties voor diagnostische poorten | isDiagnosticFlagEnabled, isDiagnosticsEnabled |
plugin-sdk/error-runtime | Hulpfuncties voor foutopmaak | formatUncaughtError, isApprovalNotFoundError, hulpfuncties voor foutgrafen |
plugin-sdk/fetch-runtime | Hulpfuncties voor ingepakte fetch/proxy | resolveFetch, proxyhulpfuncties, optiehulpfuncties voor EnvHttpProxyAgent |
plugin-sdk/host-runtime | Hulpfuncties voor hostnormalisatie | normalizeHostname, normalizeScpRemoteHost |
plugin-sdk/retry-runtime | Retry-hulpfuncties | RetryConfig, retryAsync, beleidsrunners |
plugin-sdk/allow-from | Opmaak van toegestane lijsten en invoermapping | formatAllowFromLowercase, mapAllowlistResolutionInputs |
plugin-sdk/command-auth | Hulpfuncties voor opdrachtpoorten en opdrachtoppervlakken | resolveControlCommandGate, hulpfuncties voor afzenderautorisatie, hulpfuncties voor opdrachtregisters inclusief opmaak van dynamische argumentmenu’s |
plugin-sdk/command-status | Renderers voor opdrachtstatus/-hulp | buildCommandsMessage, buildCommandsMessagePaginated, buildHelpMessage |
plugin-sdk/secret-input | Parsering van geheime invoer | Hulpfuncties voor geheime invoer |
plugin-sdk/webhook-ingress | Hulpfuncties voor Webhook-verzoeken | Hulpmiddelen voor Webhook-doelen |
plugin-sdk/webhook-request-guards | Guard-hulpfuncties voor Webhook-body’s | Hulpfuncties voor lezen/beperken van requestbody’s |
plugin-sdk/reply-runtime | Gedeelde antwoordruntime | Inkomende dispatch, Heartbeat, antwoordplanner, opdelen in chunks |
plugin-sdk/reply-dispatch-runtime | Smalle hulpfuncties voor antwoorddispatch | Afronden, providerdispatch en hulpfuncties voor gesprekslabels |
plugin-sdk/reply-history | Hulpfuncties voor antwoordgeschiedenis | createChannelHistoryWindow; verouderde compatibiliteitsexports voor maphulpfuncties zoals buildPendingHistoryContextFromMap, recordPendingHistoryEntry en clearHistoryEntriesIfEnabled |
plugin-sdk/reply-reference | Planning van antwoordverwijzingen | createReplyReferencePlanner |
plugin-sdk/reply-chunking | Hulpfuncties voor antwoordchunks | Hulpfuncties voor opdelen van tekst/markdown in chunks |
plugin-sdk/session-store-runtime | Hulpfuncties voor sessiestores | Storepad + hulpfuncties voor bijgewerkt-op |
plugin-sdk/state-paths | Hulpfuncties voor statuspaden | Hulpfuncties voor status- en OAuth-mappen |
plugin-sdk/routing | Routing-/sessiesleutelhulpfuncties | resolveAgentRoute, buildAgentSessionKey, resolveDefaultAgentBoundAccountId, hulpfuncties voor sessiesleutelnormalisatie |
plugin-sdk/status-helpers | Hulpfuncties voor kanaalstatus | Bouwers voor kanaal-/accountstatussamenvattingen, standaardwaarden voor runtimestatus, hulpfuncties voor probleemmetadata |
plugin-sdk/target-resolver-runtime | Hulpfuncties voor doelresolver | Gedeelde hulpfuncties voor doelresolver |
plugin-sdk/string-normalization-runtime | Hulpfuncties voor tekenreeksnormalisatie | Hulpfuncties voor slug-/tekenreeksnormalisatie |
plugin-sdk/request-url | Hulpfuncties voor aanvraag-URL’s | Tekenreeks-URL’s extraheren uit aanvraagachtige invoer |
plugin-sdk/run-command | Hulpfuncties voor getimede opdrachten | Getimede opdrachtuitvoerder met genormaliseerde stdout/stderr |
plugin-sdk/param-readers | Parameterlezers | Algemene parameterlezers voor tools/CLI |
plugin-sdk/tool-payload | Extractie van toolpayload | Genormaliseerde payloads extraheren uit toolresultaatobjecten |
plugin-sdk/tool-send | Extractie van toolverzending | Canonieke velden voor verzenddoelen extraheren uit toolargumenten |
plugin-sdk/temp-path | Hulpfuncties voor tijdelijke paden | Gedeelde hulpfuncties voor tijdelijke downloadpaden |
plugin-sdk/logging-core | Loghulpfuncties | Subsystemlogger en redactiehulpfuncties |
plugin-sdk/markdown-table-runtime | Hulpfuncties voor Markdown-tabellen | Hulpfuncties voor Markdown-tabelmodi |
plugin-sdk/reply-payload | Typen voor berichtantwoorden | Typen voor antwoordpayloads |
plugin-sdk/provider-setup | Samengestelde hulpfuncties voor lokale/zelfgehoste providerinstelling | Hulpfuncties voor ontdekking/configuratie van zelfgehoste providers |
plugin-sdk/self-hosted-provider-setup | Gerichte hulpfuncties voor OpenAI-compatibele zelfgehoste providerinstelling | Dezelfde hulpfuncties voor ontdekking/configuratie van zelfgehoste providers |
plugin-sdk/provider-auth-runtime | Hulpfuncties voor providerruntime-authenticatie | Hulpfuncties voor runtime-resolutie van API-sleutels |
plugin-sdk/provider-auth-api-key | Hulpfuncties voor provider-API-sleutelinstelling | Hulpfuncties voor API-sleutelonboarding/profielschrijven |
plugin-sdk/provider-auth-result | Hulpfuncties voor provider-auth-resultaten | Standaardbouwer voor OAuth-auth-resultaten |
plugin-sdk/provider-selection-runtime | Hulpfuncties voor providerselectie | Selectie van geconfigureerde of automatische provider en samenvoeging van onbewerkte providerconfiguratie |
plugin-sdk/provider-env-vars | Hulpfuncties voor provideromgevingsvariabelen | Hulpfuncties voor het opzoeken van provider-authenticatieomgevingsvariabelen |
plugin-sdk/provider-model-shared | Gedeelde hulpfuncties voor providermodel/herhaling | ProviderReplayFamily, buildProviderReplayFamilyHooks, normalizeModelCompat, gedeelde bouwers voor herhalingsbeleid, hulpfuncties voor provider-eindpunten en hulpfuncties voor model-id-normalisatie |
plugin-sdk/provider-catalog-shared | Gedeelde hulpfuncties voor providercatalogus | findCatalogTemplate, buildSingleProviderApiKeyCatalog, buildManifestModelProviderConfig, supportsNativeStreamingUsageCompat, applyProviderNativeStreamingUsageCompat |
plugin-sdk/provider-onboard | Patches voor provideronboarding | Hulpfuncties voor onboardingconfiguratie |
plugin-sdk/provider-http | Provider-HTTP-hulpfuncties | Algemene hulpfuncties voor provider-HTTP/eindpuntmogelijkheden, inclusief hulpfuncties voor multipartformulieren voor audiotranscriptie |
plugin-sdk/provider-web-fetch | Hulpfuncties voor provider-webfetch | Hulpfuncties voor registratie/cache van webfetchproviders |
plugin-sdk/provider-web-search-config-contract | Hulpfuncties voor provider-webzoekconfiguratie | Smalle webzoekconfiguratie-/referentiehulpfuncties voor providers die geen Plugin-inschakelbedrading nodig hebben |
plugin-sdk/provider-web-search-contract | Hulpfuncties voor provider-webzoekcontract | Smalle webzoekconfiguratie-/referentiecontracthulpfuncties zoals createWebSearchProviderContractFields, enablePluginInConfig, resolveProviderWebSearchPluginConfig en scoped setters/getters voor referenties |
plugin-sdk/provider-web-search | Hulpfuncties voor provider-webzoek | Hulpfuncties voor registratie/cache/runtime van webzoekproviders |
plugin-sdk/provider-tools | Hulpfuncties voor provider-tool-/schemacompatibiliteit | ProviderToolCompatFamily, buildProviderToolCompatFamilyHooks en opschoning + diagnostiek voor DeepSeek/Gemini/OpenAI-schema’s |
plugin-sdk/provider-usage | Hulpfuncties voor providergebruik | fetchClaudeUsage, fetchGeminiUsage, fetchGithubCopilotUsage en andere hulpfuncties voor providergebruik |
plugin-sdk/provider-stream | Hulpfuncties voor providerstreamwrappers | ProviderStreamFamily, buildProviderStreamFamilyHooks, composeProviderStreamWrappers, typen voor streamwrappers en gedeelde wrapperhulpfuncties voor Anthropic/Bedrock/DeepSeek V4/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot |
plugin-sdk/provider-transport-runtime | Hulpfuncties voor providertransport | Native providertransporthulpfuncties zoals bewaakte fetch, tekstextractie van toolresultaten, transportberichttransformaties en schrijfbare transportgebeurtenisstreams |
plugin-sdk/keyed-async-queue | Geordende async-wachtrij | KeyedAsyncQueue |
plugin-sdk/media-runtime | Gedeelde mediahulpfuncties | Hulpfuncties voor media ophalen/transformeren/opslaan, door ffprobe ondersteunde detectie van videodimensies en bouwers voor mediapayloads |
plugin-sdk/media-generation-runtime | Gedeelde hulpfuncties voor mediageneratie | Gedeelde failoverhulpfuncties, kandidaatselectie en meldingen voor ontbrekende modellen voor beeld-/video-/muziekgeneratie |
plugin-sdk/media-understanding | Hulpfuncties voor mediabegrip | Providertypen voor mediabegrip plus providergerichte exports van beeld-/audiohulpfuncties |
plugin-sdk/text-runtime | Verouderde brede export voor tekstcompatibiliteit | Gebruik string-coerce-runtime, text-chunking, text-utility-runtime en logging-core |
plugin-sdk/text-chunking | Hulpfuncties voor tekstopdeling | Hulpfunctie voor uitgaande tekstopdeling |
plugin-sdk/speech | Spraakhulpfuncties | Spraakprovidertypen plus providergerichte hulpfuncties voor richtlijnen, register, validatie en OpenAI-compatibele TTS-bouwer |
plugin-sdk/speech-core | Gedeelde spraakkern | Spraakprovidertypen, register, richtlijnen, normalisatie |
plugin-sdk/realtime-transcription | Hulpfuncties voor realtime transcriptie | Providertypen, registerhulpfuncties en gedeelde WebSocket-sessiehulpfunctie |
plugin-sdk/realtime-voice | Hulpfuncties voor realtime spraak | Providertypen, register-/resolutiehulpfuncties, brugsessiehulpfuncties, gedeelde terugspreekwachtrijen voor agents, spraakbesturing voor actieve runs, gezondheid van transcript/gebeurtenissen, echo-onderdrukking, matching van consultvragen, coördinatie van geforceerde consults, tracking van beurtcontext, tracking van uitvoeractiviteit en snelle contextconsult-hulpfuncties |
plugin-sdk/image-generation | Hulpfuncties voor beeldgeneratie | Providertypen voor beeldgeneratie plus hulpfuncties voor beeldassets/data-URL’s en de OpenAI-compatibele beeldproviderbouwer |
plugin-sdk/image-generation-core | Gedeelde kern voor beeldgeneratie | Typen voor beeldgeneratie, failover, authenticatie en registerhulpfuncties |
plugin-sdk/music-generation | Hulpfuncties voor muziekgeneratie | Provider-/aanvraag-/resultaattypen voor muziekgeneratie |
plugin-sdk/music-generation-core | Gedeelde kern voor muziekgeneratie | Typen voor muziekgeneratie, failoverhulpfuncties, provideropzoeking en model-ref-parsing |
plugin-sdk/video-generation | Hulpfuncties voor videogeneratie | Provider-/aanvraag-/resultaattypen voor videogeneratie |
plugin-sdk/video-generation-core | Gedeelde kern voor videogeneratie | Typen voor videogeneratie, failoverhulpfuncties, provideropzoeking en model-ref-parsing |
plugin-sdk/interactive-runtime | Hulpfuncties voor interactieve antwoorden | Normalisatie/reductie van interactieve antwoordpayloads |
plugin-sdk/channel-config-primitives | Primitieven voor kanaalconfiguratie | Smalle primitieve waarden voor kanaalconfiguratieschema’s |
plugin-sdk/channel-config-writes | Hulpfuncties voor schrijven van kanaalconfiguratie | Hulpfuncties voor autorisatie van schrijven naar kanaalconfiguratie |
plugin-sdk/channel-plugin-common | Gedeelde kanaalprelude | Gedeelde prelude-exports voor kanaal-Plugins |
plugin-sdk/channel-status | Hulpfuncties voor kanaalstatus | Gedeelde hulpfuncties voor kanaalstatussnapshots/-samenvattingen |
plugin-sdk/allowlist-config-edit | Hulpfuncties voor allowlistconfiguratie | Hulpfuncties voor bewerken/lezen van allowlistconfiguratie |
plugin-sdk/group-access | Hulpfuncties voor groepstoegang | Gedeelde beslissingshulpfuncties voor groepstoegang |
plugin-sdk/direct-dm, plugin-sdk/direct-dm-access | Verouderde compatibiliteitsfacades | Gebruik plugin-sdk/channel-inbound |
plugin-sdk/direct-dm-guard-policy | Hulpfuncties voor Direct-DM-bewaking | Smalle beleidshelpers voor bewaking vóór crypto |
plugin-sdk/extension-shared | Gedeelde extensiehulpfuncties | Primitieven voor passief kanaal/status en ambient-proxyhulpfuncties |
plugin-sdk/webhook-targets | Hulpfuncties voor Webhook-doelen | Webhook-doelregister en hulpfuncties voor route-installatie |
plugin-sdk/webhook-path | Verouderde alias voor Webhook-pad | Gebruik plugin-sdk/webhook-ingress |
plugin-sdk/web-media | Gedeelde webmediahulpfuncties | Hulpfuncties voor laden van externe/lokale media |
plugin-sdk/zod | Verouderde herexport voor Zod-compatibiliteit | Importeer zod rechtstreeks uit zod |
plugin-sdk/memory-core | Gebundelde memory-core-hulpfuncties | Hulpoppervlak voor geheugenbeheerder/configuratie/bestand/CLI |
plugin-sdk/memory-core-engine-runtime | Runtimefacade voor geheugenengine | Runtimefacade voor geheugenindex/-zoekfunctie |
plugin-sdk/memory-core-host-embedding-registry | Register voor geheugenembeddings | Lichtgewicht registerhulpfuncties voor provider van geheugenembeddings |
plugin-sdk/memory-core-host-engine-foundation | Geheugenhost-foundation-engine | Exports voor geheugenhost-foundation-engine |
plugin-sdk/memory-core-host-engine-embeddings | Geheugenhost-embeddingengine | Contracten voor geheugenembeddings, registertoegang, lokale provider en algemene batch-/externe hulpfuncties; concrete externe providers staan in hun eigen Plugins |
plugin-sdk/memory-core-host-engine-qmd | Geheugenhost-QMD-engine | Exports voor geheugenhost-QMD-engine |
plugin-sdk/memory-core-host-engine-storage | Opslagengine voor geheugenhost | Exports voor opslagengine van geheugenhost |
plugin-sdk/memory-core-host-multimodal | Multimodale hulpfuncties voor geheugenhost | Multimodale hulpfuncties voor geheugenhost |
plugin-sdk/memory-core-host-query | Queryhulpfuncties voor geheugenhost | Queryhulpfuncties voor geheugenhost |
plugin-sdk/memory-core-host-secret | Geheimhulpfuncties voor geheugenhost | Geheimhulpfuncties voor geheugenhost |
plugin-sdk/memory-core-host-events | Verouderde alias voor geheugengebeurtenissen | Gebruik plugin-sdk/memory-host-events |
plugin-sdk/memory-core-host-status | Statushulpfuncties voor geheugenhost | Statushulpfuncties voor geheugenhost |
plugin-sdk/memory-core-host-runtime-cli | CLI-runtime voor geheugenhost | Hulpfuncties voor CLI-runtime van geheugenhost |
plugin-sdk/memory-core-host-runtime-core | Kernruntime voor geheugenhost | Hulpfuncties voor kernruntime van geheugenhost |
plugin-sdk/memory-core-host-runtime-files | Bestands-/runtimehulpfuncties voor geheugenhost | Bestands-/runtimehulpfuncties voor geheugenhost |
plugin-sdk/memory-host-core | Alias voor kernruntime van geheugenhost | Leverancieronafhankelijke alias voor hulpfuncties van kernruntime van geheugenhost |
plugin-sdk/memory-host-events | Alias voor gebeurtenisjournaal van geheugenhost | Leverancieronafhankelijke alias voor hulpfuncties van gebeurtenisjournaal van geheugenhost |
plugin-sdk/memory-host-files | Verouderde alias voor geheugenbestand/-runtime | Gebruik plugin-sdk/memory-core-host-runtime-files |
plugin-sdk/memory-host-markdown | Hulpfuncties voor beheerde Markdown | Gedeelde hulpfuncties voor beheerde Markdown voor geheugenverwante Plugins |
plugin-sdk/memory-host-search | Active Memory-zoekfacade | Luie runtimefacade voor Active Memory-zoekbeheerder |
plugin-sdk/memory-host-status | Verouderde alias voor geheugenhoststatus | Gebruik plugin-sdk/memory-core-host-status |
plugin-sdk/testing | Testhulpmiddelen | Repo-lokale verouderde compatibiliteitsbarrel; gebruik gerichte repo-lokale testsubpaden zoals plugin-sdk/plugin-test-runtime, plugin-sdk/channel-test-helpers, plugin-sdk/channel-target-testing, plugin-sdk/test-env en plugin-sdk/test-fixtures |
scripts/lib/plugin-sdk-entrypoints.json; package-exports worden gegenereerd uit
de publieke subset.
Gereserveerde helper-seams voor gebundelde Plugins zijn uit de publieke SDK-
exportmap gehaald, behalve expliciet gedocumenteerde compatibiliteitsfacades zoals de
verouderde plugin-sdk/discord-shim die behouden blijft voor het gepubliceerde
pakket @openclaw/discord@2026.3.13. Eigenaarsspecifieke helpers staan binnen het
eigenaarspakket van de Plugin; gedeeld hostgedrag moet via generieke SDK-
contracten lopen, zoals plugin-sdk/gateway-runtime, plugin-sdk/security-runtime
en plugin-sdk/plugin-config-runtime.
Gebruik de smalste import die bij de taak past. Als je geen export kunt vinden,
controleer dan de bron in src/plugin-sdk/ of vraag maintainers welk generiek contract
er eigenaar van moet zijn.
Actieve deprecaties
Smalere deprecaties die gelden voor de plugin-SDK, het providercontract, runtime-oppervlak en manifest. Ze werken vandaag nog allemaal, maar worden in een toekomstige major release verwijderd. De vermelding onder elk item koppelt de oude API aan de canonieke vervanging.command-auth-helpbuilders → command-status
command-auth-helpbuilders → command-status
openclaw/plugin-sdk/command-auth): buildCommandsMessage,
buildCommandsMessagePaginated, buildHelpMessage.Nieuw (openclaw/plugin-sdk/command-status): dezelfde signatures, dezelfde
exports - alleen geïmporteerd vanuit het smallere subpad. command-auth
exporteert ze opnieuw als compat-stubs.Mention-gatinghelpers → resolveInboundMentionDecision
Mention-gatinghelpers → resolveInboundMentionDecision
resolveInboundMentionRequirement({ facts, policy }) en
shouldDropInboundForMention(...) uit
openclaw/plugin-sdk/channel-inbound of
openclaw/plugin-sdk/channel-mention-gating.Nieuw: resolveInboundMentionDecision({ facts, policy }) - retourneert één
beslissingsobject in plaats van twee gesplitste calls.Downstream channel-Plugins (Slack, Discord, Matrix, MS Teams) zijn al
overgestapt.Channel-runtime-shim en channel-actionshelpers
Channel-runtime-shim en channel-actionshelpers
openclaw/plugin-sdk/channel-runtime is een compatibiliteitsshim voor oudere
channel-Plugins. Importeer dit niet vanuit nieuwe code; gebruik
openclaw/plugin-sdk/channel-runtime-context voor het registreren van runtime-
objecten.channelActions*-helpers in openclaw/plugin-sdk/channel-actions zijn
verouderd naast ruwe “actions”-channel-exports. Stel capabilities
in plaats daarvan beschikbaar via het semantische presentation-oppervlak -
channel-Plugins declareren wat ze renderen (cards, buttons, selects) in plaats van welke ruwe
action-namen ze accepteren.Webzoekprovider-tool()-helper → createTool() op de Plugin
Webzoekprovider-tool()-helper → createTool() op de Plugin
tool()-factory uit openclaw/plugin-sdk/provider-web-search.Nieuw: implementeer createTool(...) rechtstreeks op de provider-Plugin.
OpenClaw heeft de SDK-helper niet langer nodig om de tool-wrapper te registreren.Plaintext-channel-envelopes → BodyForAgent
Plaintext-channel-envelopes → BodyForAgent
formatInboundEnvelope(...) (en
ChannelMessageForAgent.channelEnvelope) om een platte plaintext prompt-
envelope te bouwen uit inkomende channel-berichten.Nieuw: BodyForAgent plus gestructureerde gebruikerscontextblokken. Channel-
Plugins koppelen routeringsmetadata (thread, topic, reply-to, reactions) als
getypeerde velden in plaats van ze samen te voegen tot een promptstring. De
helper formatAgentEnvelope(...) wordt nog steeds ondersteund voor gesynthetiseerde
assistant-facing envelopes, maar inkomende plaintext-envelopes worden
uitgefaseerd.Betrokken gebieden: inbound_claim, message_received en elke aangepaste
channel-Plugin die channelEnvelope-tekst nabewerkte.deactivate-hook → gateway_stop
deactivate-hook → gateway_stop
api.on("deactivate", handler).Nieuw: api.on("gateway_stop", handler). De event en context zijn hetzelfde
shutdown-cleanupcontract; alleen de hooknaam verandert.deactivate blijft tot na 2026-08-16 gekoppeld als een verouderde
compatibiliteitsalias.subagent_spawning-hook → core-threadbinding
subagent_spawning-hook → core-threadbinding
api.on("subagent_spawning", handler) retourneert
threadBindingReady of deliveryOrigin.Nieuw: laat core thread: true-subagentbindings voorbereiden via de
channel session-bindingadapter. Gebruik api.on("subagent_spawned", handler)
alleen voor observatie na de start.subagent_spawning, PluginHookSubagentSpawningEvent,
PluginHookSubagentSpawningResult en
SubagentLifecycleHookRunner.runSubagentSpawning(...) blijven alleen bestaan als
verouderde compatibiliteitsoppervlakken terwijl externe Plugins migreren.Provider-discoverytypes → provider-catalogustypes
Provider-discoverytypes → provider-catalogustypes
| Oude alias | Nieuw type |
|---|---|
ProviderDiscoveryOrder | ProviderCatalogOrder |
ProviderDiscoveryContext | ProviderCatalogContext |
ProviderDiscoveryResult | ProviderCatalogResult |
ProviderPluginDiscovery | ProviderPluginCatalog |
ProviderCapabilities-bag - provider-Plugins
moeten expliciete providerhooks gebruiken, zoals buildReplayPolicy,
normalizeToolSchemas en wrapStreamFn, in plaats van een statisch object.Thinking-policyhooks → resolveThinkingProfile
Thinking-policyhooks → resolveThinkingProfile
ProviderThinkingPolicy):
isBinaryThinking(ctx), supportsXHighThinking(ctx) en
resolveDefaultThinkingLevel(ctx).Nieuw: één resolveThinkingProfile(ctx) die een
ProviderThinkingProfile retourneert met de canonieke id, optionele label en
gerangschikte niveaulijst. OpenClaw verlaagt verouderde opgeslagen waarden automatisch
op basis van profielrang.De context bevat provider, modelId, optioneel samengevoegde reasoning
en optioneel samengevoegde model-compat-feiten. Provider-Plugins kunnen die
catalogusfeiten gebruiken om een modelspecifiek profiel alleen beschikbaar te stellen wanneer het geconfigureerde
requestcontract dit ondersteunt.Implementeer één hook in plaats van drie. De legacy hooks blijven werken tijdens
de deprecationperiode, maar worden niet gecombineerd met het profielresultaat.Externe authproviders → contracts.externalAuthProviders
Externe authproviders → contracts.externalAuthProviders
contracts.externalAuthProviders in het Plugin-manifest
en implementeer resolveExternalAuthProfiles(...).Provider-env-var-lookup → setup.providers[].envVars
Provider-env-var-lookup → setup.providers[].envVars
providerAuthEnvVars: { anthropic: ["ANTHROPIC_API_KEY"] }.Nieuw: spiegel dezelfde env-var-lookup naar setup.providers[].envVars
op het manifest. Dit consolideert setup/status-env-metadata op één
plek en voorkomt dat de Plugin-runtime alleen hoeft te starten om env-var-
lookups te beantwoorden.providerAuthEnvVars blijft ondersteund via een compatibiliteitsadapter
totdat de deprecationperiode sluit.Memory-Pluginregistratie → registerMemoryCapability
Memory-Pluginregistratie → registerMemoryCapability
api.registerMemoryPromptSection(...),
api.registerMemoryFlushPlan(...),
api.registerMemoryRuntime(...).Nieuw: één call op de memory-state-API -
registerMemoryCapability(pluginId, { promptBuilder, flushPlanResolver, runtime }).Dezelfde slots, één registratiecall. Additieve prompt- en corpushelpers
(registerMemoryPromptSupplement, registerMemoryCorpusSupplement) worden
niet beïnvloed.Memory-embeddingprovider-API
Memory-embeddingprovider-API
api.registerMemoryEmbeddingProvider(...) plus
contracts.memoryEmbeddingProviders.Nieuw: api.registerEmbeddingProvider(...) plus
contracts.embeddingProviders.Het generieke embeddingprovidercontract is buiten memory herbruikbaar en is
het ondersteunde pad voor nieuwe providers. De memory-specifieke registratie-API
blijft gekoppeld als verouderde compatibiliteit terwijl bestaande providers migreren.
Plugin-inspectie rapporteert niet-gebundeld gebruik als compatibiliteitsschuld.Subagent-sessionberichttypes hernoemd
Subagent-sessionberichttypes hernoemd
src/plugins/runtime/types.ts:| Oud | Nieuw |
|---|---|
SubagentReadSessionParams | SubagentGetSessionMessagesParams |
SubagentReadSessionResult | SubagentGetSessionMessagesResult |
readSession is verouderd ten gunste van
getSessionMessages. Dezelfde signature; de oude methode roept door naar de
nieuwe.runtime.tasks.flow → runtime.tasks.managedFlows
runtime.tasks.flow → runtime.tasks.managedFlows
runtime.tasks.flow (enkelvoud) retourneerde een live task-flow-accessor.Nieuw: runtime.tasks.managedFlows behoudt de beheerde TaskFlow-mutatie-
runtime voor Plugins die child-taken vanuit een flow maken, bijwerken, annuleren of uitvoeren.
Gebruik runtime.tasks.flows wanneer de Plugin alleen DTO-gebaseerde reads nodig heeft.Ingebedde extensiefactories → agent tool-result-middleware
Ingebedde extensiefactories → agent tool-result-middleware
api.registerEmbeddedExtensionFactory(...) wordt vervangen door
api.registerAgentToolResultMiddleware(...) met een expliciete runtimelijst
in contracts.agentToolResultMiddleware.OpenClawSchemaType-alias → OpenClawConfig
OpenClawSchemaType-alias → OpenClawConfig
OpenClawSchemaType, opnieuw geëxporteerd vanuit openclaw/plugin-sdk, is nu een
alias van één regel voor OpenClawConfig. Geef de voorkeur aan de canonieke naam.extensions/) worden bijgehouden in hun eigen api.ts- en runtime-api.ts-
barrels. Ze hebben geen invloed op Plugin-contracten van derden en worden hier niet
vermeld. Als je de lokale barrel van een gebundelde Plugin rechtstreeks gebruikt, lees dan de
deprecationcomments in die barrel voordat je upgradet.Verwijderingstijdlijn
| Wanneer | Wat er gebeurt |
|---|---|
| Nu | Verouderde oppervlakken geven runtime-waarschuwingen |
| Volgende major release | Verouderde oppervlakken worden verwijderd; plugins die ze nog gebruiken falen |
De waarschuwingen tijdelijk onderdrukken
Stel deze omgevingsvariabelen in terwijl je aan de migratie werkt:Gerelateerd
- Aan de slag - bouw je eerste plugin
- SDK-overzicht - volledige importreferentie voor subpaden
- Kanaalplugins - kanaalplugins bouwen
- Provider-plugins - provider-plugins bouwen
- Plugin-internals - diepgaande architectuurverkenning
- Pluginmanifest - referentie voor manifestschema