OpenClaw installeert niet de volledige afhankelijkheidsboom van elke meegeleverde Plugin tijdens de pakketinstallatie. Het leidt eerst een effectief Plugin-plan af uit de configuratie en Plugin-metadata, en zet daarna alleen runtime-afhankelijkheden klaar voor meegeleverde, door OpenClaw beheerde Plugins die het plan daadwerkelijk kan laden. Deze pagina behandelt verpakte runtime-afhankelijkheden voor meegeleverde OpenClaw-Plugins. Plugins van derden en aangepaste Plugin-paden blijven expliciete Plugin-installatiecommando’s gebruiken, zoalsDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openclaw plugins install en openclaw plugins update.
Verantwoordelijkheidsverdeling
OpenClaw beheert het plan en het beleid:- welke Plugins actief zijn voor deze configuratie
- welke afhankelijkheidsroots schrijfbaar of alleen-lezen zijn
- wanneer herstel is toegestaan
- welke Plugin-id’s voor het opstarten worden klaargezet
- laatste controles voordat Plugin-runtime-modules worden geïmporteerd
- resolutie van de pakketgraaf
- verwerking van productie-, optionele en peer-afhankelijkheden
node_modules-indeling- pakketintegriteit
- lock- en installatiemetadata
pnpm of npm moet het bestandssysteem laten overeenkomen met die beslissing.
OpenClaw beheert ook de coördinatie-lock per installatieroot. Pakketbeheerders beschermen hun eigen installatietransactie, maar serialiseren niet de manifest-writes van OpenClaw, het kopiëren/hernoemen van geïsoleerde stages, de eindvalidatie of Plugin-import tegen een andere Gateway, doctor of CLI-proces dat dezelfde runtime-afhankelijkheidsroot aanraakt.
Effectief Plugin-plan
Het effectieve Plugin-plan wordt afgeleid uit de configuratie plus ontdekte Plugin-metadata. Deze invoer kan runtime-afhankelijkheden van meegeleverde Plugins activeren:plugins.entries.<id>.enabledplugins.allow,plugins.denyenplugins.enabled- legacy kanaalconfiguratie zoals
channels.telegram.enabled - geconfigureerde providers, modellen of CLI-backendverwijzingen waarvoor een Plugin vereist is
- meegeleverde manifeststandaarden zoals
enabledByDefault - de geïnstalleerde Plugin-index en meegeleverde manifestmetadata
Opstartflow
Gateway-opstart verwerkt de configuratie en bouwt de opstart-Plugin-opzoektabel voordat Plugin-runtime-modules worden geladen. Daarna zet de opstartflow alleen runtime-afhankelijkheden klaar voor destartupPluginIds die door dat plan zijn geselecteerd.
Voor verpakte installaties is afhankelijkheidsstaging toegestaan vóór Plugin-import. Na staging importeert de runtime-loader opstart-Plugins met installatieherstel uitgeschakeld; op dat moment wordt ontbrekende afhankelijkheidsmaterialisatie behandeld als een laadfout, niet als nog een herstellus.
Wanneer opstartafhankelijkheidsstaging wordt uitgesteld tot na de HTTP-bind, blijft Gateway-gereedheid geblokkeerd op de reden plugin-runtime-deps totdat de geselecteerde opstart-Plugin-afhankelijkheden zijn gematerialiseerd en de opstart-Plugin-runtime is geladen.
Wanneer herstel wordt uitgevoerd
Herstel van runtime-afhankelijkheden moet worden uitgevoerd wanneer een van deze situaties waar is:- het effectieve Plugin-plan is gewijzigd en voegt meegeleverde Plugins toe die runtime-afhankelijkheden nodig hebben
- het gegenereerde afhankelijkheidsmanifest komt niet meer overeen met het effectieve plan
- verwachte geïnstalleerde pakket-sentinels ontbreken of zijn onvolledig
openclaw doctor --fixofopenclaw plugins deps --repairis aangevraagd
openclaw onboard en openclaw configure doen dit automatisch nadat ze configuratie succesvol hebben geschreven, zodat de volgende Gateway-run geen ontbrekende meegeleverde Plugin-pakketten ontdekt nadat het opstarten al is begonnen. Remote onboarding/configure blijft alleen-lezen voor lokale runtime-afhankelijkheden.
Hot-reloadregel
Hot-reloadpaden die actieve Plugins kunnen wijzigen, moeten opnieuw via Plugin-planmodus gaan voordat Plugin-runtime wordt geladen. De reload moet het nieuwe effectieve Plugin-plan vergelijken met het vorige, ontbrekende afhankelijkheden voor nieuw actieve meegeleverde Plugins klaarzetten en daarna de betrokken runtime laden of herstarten. Als een configuratiereload het effectieve Plugin-plan niet wijzigt, moet deze geen meegeleverde runtime-afhankelijkheden herstellen.Uitvoering van pakketbeheerder
OpenClaw schrijft een gegenereerd installatiemanifest voor de geselecteerde meegeleverde runtime-afhankelijkheden en voert de pakketbeheerder uit in de installatieroot voor runtime-afhankelijkheden. Het geeft de voorkeur aanpnpm wanneer beschikbaar en valt terug op de met Node meegeleverde npm-runner.
Het pnpm-pad gebruikt productie-afhankelijkheden, schakelt lifecycle-scripts uit, negeert de workspace en houdt de store binnen de installatieroot:
npm-fallback gebruikt de veilige npm-installatiewrapper met productie-afhankelijkheden, uitgeschakelde lifecycle-scripts, uitgeschakelde workspace-modus, uitgeschakelde audit, uitgeschakelde fund-output, legacy peer-afhankelijkheidsgedrag en ingeschakelde package-lock-output voor de gegenereerde installatieroot.
Na installatie valideert OpenClaw de klaargezette afhankelijkheidsboom voordat deze zichtbaar wordt voor de runtime-afhankelijkheidsroot. Geïsoleerde staging wordt naar de runtime-afhankelijkheidsroot gekopieerd en opnieuw gevalideerd.
De hele herstel-/materialisatiesectie wordt beschermd door een installatieroot-lock. Huidige lock-eigenaren registreren PID, starttijd van het proces wanneer beschikbaar en aanmaaktijd. Legacy locks zonder bewijs van processtarttijd of aanmaaktijd worden alleen op basis van bestandssysteemleeftijd teruggevorderd, zodat hergebruikte Docker PID 1-locks herstellen zonder normale langlopende huidige installaties alleen op basis van leeftijd te laten verlopen.
Installatieroots
Verpakte installaties mogen alleen-lezen pakketdirectories niet wijzigen. OpenClaw kan afhankelijkheidsroots lezen uit verpakte lagen, maar schrijft gegenereerde runtime-afhankelijkheden naar een schrijfbare stage zoals:OPENCLAW_PLUGIN_STAGE_DIR$STATE_DIRECTORY~/.openclaw/plugin-runtime-deps/var/lib/openclaw/plugin-runtime-depsin containerachtige installaties
node_modules-boom in plaats van de pakketbeheerder opnieuw uit te voeren. De nieuwe geversioneerde root krijgt nog steeds zijn eigen actuele pakket-runtime-mirror, zodat Plugin-code uit het huidige OpenClaw-pakket komt terwijl ongewijzigde afhankelijkheidsbomen tussen updates worden gedeeld. Hergebruik slaat vorige roots met een actieve OpenClaw-runtime-afhankelijkheidslock over, zodat een nieuwe root niet linkt naar een afhankelijkheidsboom die een andere Gateway, doctor of CLI-proces momenteel herstelt.
Doctor- en CLI-commando’s
Gebruikplugins deps om materialisatie van runtime-afhankelijkheden van meegeleverde Plugins te inspecteren of te herstellen:
plugins deps en doctor werken op door OpenClaw beheerde runtime-afhankelijkheden van meegeleverde Plugins die door het effectieve Plugin-plan zijn geselecteerd. Het zijn geen installatie- of updatecommando’s voor Plugins van derden.
Probleemoplossing
Als een verpakte installatie ontbrekende meegeleverde runtime-afhankelijkheden meldt:- Voer
openclaw plugins deps --jsonuit om het geselecteerde plan en ontbrekende pakketten te inspecteren. - Voer
openclaw plugins deps --repairofopenclaw doctor --fixuit om de schrijfbare afhankelijkheidsstage te herstellen. - Als de installatieroot alleen-lezen is, stel dan
OPENCLAW_PLUGIN_STAGE_DIRin op een schrijfbaar pad en voer herstel opnieuw uit. - Herstart Gateway na herstel als de ontbrekende afhankelijkheid het laden van de opstart-Plugin blokkeerde.
pnpm install uit voor herstel van bronafhankelijkheden in plaats van verpakt runtime-afhankelijkheidsherstel als eerste stap te gebruiken.