Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Auflösung von Plugin-Abhängigkeiten

OpenClaw erledigt Plugin-Abhängigkeitsarbeiten zur Installations-/Update-Zeit. Das Laden zur Laufzeit führt keine Package Manager aus, repariert keine Abhängigkeitsbäume und verändert nicht das OpenClaw- Paketverzeichnis.

Aufteilung der Verantwortlichkeiten

Plugin-Pakete besitzen ihren Abhängigkeitsgraphen:
  • Laufzeitabhängigkeiten befinden sich in den dependencies oder optionalDependencies des Plugin-Pakets
  • SDK-/Core-Importe sind Peer-Abhängigkeiten oder von OpenClaw bereitgestellte Importe
  • lokale Entwicklungs-Plugins bringen ihre eigenen bereits installierten Abhängigkeiten mit
  • npm- und git-Plugins werden in OpenClaw-eigene Paket-Roots installiert
OpenClaw besitzt nur den Plugin-Lebenszyklus:
  • die Plugin-Quelle ermitteln
  • das Paket installieren oder aktualisieren, wenn dies ausdrücklich angefordert wird
  • die Installationsmetadaten aufzeichnen
  • den Plugin-Einstiegspunkt laden
  • mit einem handlungsorientierten Fehler fehlschlagen, wenn Abhängigkeiten fehlen

Installations-Roots

OpenClaw verwendet stabile Roots pro Quelle:
  • npm-Pakete werden unter ~/.openclaw/npm installiert
  • git-Pakete werden unter ~/.openclaw/git geklont
  • lokale/Pfad-/Archivinstallationen werden ohne Abhängigkeitsreparatur kopiert oder referenziert
npm-Installationen laufen im npm-Root mit:
npm install --prefix ~/.openclaw/npm <spec> --omit=dev --ignore-scripts --no-audit --no-fund
npm kann transitive Abhängigkeiten nach ~/.openclaw/npm/node_modules neben das Plugin-Paket hoisten. OpenClaw scannt den verwalteten npm-Root, bevor es der Installation vertraut, und verwendet npm, um npm-verwaltete Pakete bei der Deinstallation zu entfernen, sodass gehoistete Laufzeitabhängigkeiten innerhalb der verwalteten Bereinigungsgrenze bleiben. git-Installationen klonen oder aktualisieren das Repository und führen dann aus:
npm install --omit=dev --ignore-scripts --no-audit --no-fund
Das installierte Plugin wird anschließend aus diesem Paketverzeichnis geladen, sodass paketlokale und übergeordnete node_modules-Auflösung genauso funktioniert wie bei einem normalen Node-Paket.

Lokale Plugins

Lokale Plugins werden als entwicklerkontrollierte Verzeichnisse behandelt. OpenClaw führt für sie kein npm install, pnpm install und keine Abhängigkeitsreparatur aus. Wenn ein lokales Plugin Abhängigkeiten hat, installieren Sie diese in diesem Plugin, bevor Sie es laden. Lokale TypeScript-Plugins von Drittanbietern können den Jiti-Notfallpfad verwenden. Paketierte JavaScript-Plugins und gebündelte interne Plugins werden über native import/require statt über Jiti geladen.

Start und Neuladen

Gateway-Start und Konfigurationsneuladen installieren niemals Plugin-Abhängigkeiten. Sie lesen die Plugin-Installationsdatensätze, berechnen den Einstiegspunkt und laden ihn. Wenn zur Laufzeit eine Abhängigkeit fehlt, schlägt das Laden des Plugins fehl und der Fehler sollte den Betreiber auf eine ausdrückliche Lösung verweisen:
openclaw plugins update <id>
openclaw plugins install <source>
openclaw doctor --fix
doctor --fix kann von OpenClaw generierten Legacy-Abhängigkeitszustand bereinigen und konfigurierte herunterladbare Plugins installieren, die in den lokalen Installationsdatensätzen fehlen. Es repariert keine Abhängigkeiten für ein bereits installiertes lokales Plugin.

Gebündelte Plugins

Leichtgewichtige und für den Core kritische gebündelte Plugins werden als Teil von OpenClaw ausgeliefert. Sie sollten entweder keinen schweren Laufzeit-Abhängigkeitsbaum haben oder in ein herunterladbares Paket auf ClawHub/npm ausgelagert werden. Gebündelte Plugin-Manifeste dürfen kein Dependency Staging anfordern. Große oder optionale Plugin-Funktionalität sollte als normales Plugin paketiert und über denselben npm-/git-/ClawHub-Pfad wie Drittanbieter-Plugins installiert werden. In Source-Checkouts behandelt OpenClaw das Repository als pnpm-Monorepo. Nach pnpm install werden gebündelte Plugins aus extensions/<id> geladen, sodass paketlokale Workspace-Abhängigkeiten verfügbar sind und Änderungen direkt übernommen werden. Die Entwicklung in Source-Checkouts ist ausschließlich pnpm-basiert; ein einfaches npm install im Repository-Root ist keine unterstützte Methode, um Abhängigkeiten gebündelter Plugins vorzubereiten.
InstallationsformSpeicherort gebündelter PluginsBesitzer der Abhängigkeiten
npm install -g openclawGebauter Laufzeitbaum im PaketOpenClaw-Paket und ausdrückliche Plugin-Installations-/Update-/Doctor-Abläufe
Git-Checkout plus pnpm installextensions/<id>-Workspace-PaketeDer pnpm-Workspace, einschließlich der eigenen Abhängigkeiten jedes Plugin-Pakets
openclaw plugins install ...Verwalteter npm-/git-/ClawHub-Plugin-RootDer Plugin-Installations-/Update-Ablauf

Legacy-Bereinigung

Ältere OpenClaw-Versionen erzeugten Roots für Abhängigkeiten gebündelter Plugins beim Start oder während einer Doctor-Reparatur. Die aktuelle Doctor-Bereinigung entfernt diese veralteten Verzeichnisse und Symlinks, wenn --fix verwendet wird, einschließlich alter plugin-runtime-deps-Roots, .openclaw-runtime-deps*-Manifeste, generierter Plugin-node_modules, Installations- Staging-Verzeichnisse und paketlokaler pnpm-Stores. Diese Pfade sind nur Legacy-Reste. Neue Installationen sollten sie nicht erstellen.