要件
openclawCLI が利用可能な OpenClaw チェックアウトまたはインストール- 選択したソース(ClawHub、npm、または git ホスト)へのネットワークアクセス
- その Plugin のセットアップドキュメントで指定されている、Plugin 固有の認証情報、 設定キー、または OS ツール
- チャネルにサービスを提供する Gateway をリロードまたは再起動する権限
クイックスタート
Find the plugin
公開 Plugin パッケージを ClawHub で検索します。ClawHub は、コミュニティ Plugin の主要な検出サーフェスです。ローンチ切り替え中は、
通常の裸のパッケージ仕様は、公式 Plugin id に一致しない限り npm からインストールされます。
バンドル済み Plugin に一致する生の
@openclaw/* 仕様は、そのバンドル済みコピーに解決されます。
特定のソースを明示的に使う必要がある場合は、明示的なソースプレフィックスを使用してください。Configure and enable it
Plugin 固有の設定を
plugins.entries.<id>.config の下に構成します。
Plugin がまだ有効化されていない場合は有効化します。plugins.allow が設定されている場合、Plugin を読み込む前に、インストール済み Plugin id が
そのリストに含まれている必要があります。openclaw plugins install は、既存の
plugins.allow リストにインストール済み id を追加し、同じ id を plugins.deny から削除します。
これにより、明示的にインストールした Plugin は再起動後に読み込めます。Let the Gateway reload
Plugin コードのインストール、更新、アンインストールには Gateway の再起動が必要です。
設定リロードが有効な管理対象 Gateway は、変更された Plugin インストールレコードを検出し、
自動的に再起動します。それ以外の場合は、自分で再起動してください。更新設定とコールドレジストリを有効化または無効化します。ライブランタイムサーフェスの
最も明確な証拠は、引き続きランタイム inspect です。
設定
インストールソースを選択する
| ソース | 使用する場合 | 例 |
|---|---|---|
| ClawHub | OpenClaw ネイティブの検出、スキャン、バージョンメタデータ、インストールヒントが必要な場合 | openclaw plugins install clawhub:<package> |
| npm | npm レジストリまたは dist-tag ワークフローを直接使う必要がある場合 | openclaw plugins install npm:<package> |
| git | リポジトリからブランチ、タグ、またはコミットが必要な場合 | openclaw plugins install git:github.com/<owner>/<repo>@<ref> |
| ローカルパス | 同じマシンで Plugin を開発またはテストしている場合 | openclaw plugins install --link ./my-plugin |
| マーケットプレイス | Claude 互換マーケットプレイス Plugin をインストールする場合 | openclaw plugins install <plugin> --marketplace <source> |
@openclaw/* 仕様も、npm フォールバックの前にバンドル済みコピーへ解決されます。
バンドル済みコピーではなく外部 npm パッケージを意図的にインストールするには、
npm:@openclaw/<plugin>@<version> を使用してください。決定的なソース選択には
clawhub:、npm:、git:、または npm-pack: を使用してください。完全なコマンド契約については
openclaw pluginsを参照してください。
npm インストールでは、固定されていない仕様と @latest は、この OpenClaw ビルドとの互換性を
宣言している最新の安定パッケージを選択します。npm の現在の latest リリースが、このビルドでサポートされるものより新しい
openclaw.compat.pluginApi または openclaw.install.minHostVersion を宣言している場合、
OpenClaw は古い安定バージョンをスキャンし、適合する最新のものをインストールします。
正確なバージョンと @beta のような明示的なチャネルタグは、選択されたパッケージに固定されたままとなり、
互換性がない場合は失敗します。
オペレーターインストールポリシー
Plugin のインストールまたは更新を進める前に、信頼済みローカルポリシーコマンドを実行するにはsecurity.installPolicy を構成します。ポリシーはメタデータとステージ済みソースパスを受け取り、
インストールを許可またはブロックできます。これは CLI と Gateway バックのインストール/更新パスの両方を対象にします。
Plugin の before_install フックは後で実行され、Plugin フックが読み込まれた OpenClaw プロセス内でのみ実行されるため、
オペレーター所有のインストール判断には代わりに security.installPolicy を使用してください。
非推奨の --dangerously-force-unsafe-install フラグは互換性のために受け付けられますが、no-op です。
インストールポリシーや OpenClaw 組み込みの Plugin 依存関係 denylist をバイパスしません。
Skills と Plugin の両方で使用される共有 security.installPolicy exec スキーマについては、
Skills 設定を参照してください。
Plugin ポリシーを構成する
共通の Plugin 設定形状は次のとおりです。plugins.enabled: falseはすべての Plugin を無効化し、検出/読み込み作業をスキップします。 これが有効な間、古い Plugin 参照は不活性のままです。古い id を削除したい場合は、 doctor cleanup を実行する前に Plugin を再有効化してください。plugins.denyは allow と Plugin ごとの有効化より優先されます。plugins.allowは排他的な allowlist です。allowlist 外の Plugin 所有ツールは、tools.allowに"*"が含まれていても利用できません。plugins.entries.<id>.enabled: falseは、設定を保持したまま 1 つの Plugin を無効化します。plugins.load.pathsは明示的なローカル Plugin ファイルまたはディレクトリを追加します。 管理対象のplugins installローカルパスは Plugin ディレクトリまたはアーカイブである必要があります。 スタンドアロン Plugin ファイルにはplugins.load.pathsを使用してください。- ワークスペース由来の Plugin はデフォルトで無効です。ローカルワークスペースコードを使用する前に、 明示的に有効化するか allowlist に追加してください。
- バンドル済み Plugin は、設定で明示的に上書きされない限り、 組み込みの default-on/default-off メタデータに従います。
plugins.slots.<slot>(memoryまたはcontextEngine)は、排他的カテゴリに対して 1 つの Plugin を選択します。 スロット選択は明示的なアクティベーションとして数えられ、その Plugin が本来 opt-in であっても、 選択されたスロット用に強制的に有効化します。plugins.denyとplugins.entries.<id>.enabled: falseは引き続きそれをブロックします。- バンドル済み opt-in Plugin は、設定がその所有サーフェスのいずれかを指定した場合に自動アクティベートできます。 たとえば、provider/model ref、チャネル設定、CLI バックエンド、またはエージェントハーネスランタイムです。
- OpenAI ファミリーの Codex ルーティングは、プロバイダーとランタイム Plugin の境界を分離したままにします。
レガシー Codex model ref は doctor が修復するレガシー設定であり、バンドル済み
codexPlugin は、 正規のopenai/*agent ref、明示的なagentRuntime.id: "codex"、および レガシーcodex/*ref 用の Codex app-server ランタイムを所有します。
plugins.allow が未設定で、非バンドル Plugin がワークスペースまたはグローバル Plugin ルートから自動検出される場合、
起動ログに、検出された Plugin id と、短いリストの場合は最小限の plugins.allow スニペットとともに
plugins.allow is empty; discovered non-bundled plugins may auto-load: ...
が表示されます。信頼済み Plugin を openclaw.json にコピーする前に、列挙された Plugin id に対して
openclaw plugins list --enabled --verbose または
openclaw plugins inspect <id> を実行してください。
診断が Plugin が without install/load-path provenance で読み込まれたと示す場合にも、
同じ信頼ピン留めが適用されます。その Plugin id を inspect してから、plugins.allow にピン留めするか、
信頼済みソースから再インストールして OpenClaw がインストール provenance を記録できるようにしてください。
設定検証が古い Plugin id、allowlist/tool の不一致、またはレガシーのバンドル済み Plugin パスを報告する場合は、
openclaw doctor または openclaw doctor --fix を実行してください。
Plugin 形式を理解する
OpenClaw は 2 つの Plugin 形式を認識します。| 形式 | 読み込み方法 | 使用する場合 |
|---|---|---|
| ネイティブ OpenClaw Plugin | openclaw.plugin.json と、プロセス内で読み込まれるランタイムモジュール | OpenClaw 固有のランタイム機能をインストールまたは構築している場合 |
| 互換バンドル | Codex、Claude、または Cursor の Plugin レイアウトを OpenClaw Plugin インベントリにマッピング | 互換性のある Skills、コマンド、フック、またはバンドルメタデータを再利用する場合 |
openclaw plugins list、openclaw plugins inspect、
openclaw plugins enable、openclaw plugins disable に表示されます。
バンドル互換性の境界については Plugin バンドル を、
ネイティブ Plugin の作成については Plugin の構築 を参照してください。
Plugin フック
Plugin は 2 つの異なる API を通じてランタイムでフックを登録できます。- ランタイムライフサイクルイベント用の
api.on(...)型付きフック。これは、 ミドルウェア、ポリシー、メッセージ書き換え、プロンプト整形、ツール制御に推奨されるサーフェスです。 - フックで説明されている内部フックシステム用の
api.registerHook(...)。 これは主に、大まかなコマンド/ライフサイクルの副作用と、既存の HOOK スタイル自動化との互換性のためのものです。
command:new、command:reset、message:sent、
または同様の大まかなイベントに反応するだけなら、api.registerHook で問題ありません。
Plugin 管理の内部フックは、openclaw hooks list に plugin:<id> として表示されます。
openclaw hooks ではそれらを有効化または無効化できません。代わりに Plugin を有効化または無効化してください。
アクティブな Gateway を確認する
openclaw plugins list と通常の openclaw plugins inspect は、コールド設定、
マニフェスト、レジストリ状態を読み取ります。すでに実行中の Gateway が同じ Plugin コードを
インポートしていることは証明しません。
Plugin がインストール済みに見えるのに、ライブチャットトラフィックで使用されない場合:
openclaw gateway run 子プロセスであることを確認してください。
トラブルシューティング
| 症状 | 確認 | 修正 |
|---|---|---|
Plugin が plugins list に表示されるが runtime hooks が実行されない | openclaw plugins inspect <id> --runtime --json を使用し、gateway status --deep --require-rpc でアクティブな Gateway を確認する | インストール、更新、config、またはソース変更後に稼働中の Gateway を再起動する |
| 重複するチャネルまたはツール所有権の診断が表示される | openclaw plugins list --enabled --verbose を実行し、疑わしい各 plugin を --runtime --json で調べ、チャネル/ツールの所有権を比較する | 片方の所有者を無効化する、古いインストールを削除する、または意図的な置き換えには manifest preferOver を使用する |
| config が plugin 不足を示している | Plugin inventory で、bundled、公式 external、または source-only のどれかを確認する | external package をインストールする、bundled plugin を有効化する、または古い config を削除する |
| インストール中に config が無効になる | 検証メッセージを読み、古い plugin 状態を指している場合は openclaw doctor --fix を実行する | Doctor は、エントリを無効化して無効なペイロードを削除することで、無効な plugin config を隔離できる |
| plugin パスが不審な所有権または権限でブロックされる | config エラーの前にある診断を確認する | ファイルシステムの所有権/権限を修正してから、openclaw plugins registry --refresh を実行する |
OPENCLAW_NIX_MODE=1 がライフサイクルコマンドをブロックする | インストールが Nix によって管理されていることを確認する | plugin mutator コマンドを使用する代わりに、Nix ソースで plugin 選択を変更する |
| 依存関係の import が実行時に失敗する | plugin が npm/git/ClawHub 経由でインストールされたか、local path から読み込まれたかを確認する | openclaw plugins update <id> を実行する、ソースを再インストールする、または local plugin の依存関係を自分でインストールする |
openclaw doctor --fix を実行してください。古い plugin の証拠がない不明なチャネルキーは引き続き検証に失敗するため、入力ミスは見える状態のままになります。
意図的なチャネル置き換えでは、優先する plugin は channelConfigs.<channel-id>.preferOver に legacy または低優先度の plugin id を宣言する必要があります。両方の plugin が明示的に有効化されている場合、OpenClaw はその要求を保持し、所有者を暗黙に一方へ選ぶのではなく、重複するチャネル/ツール診断を報告します。
インストール済み package が requires compiled runtime output for TypeScript entry ... と報告する場合、その package は OpenClaw が実行時に必要とする JavaScript ファイルなしで公開されています。公開者がコンパイル済み JavaScript を出荷した後に更新または再インストールするか、それまで plugin を無効化/アンインストールしてください。
ブロックされた plugin パス所有権
診断でblocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
と表示され、その後の検証で plugin present but blocked と続く場合、OpenClaw は、それを読み込むプロセスとは異なる Unix ユーザーが所有する plugin ファイルを検出しています。plugin config はそのままにしてください。ファイルシステムの所有権を修正するか、state ディレクトリを所有している同じユーザーとして OpenClaw を実行してください。
Docker インストールでは、公式イメージは node (uid 1000) として実行されるため、ホストに bind mount された OpenClaw config と workspace ディレクトリは通常 uid 1000 が所有している必要があります。
openclaw doctor --fix または
openclaw plugins registry --refresh を再実行してください。
遅い plugin ツールセットアップ
agent ターンがツール準備中に停止しているように見える場合は、trace ログを有効化し、plugin tool factory のタイミング行を確認してください。関連
- Manage plugins - list、install、update、uninstall、publish のコマンド例
openclaw plugins- 完全な CLI リファレンス- Plugin inventory - 生成された bundled および external plugin 一覧
- Plugin reference - 生成された plugin ごとのリファレンスページ
- Community plugins - ClawHub discovery と docs PR policy
- Plugin dependency resolution - install roots、registry records、runtime boundaries
- Building plugins - native plugin authoring guide
- Plugin SDK overview - runtime registration、hooks、API fields
- Plugin manifest - manifest と package metadata