Plugins
Plugins
Plugins breiden OpenClaw uit met kanalen, modelproviders, agentharnassen, tools, Skills, spraak, realtime transcriptie, stem, mediabegrip, generatie, webophaling, webzoeken en andere runtimemogelijkheden.
Gebruik deze pagina om een Plugin te installeren, de Gateway opnieuw te starten, te controleren of de runtime de Plugin heeft geladen en veelvoorkomende configuratiefouten op te lossen. Zie voor voorbeelden met alleen opdrachten Plugins beheren. Zie voor de gegenereerde inventaris van gebundelde, officiële externe en uitsluitend in de broncode aanwezige Plugins Plugininventaris.
Vereisten
- een OpenClaw-checkout of -installatie waarin de
openclawCLI beschikbaar is - netwerktoegang tot de geselecteerde bron (ClawHub, npm of een git-host)
- alle Pluginspecifieke inloggegevens, configuratiesleutels of OS-tools die in de installatiedocumentatie van die Plugin worden genoemd
- toestemming om de Gateway die jouw kanalen bedient opnieuw te laden of te starten
Snel aan de slag
Zoek de Plugin
Zoek in ClawHub naar openbare Pluginpakketten:
openclaw plugins search "calendar"ClawHub is het belangrijkste ontdekkingsplatform voor community-Plugins. Tijdens de
overgang bij de lancering worden gewone kale pakketspecificaties nog steeds vanuit npm geïnstalleerd, tenzij
ze overeenkomen met een officiële Plugin-id. Kale @openclaw/*-specificaties die overeenkomen met een
gebundelde Plugin verwijzen naar die gebundelde kopie. Gebruik een expliciet bronvoorvoegsel
wanneer je specifiek één bron nodig hebt.
Installeer de Plugin
# Vanuit ClawHub.openclaw plugins install clawhub:<package> # Vanuit npm.openclaw plugins install npm:<package> # Vanuit git.openclaw plugins install git:github.com/<owner>/<repo>@<ref> # Vanuit een lokale ontwikkelcheckout.openclaw plugins install ./my-pluginopenclaw plugins install --link ./my-pluginBehandel Plugininstallaties alsof je code uitvoert. Geef voor
reproduceerbare productie-installaties de voorkeur aan vastgezette versies. ClawHub-pakketten en de
gebundelde/officiële catalogus van OpenClaw zijn vertrouwde bronnen. Voor nieuwe willekeurige npm-, git-,
lokale pad-/archief-, npm-pack:- of marketplace-bronnen is
--force vereist bij niet-interactieve installaties nadat je
de bron hebt beoordeeld en vertrouwd.
Configureer en schakel de Plugin in
Configureer Pluginspecifieke instellingen onder plugins.entries.<id>.config.
Schakel de Plugin in als deze nog niet is ingeschakeld:
openclaw plugins enable <plugin-id>Als plugins.allow is ingesteld, moet de id van de geïnstalleerde Plugin in die lijst staan
voordat de Plugin kan worden geladen. openclaw plugins install voegt de geïnstalleerde
id toe aan een bestaande plugins.allow-lijst en verwijdert dezelfde id uit
plugins.deny, zodat de expliciete installatie na het opnieuw starten kan worden geladen.
Laat de Gateway opnieuw laden
Voor het installeren, bijwerken of verwijderen van Plugincode moet de Gateway opnieuw worden gestart. Een beheerde Gateway waarvoor het opnieuw laden van configuratie is ingeschakeld, detecteert de gewijzigde Plugininstallatierecord en start automatisch opnieuw. Start de Gateway anders zelf opnieuw:
openclaw gateway restartIn-/uitschakelen werkt de configuratie en het koude register bij. Een runtime-inspectie is nog steeds het duidelijkste bewijs van actieve runtime-oppervlakken.
Controleer runtimeregistratie
openclaw plugins inspect <plugin-id> --runtime --jsonGebruik --runtime om geregistreerde tools, hooks, services, Gateway-
methoden of CLI-opdrachten van de Plugin aan te tonen. Gewone inspect is alleen een koude controle
van het manifest en register.
Configuratie
Kies een installatiebron
| Bron | Gebruiken wanneer | Voorbeeld |
|---|---|---|
| ClawHub | Je OpenClaw-eigen ontdekking, scans, versiemetadata en installatietips wilt | openclaw plugins install clawhub:<package> |
| npm | Je directe workflows voor het npm-register of dist-tags nodig hebt | openclaw plugins install npm:<package> |
| git | Je een branch, tag of commit uit een repository nodig hebt | openclaw plugins install git:github.com/<owner>/<repo>@<ref> |
| lokaal pad | Je een Plugin op dezelfde machine ontwikkelt of test | openclaw plugins install --link ./my-plugin |
| marketplace | Je een Claude-compatibele marketplace-Plugin installeert | openclaw plugins install <plugin> --marketplace <source> |
Kale pakketspecificaties hebben speciaal compatibiliteitsgedrag: een kale naam die
overeenkomt met de id van een gebundelde Plugin gebruikt die gebundelde bron; een kale naam die overeenkomt
met de id van een officiële externe Plugin gebruikt de officiële pakketcatalogus; elke andere
kale specificatie wordt tijdens de overgang bij de lancering via npm geïnstalleerd. Kale @openclaw/*-
specificaties die overeenkomen met gebundelde Plugins verwijzen ook naar de gebundelde kopie vóór de
terugval op npm. Gebruik npm:@openclaw/<plugin>@<version> om bewust het
externe npm-pakket te installeren in plaats van de gebundelde kopie. Gebruik clawhub:, npm:,
git: of npm-pack: voor deterministische bronselectie. Zie
openclaw plugins voor het volledige opdrachtcontract.
Voor npm-installaties kiezen niet-vastgezette specificaties en @latest het nieuwste stabiele
pakket dat compatibiliteit met deze OpenClaw-build vermeldt. Als de
huidige nieuwste npm-release een nieuwere openclaw.compat.pluginApi of
openclaw.install.minHostVersion declareert dan deze build ondersteunt, scant OpenClaw
oudere stabiele versies en installeert het de nieuwste passende versie. Exacte versies
en expliciete kanaaltags zoals @beta blijven aan het geselecteerde pakket vastgezet
en mislukken wanneer ze incompatibel zijn.
Installatiebeleid voor beheerders
Configureer security.installPolicy om een vertrouwde lokale beleidsopdracht uit te voeren
voordat een Plugininstallatie of -update doorgaat. Het beleid ontvangt metadata plus
het klaargezette bronpad en kan de installatie toestaan of blokkeren. Dit geldt voor zowel CLI-
als Gateway-gebaseerde installatie-/updatepaden. Pluginhooks voor before_install worden
later uitgevoerd, en alleen in OpenClaw-processen waarin Pluginhooks zijn geladen, dus gebruik
in plaats daarvan security.installPolicy voor installatiebeslissingen van de beheerder. De
verouderde vlag --dangerously-force-unsafe-install wordt voor
compatibiliteit geaccepteerd, maar doet niets: deze omzeilt het installatiebeleid of de ingebouwde
blokkeerlijst voor Pluginafhankelijkheden van OpenClaw niet.
Zie Skills-configuratie
voor het gedeelde security.installPolicy-execschema dat door zowel Skills als
Plugins wordt gebruikt.
Pluginbeleid configureren
De algemene vorm van de Pluginconfiguratie is:
{ plugins: { enabled: true, allow: ["voice-call"], deny: ["untrusted-plugin"], load: { paths: ["~/Projects/oss/voice-call-plugin"] }, slots: { memory: "memory-core" }, entries: { "voice-call": { enabled: true, config: { provider: "twilio" } }, }, },}Belangrijkste beleidsregels:
plugins.enabled: falseschakelt alle Plugins uit en slaat ontdekkings-/laadwerk over. Verouderde Pluginverwijzingen blijven inactief zolang dit actief is; schakel Plugins opnieuw in voordat je doctor-opruiming uitvoert als je verouderde id's wilt verwijderen.plugins.denyheeft voorrang op de toelatingslijst en inschakeling per Plugin.plugins.allowis een exclusieve toelatingslijst. Tools van Plugins buiten de toelatingslijst blijven niet beschikbaar, zelfs wanneertools.allow"*"bevat.plugins.entries.<id>.enabled: falseschakelt één Plugin uit terwijl de configuratie behouden blijft.plugins.load.pathsvoegt expliciete lokale Pluginbestanden of -mappen toe. Beheerde lokale paden inplugins installmoeten Pluginmappen of -archieven zijn; gebruikplugins.load.pathsvoor zelfstandige Pluginbestanden.- Plugins uit de workspace zijn standaard uitgeschakeld; schakel ze expliciet in of voeg ze toe aan de toelatingslijst voordat je lokale workspacecode gebruikt.
- Gebundelde Plugins volgen hun ingebouwde metadata voor standaard aan/uit, tenzij de configuratie dit expliciet overschrijft.
plugins.slots.<slot>(memoryofcontextEngine) kiest één Plugin voor een exclusieve categorie. Slotselectie telt als expliciete activering en schakelt de geselecteerde Plugin voor dat slot geforceerd in, zelfs als deze anders aanmelding vereist.plugins.denyenplugins.entries.<id>.enabled: falseblokkeren de Plugin nog steeds.- Gebundelde opt-in-Plugins kunnen automatisch worden geactiveerd wanneer de configuratie een van hun eigen oppervlakken noemt, zoals een provider-/modelverwijzing, kanaalconfiguratie, CLI-backend of agentharnasruntime.
- Codex-routering binnen de OpenAI-familie houdt de grenzen tussen provider- en runtime-Plugins
gescheiden: verouderde Codex-modelverwijzingen zijn verouderde configuratie die doctor herstelt,
terwijl de gebundelde Plugin
codexeigenaar is van de Codex-app-serverruntime voor canoniekeopenai/*-agentverwijzingen, explicieteagentRuntime.id: "codex"en verouderdecodex/*-verwijzingen.
Wanneer plugins.allow niet is ingesteld en niet-gebundelde Plugins automatisch worden ontdekt vanuit
de workspace of algemene Pluginroots, registreert het opstarten
plugins.allow is empty; discovered non-bundled plugins may auto-load: ...
met de ontdekte Plugin-id's en, voor korte lijsten, een minimaal plugins.allow-
fragment. Voer openclaw plugins list --enabled --verbose
of openclaw plugins inspect <id> uit voor de vermelde
Plugin-id voordat je vertrouwde Plugins naar openclaw.json kopieert. Dezelfde
vertrouwensvastzetting geldt wanneer diagnostiek meldt dat een Plugin is geladen
without install/load-path provenance: inspecteer die Plugin-id en zet deze vervolgens vast in
plugins.allow of installeer opnieuw vanuit een vertrouwde bron, zodat OpenClaw de installatieherkomst
vastlegt.
Voer openclaw doctor of openclaw doctor --fix uit wanneer configuratievalidatie
verouderde Plugin-id's, discrepanties in toelatingslijsten/tools of verouderde paden van gebundelde Plugins
meldt.
Pluginindelingen begrijpen
OpenClaw herkent twee Pluginindelingen:
| Indeling | Hoe deze wordt geladen | Gebruiken wanneer |
|---|---|---|
| Systeemeigen OpenClaw-Plugin | openclaw.plugin.json plus een runtimemodule die in het proces wordt geladen |
Je OpenClaw-specifieke runtimemogelijkheden installeert of bouwt |
| Compatibele bundel | Codex-, Claude- of Cursor-Pluginindeling toegewezen aan de OpenClaw-Plugininventaris | Je compatibele Skills, opdrachten, hooks of bundelmetadata hergebruikt |
Beide indelingen verschijnen in openclaw plugins list, openclaw plugins inspect,
openclaw plugins enable en openclaw plugins disable. Zie
Pluginbundels voor de compatibiliteitsgrens van bundels en
Plugins bouwen voor het maken van systeemeigen Plugins.
Pluginhooks
Plugins kunnen tijdens runtime hooks registreren via twee verschillende API's:
api.on(...)getypeerde hooks voor levenscyclusgebeurtenissen van de runtime. Dit is het voorkeursoppervlak voor middleware, beleid, het herschrijven van berichten, het vormgeven van prompts en toolbeheer.api.registerHook(...)voor het interne hooksysteem dat wordt beschreven in Hooks. Dit is voornamelijk bedoeld voor grove neveneffecten van opdrachten/de levenscyclus en compatibiliteit met bestaande automatisering in HOOK-stijl.
Vuistregel: als de handler prioriteit, samenvoegsemantiek of
blokkeer-/annuleergedrag nodig heeft, gebruik dan getypeerde hooks. Als de handler alleen reageert op command:new,
command:reset, message:sent of vergelijkbare grove gebeurtenissen, volstaat api.registerHook.
Door Plugins beheerde interne hooks verschijnen in openclaw hooks list met
plugin:<id>. Je kunt ze niet in- of uitschakelen via openclaw hooks;
schakel in plaats daarvan de Plugin in of uit.
De actieve Gateway controleren
openclaw plugins list en gewone openclaw plugins inspect lezen koude configuratie-,
manifest- en registerstatus. Ze bewijzen niet dat een reeds actieve
Gateway dezelfde plugincode heeft geïmporteerd.
Wanneer een plugin geïnstalleerd lijkt, maar livechatverkeer deze niet gebruikt:
openclaw gateway status --deep --require-rpcopenclaw plugins inspect <plugin-id> --runtime --jsonopenclaw gateway restartBeheerde Gateways worden automatisch opnieuw gestart na installatie-, update- en
verwijderingswijzigingen van plugins die de pluginbron veranderen. Zorg er bij VPS- of containerinstallaties
voor dat een handmatige herstart gericht is op het daadwerkelijke onderliggende proces openclaw gateway run dat
je kanalen bedient, en niet alleen op een wrapper of supervisor.
Probleemoplossing
| Symptoom | Controle | Oplossing |
|---|---|---|
Plugin verschijnt in plugins list, maar runtime-hooks worden niet uitgevoerd |
Gebruik openclaw plugins inspect <id> --runtime --json en bevestig de actieve Gateway met gateway status --deep --require-rpc |
Start de live Gateway opnieuw na installatie-, update-, configuratie- of bronwijzigingen |
| Diagnostiek over dubbel eigenaarschap van kanalen of tools verschijnt | Voer openclaw plugins list --enabled --verbose uit, inspecteer elke verdachte plugin met --runtime --json en vergelijk het eigenaarschap van kanalen/tools |
Schakel één eigenaar uit, verwijder verouderde installaties of gebruik manifest preferOver voor opzettelijke vervanging |
| Configuratie meldt dat een plugin ontbreekt | Controleer Plugininventaris om te bepalen of deze gebundeld, officieel extern of alleen als bron beschikbaar is | Installeer het externe pakket, schakel de gebundelde plugin in of verwijder verouderde configuratie |
| Configuratie is ongeldig tijdens installatie | Lees het validatiebericht en voer openclaw doctor --fix uit als het naar een verouderde pluginstatus verwijst |
Doctor kan ongeldige pluginconfiguratie in quarantaine plaatsen door de vermelding uit te schakelen en de ongeldige payload te verwijderen |
| Pluginpad is geblokkeerd wegens verdacht eigenaarschap of verdachte machtigingen | Inspecteer de diagnostiek vóór de configuratiefout | Herstel het eigenaarschap/de machtigingen van het bestandssysteem en voer daarna openclaw plugins registry --refresh uit |
OPENCLAW_NIX_MODE=1 blokkeert levenscyclusopdrachten |
Bevestig dat de installatie door Nix wordt beheerd | Wijzig de pluginselectie in de Nix-bron in plaats van mutatieopdrachten voor plugins te gebruiken |
| Importeren van afhankelijkheid mislukt tijdens runtime | Controleer of de plugin via npm/git/ClawHub is geïnstalleerd of vanuit een lokaal pad is geladen | Voer openclaw plugins update <id> uit, installeer de bron opnieuw of installeer zelf de lokale plugin-afhankelijkheden |
Wanneer de payloadverificatie van een ingeschakelde beheerde plugin mislukt tijdens het
opstarten van de Gateway, plaatst OpenClaw precies die geïnstalleerde pluginroot voor deze opstart
in quarantaine en blijft het andere plugins bedienen. openclaw status --all, openclaw health
en openclaw doctor rapporteren deze als configured-unavailable. Herstel of installeer
de plugin opnieuw en start daarna de Gateway opnieuw. Een gezonde expliciete plugins.load.paths-override
met dezelfde plugin-id wordt niet in quarantaine geplaatst door een verouderde defecte installatie.
Wanneer verouderde pluginconfiguratie nog steeds een kanaalplugin noemt die niet langer detecteerbaar is,
verlaagt configuratievalidatie die kanaalsleutel tot een waarschuwing in plaats van een harde
fout, zodat de Gateway bij het opstarten nog steeds alle andere kanalen kan bedienen. Voer
openclaw doctor --fix uit om verouderde plugin- en kanaalvermeldingen te verwijderen. Onbekende
kanaalsleutels zonder bewijs van een verouderde plugin blijven validatie afkeuren, zodat typefouten
zichtbaar blijven.
Voor opzettelijke kanaalvervanging moet de voorkeursplugin
channelConfigs.<channel-id>.preferOver declareren met de id van de oudere plugin of de plugin met lagere prioriteit.
Als beide plugins expliciet zijn ingeschakeld, respecteert OpenClaw dat verzoek
en rapporteert het diagnostiek over dubbele kanalen/tools in plaats van stilzwijgend
één eigenaar te kiezen.
Als een geïnstalleerd pakket meldt dat het requires compiled runtime output for TypeScript entry ..., is het pakket gepubliceerd zonder de JavaScript-bestanden
die OpenClaw tijdens runtime nodig heeft. Werk het bij of installeer het opnieuw nadat de uitgever
gecompileerd JavaScript heeft uitgebracht, of schakel de plugin uit/verwijder deze tot die tijd.
Geblokkeerd eigenaarschap van pluginpad
Als de diagnostiek
blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
meldt en validatie wordt gevolgd door plugin present but blocked, heeft OpenClaw
pluginbestanden gevonden die eigendom zijn van een andere Unix-gebruiker dan het proces dat ze laadt.
Laat de pluginconfiguratie staan; herstel het eigenaarschap van het bestandssysteem of voer OpenClaw
uit als dezelfde gebruiker die eigenaar is van de statusmap.
Voor Docker-installaties wordt de officiële image uitgevoerd als node (uid 1000), dus de
vanaf de host als bind-mount gekoppelde OpenClaw-configuratie- en werkruimtemappen moeten normaal gesproken
eigendom zijn van uid 1000:
sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspaceAls je OpenClaw opzettelijk als root uitvoert, herstel je in plaats daarvan de beheerde pluginroot naar eigenaarschap van root:
sudo chown -R root:root /path/to/openclaw-config/npmVoer na het herstellen van het eigenaarschap openclaw doctor --fix of
openclaw plugins registry --refresh opnieuw uit, zodat het persistente pluginregister
overeenkomt met de herstelde bestanden.
Trage installatie van plugintools
Als agentbeurten lijken vast te lopen tijdens het voorbereiden van tools, schakel dan trace-logging in en controleer op timingregels van plugintoolfactories:
openclaw config set logging.level traceopenclaw logs --followZoek naar:
[trace:plugin-tools] factory timings ...Het overzicht vermeldt de totale factorytijd en de traagste factories voor plugintools, inclusief plugin-id, gedeclareerde toolnamen, resultaatvorm en of de tool optioneel is. Trage regels worden tot waarschuwingen gepromoveerd wanneer één factory minstens 1s duurt of de totale voorbereiding van factories voor plugintools minstens 5s duurt.
OpenClaw cachet succesvolle resultaten van factories voor plugintools voor herhaalde resoluties met dezelfde effectieve aanvraagcontext. De cachesleutel omvat de effectieve runtimeconfiguratie, werkruimte- en agent-id, sandboxbeleid, browserinstellingen, bezorgingscontext, identiteit van de aanvrager en eigendomsstatus, zodat factories die van deze vertrouwde velden afhankelijk zijn opnieuw worden uitgevoerd wanneer de context verandert. Als de tijden hoog blijven, voert de plugin mogelijk kostbaar werk uit voordat de tooldefinities worden geretourneerd.
Als één plugin de timing domineert, inspecteer dan de runtimeregistraties ervan:
openclaw plugins inspect <plugin-id> --runtime --jsonWerk die plugin vervolgens bij, installeer deze opnieuw of schakel deze uit. Pluginauteurs moeten het kostbaar laden van afhankelijkheden verplaatsen naar het uitvoeringspad van de tool in plaats van dit binnen de toolfactory te doen.
Zie voor afhankelijkheidsroots, validatie van pakketmetadata, registerrecords, herlaadgedrag bij het opstarten en opschoning van verouderde gegevens: Resolutie van plugin-afhankelijkheden.
Gerelateerd
- Plugins beheren - opdrachtvoorbeelden voor weergeven, installeren, bijwerken, verwijderen en publiceren
openclaw plugins- volledige CLI-referentie- Plugininventaris - gegenereerde lijst met gebundelde en externe plugins
- Pluginreferentie - gegenereerde referentiepagina's per plugin
- Communityplugins - ClawHub-detectie en beleid voor documentatie-PR's
- Resolutie van plugin-afhankelijkheden - installatieroots, registerrecords en runtimegrenzen
- Plugins bouwen - handleiding voor het ontwikkelen van native plugins
- Overzicht van de Plugin SDK - runtimeregistratie, hooks en API-velden
- Pluginmanifest - manifest- en pakketmetadata