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.
Plugin の依存関係解決
OpenClaw は Plugin の依存関係に関する処理をインストール時または更新時に行います。ランタイム読み込みでは、パッケージマネージャーの実行、依存関係ツリーの修復、OpenClaw パッケージディレクトリの変更は行いません。責任分担
Plugin パッケージは自身の依存関係グラフを所有します。- ランタイム依存関係は Plugin パッケージの
dependenciesまたはoptionalDependenciesに置かれる - SDK/core の import は peer または OpenClaw から提供される import
- ローカル開発 Plugin は、すでにインストール済みの依存関係を自身で持ち込む
- npm および git Plugin は、OpenClaw が所有するパッケージルートにインストールされる
- Plugin ソースを検出する
- 明示的に要求された場合にパッケージをインストールまたは更新する
- インストールメタデータを記録する
- Plugin のエントリポイントを読み込む
- 依存関係が欠落している場合は、実行可能なエラーで失敗する
インストールルート
OpenClaw はソースごとに安定したルートを使用します。- npm パッケージは
~/.openclaw/npm配下にインストールされる - git パッケージは
~/.openclaw/git配下に clone される - ローカル/path/archive インストールは、依存関係を修復せずにコピーまたは参照される
~/.openclaw/npm/node_modules へ hoist する場合があります。OpenClaw はインストールを信頼する前に管理対象の npm ルートをスキャンし、アンインストール時には npm を使って npm 管理のパッケージを削除します。そのため、hoist されたランタイム依存関係は管理対象のクリーンアップ境界内にとどまります。
git インストールではリポジトリを clone または更新し、その後次を実行します。
node_modules 解決は通常の Node パッケージと同じように機能します。
ローカル Plugin
ローカル Plugin は開発者が管理するディレクトリとして扱われます。OpenClaw はそれらに対してnpm install、pnpm install、依存関係の修復を実行しません。ローカル Plugin に依存関係がある場合は、読み込む前にその Plugin 内でインストールしてください。
サードパーティの TypeScript ローカル Plugin は緊急用の Jiti パスを使用できます。パッケージ化された JavaScript Plugin と同梱の内部 Plugin は、Jiti ではなくネイティブの import/require 経由で読み込まれます。
起動と再読み込み
Gateway の起動と設定の再読み込みでは、Plugin の依存関係は決してインストールされません。Plugin インストールレコードを読み取り、エントリポイントを計算し、それを読み込みます。 ランタイムで依存関係が欠落している場合、その Plugin は読み込みに失敗し、エラーはオペレーターに明示的な修正方法を示す必要があります。doctor --fix は、OpenClaw が生成した従来の依存関係状態をクリーンアップし、ローカルインストールレコードに存在しない設定済みのダウンロード可能な Plugin をインストールできます。すでにインストール済みのローカル Plugin の依存関係は修復しません。
同梱 Plugin
軽量かつコアに重要な同梱 Plugin は OpenClaw の一部として出荷されます。それらは重いランタイム依存関係ツリーを持たないか、ClawHub/npm 上のダウンロード可能なパッケージへ移動されるべきです。 同梱 Plugin のマニフェストは依存関係ステージングを要求してはいけません。大規模または任意の Plugin 機能は通常の Plugin としてパッケージ化し、サードパーティ Plugin と同じ npm/git/ClawHub パスを通じてインストールするべきです。 ソースチェックアウトでは、OpenClaw はリポジトリを pnpm monorepo として扱います。pnpm install 後、同梱 Plugin は extensions/<id> から読み込まれるため、パッケージローカルの workspace 依存関係が利用可能になり、編集は直接反映されます。ソースチェックアウトでの開発は pnpm 専用です。リポジトリルートでの通常の npm install は、同梱 Plugin の依存関係を準備する方法としてサポートされていません。
| インストール形態 | 同梱 Plugin の場所 | 依存関係の所有者 |
|---|---|---|
npm install -g openclaw | パッケージ内のビルド済みランタイムツリー | OpenClaw パッケージと明示的な Plugin install/update/doctor フロー |
Git checkout plus pnpm install | extensions/<id> workspace packages | 各 Plugin パッケージ自身の依存関係を含む pnpm workspace |
openclaw plugins install ... | 管理対象の npm/git/ClawHub Plugin root | Plugin install/update フロー |
従来のクリーンアップ
古い OpenClaw バージョンは、起動時または doctor repair 中に同梱 Plugin の依存関係ルートを生成していました。現在の doctor cleanup は、--fix が使用された場合に、それらの古いディレクトリと symlink を削除します。これには古い plugin-runtime-deps ルート、.openclaw-runtime-deps* マニフェスト、生成された Plugin node_modules、install stage ディレクトリ、パッケージローカルの pnpm store が含まれます。
これらのパスは従来の残骸にすぎません。新規インストールでは作成されるべきではありません。