Referentie voor hetDocumentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
api.runtime-object dat tijdens registratie in elke plugin wordt geinjecteerd. Gebruik deze helpers in plaats van host-internals rechtstreeks te importeren.
Channel plugins
Stapsgewijze gids die deze helpers in context gebruikt voor kanaalplugins.
Provider plugins
Stapsgewijze gids die deze helpers in context gebruikt voor providerplugins.
Config laden en schrijven
Geef de voorkeur aan config die al aan het actieve aanroeppad is doorgegeven, bijvoorbeeldapi.config tijdens registratie of een cfg-argument op kanaal-/providercallbacks. Zo blijft er een processnapshot door het werk stromen in plaats van config opnieuw te parsen op hot paths.
Gebruik api.runtime.config.current() alleen wanneer een langlevende handler de huidige processnapshot nodig heeft en er geen config aan die functie is doorgegeven. De geretourneerde waarde is alleen-lezen; kloon deze of gebruik een mutatiehelper voordat je bewerkt.
Toolfactories ontvangen ctx.runtimeConfig plus ctx.getRuntimeConfig(). Gebruik de getter binnen de execute-callback van een langlevende tool wanneer config kan veranderen nadat de tooldefinitie is gemaakt.
Sla wijzigingen op met api.runtime.config.mutateConfigFile(...) of api.runtime.config.replaceConfigFile(...). Elke schrijfactie moet een expliciet afterWrite-beleid kiezen:
afterWrite: { mode: "auto" }laat de Gateway-herlaadplanner beslissen.afterWrite: { mode: "restart", reason: "..." }dwingt een schone herstart af wanneer de schrijver weet dat hot reload onveilig is.afterWrite: { mode: "none", reason: "..." }onderdrukt automatisch herladen/herstarten alleen wanneer de aanroeper de opvolging bezit.
afterWrite plus een getypeerde followUp-samenvatting, zodat aanroepers kunnen loggen of testen of ze een herstart hebben aangevraagd. De Gateway blijft bepalen wanneer die herstart daadwerkelijk plaatsvindt.
api.runtime.config.loadConfig() en api.runtime.config.writeConfigFile(...) zijn verouderde compatibiliteitshelpers onder runtime-config-load-write. Ze waarschuwen eenmaal tijdens runtime en blijven beschikbaar voor oude externe plugins tijdens het migratievenster. Gebundelde plugins mogen ze niet gebruiken; de configgrensbewakers falen als plugincode ze aanroept of die helpers importeert uit Plugin SDK-subpaden.
Gebruik voor rechtstreekse SDK-imports de gerichte configsubpaden in plaats van de brede compatibiliteitsbarrel
openclaw/plugin-sdk/config-runtime: config-contracts voor
typen, plugin-config-runtime voor reeds geladen configasserties en plugin-
entrylookup, runtime-config-snapshot voor huidige processnapshots en
config-mutation voor schrijfoperaties. Tests van gebundelde plugins moeten deze gerichte
subpaden rechtstreeks mocken in plaats van de brede compatibiliteitsbarrel te mocken.
Interne OpenClaw-runtimecode volgt dezelfde richting: laad config eenmaal aan de CLI-, Gateway- of procesgrens en geef die waarde daarna door. Succesvolle mutatieschrijfacties vernieuwen de procesruntime-snapshot en verhogen de interne revisie; langlevende caches moeten sleutelen op de runtime-eigen cachesleutel in plaats van config lokaal te serialiseren. Langlevende runtimemodules hebben een zero-tolerance scanner voor omgevingsaanroepen naar loadConfig(); gebruik een doorgegeven cfg, een request-context.getRuntimeConfig() of getRuntimeConfig() aan een expliciete procesgrens.
Provider- en kanaaluitvoeringspaden moeten de actieve runtime-configsnapshot gebruiken, niet een bestandssnapshot die is geretourneerd voor configteruglezing of bewerking. Bestandssnapshots behouden bronwaarden zoals SecretRef-markeringen voor UI en schrijfoperaties; providercallbacks hebben de opgeloste runtimeweergave nodig. Wanneer een helper kan worden aangeroepen met de actieve bronsnapshot of de actieve runtime-snapshot, routeer dan via selectApplicableRuntimeConfig() voordat je credentials leest.
Runtimenamespaces
api.runtime.agent
api.runtime.agent
Agentidentiteit, directories en sessiebeheer.Geef de voorkeur aan
runEmbeddedAgent(...) is de neutrale helper voor het starten van een normale OpenClaw-agentbeurt vanuit plugincode. Deze gebruikt dezelfde provider-/modelresolutie en agent-harnessselectie als kanaalgetriggerde antwoorden.runEmbeddedPiAgent(...) blijft beschikbaar als compatibiliteitsalias.resolveThinkingPolicy(...) retourneert de ondersteunde thinking-niveaus en optionele standaard van de provider/het model. Providerplugins beheren het modelspecifieke profiel via hun thinking-hooks, dus toolplugins moeten deze runtimehelper aanroepen in plaats van providerlijsten te importeren of te dupliceren.normalizeThinkingLevel(...) zet gebruikerstekst zoals on, x-high of extra high om naar het canonieke opgeslagen niveau voordat dit wordt gecontroleerd tegen het opgeloste beleid.Sessieopslaghelpers staan onder api.runtime.agent.session:updateSessionStore(...) of updateSessionStoreEntry(...) voor runtime-schrijfoperaties. Ze routeren via de sessieopslagschrijver die eigendom is van de Gateway, behouden gelijktijdige updates en hergebruiken de hot cache. saveSessionStore(...) blijft beschikbaar voor compatibiliteit en offline onderhoudsachtige herschrijfacties.api.runtime.agent.defaults
api.runtime.agent.defaults
Standaardmodel- en providerconstanten:
api.runtime.llm
api.runtime.llm
Voer een tekstaanduiding uit die eigendom is van de host zonder providerinternals te importeren of
OpenClaw-model-/auth-/basis-URL-voorbereiding te dupliceren.De helper gebruikt hetzelfde eenvoudige completion-voorbereidingspad als de ingebouwde
runtime van OpenClaw en de runtime-configsnapshot die eigendom is van de host. Contextengines
ontvangen een sessiegebonden
llm.complete-capability, zodat modelaanroepen de
agent van de actieve sessie gebruiken en niet stilzwijgend terugvallen op de standaardagent. Het
resultaat bevat provider-/model-/agenttoeschrijving plus genormaliseerd token-,
cache- en geschat kostengebruik wanneer beschikbaar.api.runtime.subagent
api.runtime.subagent
Start en beheer subagent-runs op de achtergrond.
deleteSession(...) kan sessies verwijderen die door dezelfde plugin zijn gemaakt via api.runtime.subagent.run(...). Het verwijderen van willekeurige gebruikers- of operatorsessies vereist nog steeds een admin-scoped Gateway-request.api.runtime.nodes
api.runtime.nodes
Toon verbonden nodes en roep een node-hostcommando aan vanuit door de Gateway geladen plugincode of vanuit Plugin CLI-commando’s. Gebruik dit wanneer een plugin lokaal werk bezit op een gekoppeld apparaat, bijvoorbeeld een browser- of audiobridge op een andere Mac.Binnen de Gateway draait deze runtime in-process. In Plugin CLI-commando’s roept deze de geconfigureerde Gateway aan via RPC, zodat commando’s zoals
openclaw googlemeet recover-tab gekoppelde nodes vanuit de terminal kunnen inspecteren. Node-commando’s lopen nog steeds via normale Gateway-nodekoppeling, commando-allowlists, plugin-node-invoke-beleid en node-lokale commandoafhandeling.Plugins die gevaarlijke node-hostcommando’s blootstellen, moeten een node-invoke-beleid registreren met api.registerNodeInvokePolicy(...). Het beleid draait in de Gateway na allowlistcontroles voor commando’s en voordat het commando naar de node wordt doorgestuurd, zodat rechtstreekse node.invoke-aanroepen en hogere plugin-tools hetzelfde handhavingspad delen.api.runtime.tasks.managedFlows
api.runtime.tasks.managedFlows
Bind een Task Flow-runtime aan een bestaande OpenClaw-sessiesleutel of vertrouwde toolcontext en maak en beheer daarna Task Flows zonder bij elke aanroep een eigenaar door te geven.Task Flow volgt duurzame workflowstatus over meerdere stappen. Het is geen planner:
gebruik Cron of Gebruik
api.session.workflow.scheduleSessionTurn(...) voor toekomstige
wakeups en gebruik daarna managedFlows vanuit de geplande beurt wanneer dat werk
flowstatus, child-tasks, waits of annulering nodig heeft.bindSession({ sessionKey, requesterOrigin }) wanneer je al een vertrouwde OpenClaw-sessiesleutel hebt vanuit je eigen koppelingslaag. Koppel niet vanuit ruwe gebruikersinvoer.api.runtime.tts
api.runtime.tts
Tekst-naar-spraaksynthese.Gebruikt de kernconfiguratie
messages.tts en providerselectie. Retourneert PCM-audiobuffer + samplefrequentie.api.runtime.mediaUnderstanding
api.runtime.mediaUnderstanding
Analyse van afbeeldingen, audio en video.Retourneert
{ text: undefined } wanneer er geen uitvoer wordt geproduceerd (bijvoorbeeld overgeslagen invoer).api.runtime.stt.transcribeAudioFile(...) blijft bestaan als compatibiliteitsalias voor api.runtime.mediaUnderstanding.transcribeAudioFile(...).api.runtime.imageGeneration
api.runtime.imageGeneration
Afbeeldingen genereren.
api.runtime.webSearch
api.runtime.webSearch
Webzoekopdracht.
api.runtime.media
api.runtime.media
Laag-niveau mediahulpprogramma’s.
api.runtime.config
api.runtime.config
Huidige snapshot van de runtimeconfiguratie en transactionele configuratieschrijfbewerkingen. Geef de voorkeur aan
configuratie die al aan het actieve aanroeppad is doorgegeven; gebruik
current() alleen wanneer de handler de processnapshot direct nodig heeft.mutateConfigFile(...) en replaceConfigFile(...) retourneren een followUp-
waarde, bijvoorbeeld { mode: "restart", requiresRestart: true, reason },
die de intentie van de schrijver vastlegt zonder de herstartcontrole van de
Gateway over te nemen.api.runtime.system
api.runtime.system
Systeemhulpprogramma’s.
api.runtime.events
api.runtime.events
Gebeurtenisabonnementen.
api.runtime.logging
api.runtime.logging
Logboekregistratie.
api.runtime.modelAuth
api.runtime.modelAuth
Resolutie van model- en providerauthenticatie.
api.runtime.state
api.runtime.state
Resolutie van de statusmap en SQLite-ondersteunde opslag met sleutels.Opslagen met sleutels overleven herstarts en zijn geïsoleerd per runtime-gebonden Plugin-id. Gebruik
registerIfAbsent(...) voor atomaire deduplicatieclaims: dit retourneert true wanneer de sleutel ontbrak of verlopen was en is geregistreerd, of false wanneer er al een live waarde bestaat zonder de waarde, aanmaaktijd of TTL te overschrijven. Limieten: maxEntries per naamruimte, 1.000 live rijen per Plugin, JSON-waarden onder 64 KB en optionele TTL-vervaldatum.api.runtime.tools
api.runtime.tools
Geheugentoolfactories en CLI.
api.runtime.channel
api.runtime.channel
Kanaalspecifieke runtimehelpers (beschikbaar wanneer een kanaalplugin is geladen).Beschikbare vermeldingshelpers:
api.runtime.channel.mentions is het gedeelde oppervlak voor inkomend vermeldingsbeleid voor gebundelde kanaalplugins die runtime-injectie gebruiken:buildMentionRegexesmatchesMentionPatternsmatchesMentionWithExplicitimplicitMentionKindWhenresolveInboundMentionDecision
api.runtime.channel.mentions stelt bewust niet de oudere compatibiliteitshelpers resolveMentionGating* bloot. Geef de voorkeur aan het genormaliseerde pad { facts, policy }.Runtimeverwijzingen opslaan
GebruikcreatePluginRuntimeStore om de runtimeverwijzing op te slaan voor gebruik buiten de callback register:
Geef de voorkeur aan
pluginId voor de identiteit van de runtime-store. De vorm key op lager niveau is bedoeld voor ongebruikelijke gevallen waarin één plugin bewust meer dan één runtimeslot nodig heeft.Andere top-level api-velden
Naast api.runtime biedt het API-object ook:
Plugin-id.
Weergavenaam van de Plugin.
Huidige configuratie-snapshot (actieve runtime-snapshot in het geheugen indien beschikbaar).
Plugin-specifieke configuratie uit
plugins.entries.<id>.config.Scoped logger (
debug, info, warn, error).Huidige laadmodus;
"setup-runtime" is het lichtgewicht opstart-/setupvenster vóór de volledige entry.Los een pad op relatief aan de hoofdmap van de plugin.
Gerelateerd
- Interne Plugin-werking — mogelijkhedenmodel en register
- SDK-entrypoints —
definePluginEntry-opties - SDK-overzicht — subpadreferentie