Plugins
Plugins
Plugins breiden OpenClaw uit met kanalen, modelproviders, agentharnassen, tools, Skills, spraak, realtime transcriptie, stem, mediabegrip, generatie, webophaling, webzoeken en andere runtimefunctionaliteiten.
Gebruik deze pagina om een Plugin te installeren, de Gateway opnieuw te starten, te verifiëren dat de runtime deze heeft geladen en veelvoorkomende configuratiefouten op te lossen. Zie Plugins beheren voor voorbeelden die alleen opdrachten bevatten. Zie Plugin-inventaris voor de gegenereerde inventaris van gebundelde, officiële externe en uitsluitend vanuit broncode beschikbare Plugins.
Vereisten
- een checkout of installatie van OpenClaw waarin de
openclaw-CLI beschikbaar is - netwerktoegang tot de geselecteerde bron (ClawHub, npm of een git-host)
- alle Pluginspecifieke referenties, configuratiesleutels of besturingssysteemtools die in de configuratiedocumentatie van die Plugin worden genoemd
- toestemming om de Gateway die uw kanalen bedient opnieuw te laden of te starten
Snel aan de slag
De Plugin zoeken
Zoek in ClawHub naar openbare Pluginpakketten:
openclaw plugins search "calendar"ClawHub is het primaire 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. Onbewerkte @openclaw/*-specificaties die overeenkomen met een
gebundelde Plugin worden naar die gebundelde kopie omgezet. Gebruik een
expliciet bronvoorvoegsel wanneer u specifiek één bron nodig hebt.
De Plugin installeren
# 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 u code uitvoert. Geef voor reproduceerbare productie-installaties de voorkeur aan vastgezette versies.
De Plugin configureren en inschakelen
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 geïnstalleerde Plugin-id 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 een herstart kan worden geladen.
De Gateway opnieuw laten 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 deze anders zelf opnieuw:
openclaw gateway restartBij het in- of uitschakelen worden de configuratie en het koude register bijgewerkt. Een runtime-inspectie blijft het duidelijkste bewijs van actieve runtime-oppervlakken.
Runtimeregistratie verifiëren
openclaw plugins inspect <plugin-id> --runtime --jsonGebruik --runtime om geregistreerde tools, hooks, services,
Gateway-methoden of CLI-opdrachten van de Plugin aan te tonen. Een gewone
inspect controleert alleen het koude manifest en register.
Configuratie
Een installatiebron kiezen
| Bron | Gebruiken wanneer | Voorbeeld |
|---|---|---|
| ClawHub | U OpenClaw-eigen ontdekking, scans, versiemetadata en installatiehints wilt | openclaw plugins install clawhub:<package> |
| npm | U rechtstreekse workflows met het npm-register of dist-tags nodig hebt | openclaw plugins install npm:<package> |
| git | U een branch, tag of commit uit een repository nodig hebt | openclaw plugins install git:github.com/<owner>/<repo>@<ref> |
| lokaal pad | U op dezelfde machine een Plugin ontwikkelt of test | openclaw plugins install --link ./my-plugin |
| marktplaats | U een Claude-compatibele marktplaats-Plugin installeert | openclaw plugins install <plugin> --marketplace <source> |
Kale pakketspecificaties hebben speciaal compatibiliteitsgedrag: een kale naam
die overeenkomt met een gebundelde Plugin-id gebruikt die gebundelde bron; een
kale naam die overeenkomt met een officiële externe Plugin-id gebruikt de
officiële pakketcatalogus; elke andere kale specificatie wordt tijdens de
overgang bij de lancering via npm geïnstalleerd. Onbewerkte
@openclaw/*-specificaties die overeenkomen met gebundelde Plugins worden
eveneens vóór de terugval naar npm naar de gebundelde kopie omgezet. Gebruik
npm:@openclaw/<plugin>@<version> om doelbewust 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 selecteren niet-vastgezette specificaties en @latest
het nieuwste stabiele pakket dat compatibiliteit met deze OpenClaw-build
aangeeft. Als de huidige nieuwste npm-release een nieuwere
openclaw.compat.pluginApi of openclaw.install.minHostVersion declareert dan
deze build ondersteunt, doorzoekt 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 operators
Configureer security.installPolicy om een vertrouwde lokale beleidsopdracht
uit te voeren voordat een Plugininstallatie of -update doorgaat. Het beleid
ontvangt metadata plus het pad naar de voorbereide bron en kan de installatie
toestaan of blokkeren. Het geldt zowel voor installatie- en updatepaden via de
CLI als voor die via de Gateway. Pluginhooks van het type before_install
worden later uitgevoerd, en alleen in OpenClaw-processen waarin Pluginhooks
zijn geladen. Gebruik daarom in plaats daarvan security.installPolicy voor
installatiebeslissingen van de operator. De verouderde vlag
--dangerously-force-unsafe-install wordt om compatibiliteitsredenen
geaccepteerd, maar doet niets: deze omzeilt noch het installatiebeleid, noch de
ingebouwde blokkeerlijst voor Pluginafhankelijkheden van OpenClaw.
Zie Skills-configuratie
voor het gedeelde uitvoeringsschema van security.installPolicy 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- en laadwerk over. Verouderde Pluginverwijzingen blijven inactief zolang dit actief is; schakel Plugins opnieuw in voordat u opschoning met doctor uitvoert als u verouderde id's wilt verwijderen.plugins.denyheeft voorrang op de toestemmingslijst en inschakeling per Plugin.plugins.allowis een exclusieve toestemmingslijst. Tools van Plugins die niet op de toestemmingslijst staan, blijven onbeschikbaar, zelfs wanneertools.allow"*"bevat.plugins.entries.<id>.enabled: falseschakelt één Plugin uit en behoudt de configuratie ervan.plugins.load.pathsvoegt expliciete lokale Pluginbestanden of -mappen toe. Lokale paden die worden beheerd metplugins installmoeten Pluginmappen of archieven zijn; gebruikplugins.load.pathsvoor zelfstandige Pluginbestanden.- Plugins die uit de werkruimte afkomstig zijn, zijn standaard uitgeschakeld; schakel ze expliciet in of voeg ze toe aan de toestemmingslijst voordat u lokale werkruimtecode gebruikt.
- Gebundelde Plugins volgen hun ingebouwde metadata voor standaard ingeschakeld of standaard uitgeschakeld, tenzij de configuratie dit expliciet overschrijft.
plugins.slots.<slot>(memoryofcontextEngine) selecteert één Plugin voor een exclusieve categorie. Slotsselectie geldt als expliciete activering en schakelt de geselecteerde Plugin voor die slot geforceerd in, zelfs als deze anders opt-in zou zijn.plugins.denyenplugins.entries.<id>.enabled: falseblokkeren deze nog steeds.- Gebundelde opt-in-Plugins kunnen automatisch worden geactiveerd wanneer de configuratie een van hun eigen oppervlakken benoemt, zoals een provider-/modelverwijzing, kanaalconfiguratie, CLI-backend of runtime van een agentharnas.
- Codex-routering binnen de OpenAI-familie houdt de grenzen tussen
provider- en runtime-Plugins gescheiden: verouderde Codex-modelverwijzingen
zijn verouderde configuratie die door doctor wordt hersteld, terwijl de
gebundelde
codex-Plugin eigenaar 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 vanuit de werkruimte of globale Pluginhoofdmappen worden ontdekt,
wordt bij het opstarten
plugins.allow is empty; discovered non-bundled plugins may auto-load: ...
gelogd, met de 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 voor de vermelde
Plugin-id voordat u vertrouwde Plugins naar openclaw.json kopieert. Dezelfde
vertrouwensvastlegging geldt wanneer diagnostiek meldt dat een Plugin is
geladen without install/load-path provenance: inspecteer die Plugin-id en
leg deze vervolgens vast in plugins.allow, of installeer deze opnieuw vanuit
een vertrouwde bron zodat OpenClaw de installatieherkomst registreert.
Voer openclaw doctor of openclaw doctor --fix uit wanneer
configuratievalidatie verouderde Plugin-id's, verschillen tussen
toestemmingslijsten en tools of verouderde paden van gebundelde Plugins meldt.
Pluginindelingen begrijpen
OpenClaw herkent twee Pluginindelingen:
| Indeling | Hoe deze wordt geladen | Gebruiken wanneer |
|---|---|---|
| Native OpenClaw-Plugin | openclaw.plugin.json plus een runtimemodule die in het proces wordt geladen |
U OpenClaw-specifieke runtimefunctionaliteiten installeert of bouwt |
| Compatibele bundel | Codex-, Claude- of Cursor-Pluginindeling die aan de OpenClaw-Plugininventaris wordt gekoppeld | U 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 native Plugins.
Pluginhooks
Plugins kunnen tijdens runtime hooks registreren via twee verschillende API's:
- Getypeerde hooks met
api.on(...)voor gebeurtenissen in de runtimelevenscyclus. Dit is het voorkeursoppervlak voor middleware, beleid, het herschrijven van berichten, promptvormgeving en toolbeheer. api.registerHook(...)voor het interne hooksysteem dat wordt beschreven in Hooks. Dit is voornamelijk bedoeld voor grove neveneffecten van opdrachten of de levenscyclus en compatibiliteit met bestaande automatisering in HOOK-stijl.
Vuistregel: gebruik getypeerde hooks als de handler prioriteit,
samenvoegsemantiek of blokkeer-/annuleergedrag nodig heeft. Als deze alleen
reageert op command:new, command:reset, message:sent of vergelijkbare
grove gebeurtenissen, volstaat api.registerHook.
Interne hooks die door Plugins worden beheerd, verschijnen in
openclaw hooks list met plugin:<id>. U kunt deze niet in- of uitschakelen
via openclaw hooks; schakel in plaats daarvan de Plugin in of uit.
De actieve Gateway verifiëren
openclaw plugins list en een gewone openclaw plugins inspect lezen de
koude configuratie-, manifest- en registerstatus. Ze bewijzen niet dat een al
actieve Gateway dezelfde Plugincode heeft geïmporteerd.
Wanneer een Plugin als geïnstalleerd wordt weergegeven, maar actief chatverkeer 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 wijzigen. 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.
Problemen oplossen
| Symptoom | Controle | Oplossing |
|---|---|---|
Plugin verschijnt in plugins list, maar runtimehooks worden niet uitgevoerd |
Gebruik openclaw plugins inspect <id> --runtime --json en controleer de actieve Gateway met gateway status --deep --require-rpc |
Start de actieve Gateway opnieuw na wijzigingen aan installatie, update, configuratie of bron |
| 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 preferOver in het manifest voor doelbewuste vervanging |
| Configuratie meldt dat een plugin ontbreekt | Controleer in Pluginoverzicht 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 de installatie | Lees de validatiemelding en voer openclaw doctor --fix uit als deze naar verouderde pluginstatus verwijst |
Doctor kan ongeldige pluginconfiguratie isoleren door de vermelding uit te schakelen en de ongeldige inhoud te verwijderen |
| Pluginpad wordt geblokkeerd vanwege verdacht eigenaarschap of verdachte machtigingen | Bekijk de diagnose 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 |
Controleer of de installatie door Nix wordt beheerd | Wijzig de pluginselectie in de Nix-bron in plaats van opdrachten te gebruiken die plugins wijzigen |
| 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 lokale pluginafhankelijkheden zelf |
Wanneer verouderde pluginconfiguratie nog steeds een kanaalplugin vermeldt die
niet langer kan worden gevonden, verlaagt configuratievalidatie die kanaalsleutel
van een harde fout naar een waarschuwing, zodat de Gateway bij het opstarten alle
andere kanalen nog kan bedienen. Voer openclaw doctor --fix uit om verouderde
plugin- en kanaalvermeldingen te verwijderen. Onbekende kanaalsleutels zonder
bewijs van een verouderde plugin leiden nog steeds tot mislukte validatie, zodat
typefouten zichtbaar blijven.
Voor doelbewuste vervanging van een kanaal moet de voorkeursplugin
channelConfigs.<channel-id>.preferOver declareren met de id van de verouderde
plugin of de plugin met lagere prioriteit. Als beide plugins expliciet zijn
ingeschakeld, respecteert OpenClaw dat verzoek en meldt het diagnostiek over
dubbel eigenaarschap van 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 pakket bij of installeer het
opnieuw nadat de uitgever gecompileerd JavaScript heeft uitgebracht, of schakel
de plugin tot die tijd uit of verwijder deze.
Geblokkeerd eigenaarschap van pluginpaden
Als de diagnostiek
blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
meldt en de validatie daarna plugin present but blocked weergeeft, heeft
OpenClaw pluginbestanden gevonden die eigendom zijn van een andere Unix-gebruiker
dan het proces dat ze laadt. Laat de pluginconfiguratie intact; herstel het
eigenaarschap van het bestandssysteem of voer OpenClaw uit als dezelfde gebruiker
die eigenaar is van de statusmap.
Bij Docker-installaties wordt de officiële image uitgevoerd als node (uid
1000), waardoor de vanaf de host gekoppelde OpenClaw-configuratie- en
werkruimtemappen normaal gesproken eigendom moeten zijn van uid 1000:
sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspaceAls je OpenClaw doelbewust als root uitvoert, stel je in plaats daarvan root in als eigenaar van de beheerde pluginhoofdmap:
sudo chown -R root:root /path/to/openclaw-config/npmVoer na het herstellen van het eigenaarschap opnieuw openclaw doctor --fix of
openclaw plugins registry --refresh uit, zodat het opgeslagen pluginregister
overeenkomt met de herstelde bestanden.
Trage configuratie van plugintools
Als agentbeurten lijken vast te lopen tijdens het voorbereiden van tools, schakel dan tracelogboekregistratie in en controleer op timingregels van plugintoolfabrieken:
openclaw config set logging.level traceopenclaw logs --followZoek naar:
[trace:plugin-tools] factory timings ...Het overzicht vermeldt de totale fabriekstijd en de traagste plugintoolfabrieken, inclusief plugin-id, gedeclareerde toolnamen, resultaatvorm en of de tool optioneel is. Trage regels worden als waarschuwingen weergegeven wanneer één fabriek minstens 1 seconde nodig heeft of de totale voorbereiding van plugintoolfabrieken minstens 5 seconden duurt.
OpenClaw slaat succesvolle resultaten van plugintoolfabrieken in de cache op voor herhaalde oplossingen met dezelfde effectieve aanvraagcontext. De cachesleutel omvat de effectieve runtimeconfiguratie, werkruimte- en agent-id, sandboxbeleid, browserinstellingen, afleveringscontext, identiteit van de aanvrager en eigendomsstatus, zodat fabrieken die van deze vertrouwde velden afhankelijk zijn opnieuw worden uitgevoerd wanneer de context verandert. Als de timings hoog blijven, voert de plugin mogelijk kostbaar werk uit voordat deze de tooldefinities retourneert.
Als één plugin de timing domineert, inspecteer dan de runtimeregistraties:
openclaw plugins inspect <plugin-id> --runtime --jsonWerk die plugin vervolgens bij, installeer deze opnieuw of schakel deze uit. Pluginauteurs moeten het kostbare laden van afhankelijkheden naar het uitvoeringspad van de tool verplaatsen in plaats van dit binnen de toolfabriek uit te voeren.
Zie Oplossing van pluginafhankelijkheden voor hoofdmaplocaties van afhankelijkheden, validatie van pakketmetadata, registervermeldingen, herlaadgedrag bij het opstarten en opschoning van verouderde gegevens.
Gerelateerd
- Plugins beheren - opdrachtvoorbeelden voor weergeven, installeren, bijwerken, verwijderen en publiceren
openclaw plugins- volledige CLI-referentie- Pluginoverzicht - gegenereerde lijst met gebundelde en externe plugins
- Pluginreferentie - gegenereerde referentiepagina's per plugin
- Communityplugins - ontdekking via ClawHub en beleid voor documentatie-PR's
- Oplossing van pluginafhankelijkheden - installatiehoofdmaplocaties, registervermeldingen 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