Vereisten
Controleer voordat je een plugin installeert of je beschikt over:- een OpenClaw-checkout of -installatie waarin de
openclawCLI beschikbaar is - netwerktoegang tot de geselecteerde bron, zoals ClawHub, npm of een git-host
- eventuele pluginspecifieke referenties, configuratiesleutels of besturingssysteemtools die in de installatiedocumentatie van die plugin worden genoemd
- toestemming voor de Gateway die je kanalen bedient om opnieuw te laden of opnieuw te starten
Snelstart
Zoek de plugin
Doorzoek ClawHub naar openbare pluginpakketten:ClawHub is het primaire ontdekkingsoppervlak voor communityplugins. Tijdens
de lanceringsovergang installeren gewone kale pakketspecificaties nog steeds
vanaf npm, tenzij ze overeenkomen met een officiële plugin-id. Onbewerkte
@openclaw/*-pakketspecificaties die overeenkomen met gebundelde plugins
gebruiken de gebundelde kopie uit de huidige OpenClaw-build. Gebruik een
expliciet voorvoegsel wanneer je één bron nodig hebt.Installeer de plugin
Configureer en schakel deze in
Configureer pluginspecifieke instellingen onder Als je configuratie een beperkende
plugins.entries.<id>.config.
Schakel de plugin in wanneer deze nog niet is ingeschakeld:plugins.allow-lijst gebruikt, moet de
geïnstalleerde plugin-id daarin aanwezig zijn voordat de plugin kan laden.
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 een herstart kan laden.Laat de Gateway opnieuw laden
Voor het installeren, bijwerken of verwijderen van plugincode is een
herstart van de Gateway vereist. Wanneer er al een beheerde Gateway draait
met configuratieherladen ingeschakeld, detecteert OpenClaw het gewijzigde
plugininstallatierecord en start het de Gateway automatisch opnieuw. Als de
Gateway niet wordt beheerd of herladen is uitgeschakeld, start deze dan zelf
opnieuw:In- en uitschakelbewerkingen werken de configuratie bij en vernieuwen de
koude registry. Een runtime-inspectie blijft het duidelijkste verificatiepad
voor live runtime-oppervlakken.
Configuratie
Kies een installatiebron
| Bron | Gebruik wanneer | Voorbeeld |
|---|---|---|
| ClawHub | Je OpenClaw-native ontdekking, scans, versiemetadata en installatiehints wilt | openclaw plugins install clawhub:<package> |
| npm | Je directe npm-registry- of dist-tag-workflows 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> |
@openclaw/*-pakketspecificaties die overeenkomen met gebundelde plugins worden
ook eerst naar de gebundelde kopie opgelost voordat npm als fallback wordt
gebruikt. Gebruik npm:@openclaw/<plugin>@<version> wanneer je bewust het
externe npm-pakket wilt gebruiken in plaats van de door de image beheerde
gebundelde kopie. Gebruik clawhub:, npm:, git: of npm-pack: wanneer je
deterministische bronselectie nodig hebt. Zie
openclaw plugins voor het volledige opdrachtcontract.
Voor npm-installaties kiezen niet-vastgepinde pakketspecificaties en @latest
het nieuwste stabiele pakket dat compatibiliteit met deze OpenClaw-build
adverteert. Als de huidige nieuwste release van npm een nieuwere
openclaw.compat.pluginApi of openclaw.install.minHostVersion declareert,
scant OpenClaw oudere stabiele pakketversies en installeert het de nieuwste die
past. Exacte versies en expliciete kanaaltags zoals @beta blijven vastgepind
op het geselecteerde pakket en mislukken wanneer ze incompatibel zijn.
Installatiebeleid voor operators
Configureersecurity.installPolicy om een vertrouwde lokale beleidsopdracht uit
te voeren voordat de installatie of update van een plugin doorgaat. Het beleid
ontvangt metadata plus het gestagede bronpad en kan de installatie toestaan of
blokkeren. Het dekt CLI- en Gateway-ondersteunde paden voor installatie/update
van plugins. Plugin-before_install-hooks draaien later alleen in
OpenClaw-processen waarin plugin-hooks zijn geladen, dus gebruik
security.installPolicy voor installatiebeslissingen die eigendom zijn van de
operator. De verouderde vlag --dangerously-force-unsafe-install wordt voor
compatibiliteit geaccepteerd, maar omzeilt het installatiebeleid of de ingebouwde
denylist voor pluginafhankelijkheden van OpenClaw niet.
Zie Skills-configuratie
voor het gedeelde security.installPolicy-execschema dat door zowel Skills als
plugins wordt gebruikt.
Configureer pluginbeleid
De algemene vorm van pluginconfiguratie is:plugins.enabled: falseschakelt alle plugins uit en slaat werk voor pluginontdekking/-laden over. Verouderde pluginverwijzingen zijn inert zolang dit actief is; schakel plugins opnieuw in voordat je doctor cleanup uitvoert wanneer je verouderde id’s wilt verwijderen.plugins.denywint van allow en per-plugin-inschakeling.plugins.allowis een exclusieve allowlist. Tools die eigendom zijn van plugins buiten de allowlist blijven onbeschikbaar, 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 voorplugins installmoeten pluginmappen of archieven zijn; gebruikplugins.load.pathsvoor zelfstandige pluginbestanden.- Plugins uit de workspace zijn standaard uitgeschakeld; schakel ze expliciet in of zet ze op de allowlist voordat je lokale workspace-code gebruikt.
- Gebundelde plugins volgen hun ingebouwde default-on/default-off-metadata, tenzij configuratie deze expliciet overschrijft.
plugins.slots.<slot>kiest één plugin voor exclusieve categorieën zoals geheugen- en context-engines. Slotselectie schakelt de geselecteerde plugin geforceerd in voor dat slot door te tellen als expliciete activatie; deze kan laden, zelfs wanneer deze anders opt-in zou zijn.plugins.denyenplugins.entries.<id>.enabled: falseblokkeren deze nog steeds.- Gebundelde opt-in-plugins kunnen automatisch activeren wanneer de configuratie een van hun eigen oppervlakken noemt, zoals een provider/model-ref, kanaalconfiguratie, CLI-backend of agent-harnasruntime.
- OpenAI-familie Codex-routing houdt provider- en runtime-plugin-grenzen
gescheiden: legacy Codex-modelrefs zijn legacyconfiguratie die door doctor
wordt gerepareerd, terwijl de gebundelde
codex-plugin eigenaar is van de Codex app-serverruntime voor canoniekeopenai/*-agentrefs, explicieteagentRuntime.id: "codex"en legacycodex/*-refs.
plugins.allow niet is ingesteld en niet-gebundelde plugins automatisch
worden ontdekt vanuit de workspace of globale pluginroots, logt startup
plugins.allow is empty; discovered non-bundled plugins may auto-load: ....
De waarschuwing bevat ontdekte plugin-id’s en, voor korte lijsten, een minimale
plugins.allow-snippet. Voer
openclaw plugins list --enabled --verbose of
openclaw plugins inspect <id> uit met de vermelde
plugin-id voordat je vertrouwde plugins naar openclaw.json kopieert. Dezelfde
richtlijn voor trust-pinning geldt wanneer diagnostics aangeven dat een plugin
is geladen without install/load-path provenance: inspecteer die plugin-id en
pin vervolgens de vertrouwde id 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, mismatches tussen allowlist/tools
of legacy gebundelde pluginpaden rapporteert.
Pluginformaten begrijpen
OpenClaw herkent twee pluginformaten:| Formaat | Hoe het laadt | Gebruik wanneer |
|---|---|---|
| Native OpenClaw-plugin | openclaw.plugin.json plus een runtimemodule die in-process wordt geladen | Je OpenClaw-specifieke runtime-mogelijkheden installeert of bouwt |
| Compatibele bundel | Codex-, Claude- of Cursor-pluginlay-out gemapt naar OpenClaw-plugininventaris | Je compatibele Skills, opdrachten, hooks of bundelmetadata hergebruikt |
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 native plugins.
Plugin-hooks
Plugins kunnen hooks registreren tijdens runtime, maar er zijn twee verschillende API’s met verschillende taken.- Gebruik getypeerde hooks via
api.on(...)voor runtime-lifecyclehooks. Dit is het voorkeursoppervlak voor middleware, beleid, het herschrijven van berichten, promptvorming en toolbeheer. - Gebruik
api.registerHook(...)alleen wanneer je wilt deelnemen aan het interne hooksysteem dat wordt beschreven in Hooks. Dit is vooral bedoeld voor grove opdracht-/lifecycle-bijwerkingen en compatibiliteit met bestaande HOOK-achtige automatisering.
- Als de handler prioriteit, merge-semantiek of blokkeer-/annuleergedrag nodig heeft, gebruik dan getypeerde plugin-hooks.
- Als de handler alleen reageert op
command:new,command:reset,message:sentof vergelijkbare grove events, isapi.registerHook(...)prima.
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.
Controleer de actieve Gateway
openclaw plugins list en gewone openclaw plugins inspect lezen koude configuratie,
manifest- en registerstatus. Ze bewijzen niet dat een al draaiende Gateway
dezelfde plugincode heeft geïmporteerd.
Wanneer een plugin geïnstalleerd lijkt, maar live chatverkeer deze niet gebruikt:
openclaw gateway run-kindproces dat
je kanalen bedient, 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 | Herstart de live Gateway na installatie-, update-, configuratie- of bronwijzigingen |
| Diagnostiek voor dubbele kanaal- of tool-eigendom verschijnt | Voer openclaw plugins list --enabled --verbose uit, inspecteer elke verdachte plugin met --runtime --json en vergelijk kanaal-/tool-eigendom | Schakel één eigenaar uit, verwijder verouderde installaties, of gebruik manifest preferOver voor bedoelde vervanging |
| Configuratie zegt dat een plugin ontbreekt | Controleer Plugin-inventaris om te zien of deze gebundeld, officieel extern of alleen broncode 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 wanneer het naar verouderde pluginstatus verwijst | Doctor kan ongeldige pluginconfiguratie in quarantaine plaatsen door de invoer uit te schakelen en de ongeldige payload te verwijderen |
| Pluginpad wordt geblokkeerd wegens verdachte eigendom of rechten | Inspecteer de diagnostiek vóór de configuratiefout | Herstel bestandssysteemeigendom/-rechten en voer daarna openclaw plugins registry --refresh uit |
OPENCLAW_NIX_MODE=1 blokkeert levenscyclusopdrachten | Bevestig dat de installatie door Nix wordt beheerd | Wijzig pluginselectie in de Nix-bron in plaats van plugin-mutatieopdrachten te gebruiken |
| Dependency-import mislukt tijdens runtime | Controleer of de plugin via npm/git/ClawHub is geïnstalleerd of vanaf een lokaal pad is geladen | Voer openclaw plugins update <id> uit, installeer de bron opnieuw, of installeer lokale pluginafhankelijkheden zelf |
openclaw doctor --fix uit om verouderde plugin- en kanaalvermeldingen
te verwijderen. Onbekende kanaalsleutels zonder bewijs van verouderde plugins blijven
validatie laten mislukken, zodat typefouten zichtbaar blijven.
Voor bedoelde kanaalvervanging moet de voorkeursplugin
channelConfigs.<channel-id>.preferOver declareren met de legacy of lagere-prioriteit
plugin-id. Als beide plugins expliciet zijn ingeschakeld, behoudt OpenClaw dat verzoek
en rapporteert het diagnostiek voor dubbele kanaal- of tool-eigendom in plaats van stilzwijgend
één eigenaar te kiezen.
Als een geïnstalleerd pakket meldt dat het requires compiled runtime output for TypeScript entry ..., dan is het pakket gepubliceerd zonder de JavaScript-bestanden
die OpenClaw tijdens runtime nodig heeft. Update of installeer opnieuw nadat de uitgever
gecompileerde JavaScript levert, of schakel de plugin tot die tijd uit/verwijder deze.
Geblokkeerde eigendom van pluginpad
Als plugindiagnostiek zegtblocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
en configuratievalidatie volgt met 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 bestandssysteemeigendom of voer
OpenClaw uit als dezelfde gebruiker die eigenaar is van de statusmap.
Voor Docker-installaties draait de officiële image als node (uid 1000), dus de
vanaf de host bind-mounted OpenClaw-configuratie- en werkruimtemappen horen normaal gesproken
eigendom te zijn van uid 1000:
openclaw doctor --fix of
openclaw plugins registry --refresh uit, zodat het vastgelegde pluginregister overeenkomt
met de herstelde bestanden.
Trage instelling van plugintools
Als agentbeurten lijken te blijven hangen tijdens het voorbereiden van tools, schakel trace-logging in en controleer op timingregels voor plugintool-factories:Gerelateerd
- Plugins beheren - opdrachtvoorbeelden voor weergeven, installeren, bijwerken, verwijderen en publiceren
openclaw plugins- volledige CLI-referentie- Plugin-inventaris - gegenereerde lijst met gebundelde en externe plugins
- Pluginreferentie - gegenereerde referentiepagina’s per plugin
- Communityplugins - ClawHub-ontdekking en beleid voor docs-PR’s
- Plugin dependency resolution - installatieroots, registerrecords en runtimegrenzen
- Plugins bouwen - gids voor native pluginauteurs
- Plugin SDK-overzicht - runtimeregistratie, hooks en API-velden
- Pluginmanifest - manifest- en pakketmetadata