要件
- an OpenClaw checkout or installation with the
openclawCLI available - network access to the selected source (ClawHub, npm, or a git host)
- any plugin-specific credentials, config keys, or OS tools named by that plugin’s setup docs
- permission for the Gateway that serves your channels to reload or restart
クイックスタート
1
Plugin を探す
公開 Plugin パッケージを ClawHub で検索します。ClawHub は、コミュニティ Plugin を見つけるための主要な場所です。移行開始期間中は、
通常のプレフィックスなしパッケージ指定は、公式 Plugin ID と一致しない限り、
引き続き npm からインストールされます。バンドル済み Plugin と一致する未加工の
@openclaw/* 指定は、
そのバンドル済みコピーに解決されます。特定のソースを明示的に使用する必要がある場合は、
ソースプレフィックスを指定してください。2
Plugin をインストールする
npm-pack:、またはマーケットプレイスのソースでは、
ソースを確認して信頼した後、非対話型インストール時に
--force が必要です。3
設定して有効化する
Plugin 固有の設定を
plugins.entries.<id>.config の下に構成します。
Plugin がまだ有効でない場合は、有効化します。plugins.allow が設定されている場合、Plugin を読み込むには、インストール済み Plugin ID が
そのリストに含まれている必要があります。openclaw plugins install は、既存の
plugins.allow リストにインストール済み ID を追加し、
plugins.deny から同じ ID を削除するため、明示的にインストールした Plugin を再起動後に読み込めます。4
Gateway を再読み込みさせる
Plugin コードをインストール、更新、またはアンインストールした場合は、Gateway の
再起動が必要です。設定の再読み込みが有効な管理対象 Gateway は、変更された
Plugin インストール記録を検出し、自動的に再起動します。それ以外の場合は、
手動で再起動してください。有効化/無効化では、設定とコールドレジストリが更新されます。ライブのランタイムサーフェスを確認するには、
引き続きランタイム検査が最も明確な証拠となります。
5
ランタイム登録を確認する
--runtime を使用します。通常の inspect は、
コールドマニフェストとレジストリのみを確認します。設定
インストールソースを選択する
プレフィックスなしパッケージ指定には、特別な互換動作があります。バンドル済み Plugin ID と
一致するプレフィックスなしの名前は、そのバンドル済みソースを使用します。公式外部 Plugin ID と一致する
プレフィックスなしの名前は、公式パッケージカタログを使用します。その他のプレフィックスなし指定は、
移行開始期間中は npm 経由でインストールされます。バンドル済み Plugin と一致する未加工の
@openclaw/*
指定も、npm にフォールバックする前にバンドル済みコピーに解決されます。バンドル済みコピーではなく
外部 npm パッケージを意図的にインストールするには、npm:@openclaw/<plugin>@<version> を使用します。
ソースを確定的に選択するには、clawhub:、npm:、
git:、または npm-pack: を使用します。コマンドの完全な仕様については、
openclaw pluginsを参照してください。
npm インストールでは、固定されていない指定と @latest は、この OpenClaw ビルドとの
互換性を示す最新の安定版パッケージを選択します。npm の現在の最新リリースで、このビルドがサポートするものより
新しい openclaw.compat.pluginApi または openclaw.install.minHostVersion が宣言されている場合、
OpenClaw は過去の安定版を走査し、適合する最新バージョンをインストールします。正確なバージョンと、
@beta などの明示的なチャネルタグは、選択したパッケージに固定されたままとなり、
互換性がない場合は失敗します。
オペレーターのインストールポリシー
Plugin のインストールまたは更新を続行する前に、信頼できるローカルポリシーコマンドを実行するようsecurity.installPolicy を設定します。このポリシーは、メタデータと
ステージング済みソースパスを受け取り、インストールを許可またはブロックできます。CLI と
Gateway 経由の両方のインストール/更新パスが対象です。Plugin の before_install フックは
その後に実行され、Plugin フックが読み込まれている OpenClaw プロセス内でのみ動作するため、
オペレーターが管理するインストール判断には、代わりに security.installPolicy を使用してください。
非推奨の --dangerously-force-unsafe-install フラグは互換性のために受け付けられますが、
何も行いません。インストールポリシーや OpenClaw 組み込みの Plugin 依存関係拒否リストを
回避するものではありません。
Skills と Plugin の両方で使用される共通の security.installPolicy exec スキーマについては、
Skills の設定を参照してください。
Plugin ポリシーを設定する
一般的な Plugin 設定の形式は次のとおりです。plugins.enabled: falsedisables all plugins and skips discovery/load work. Stale plugin references stay inert while this is active; re-enable plugins before running doctor cleanup if you want stale ids removed.plugins.denywins over allow and per-plugin enablement.plugins.allowis an exclusive allowlist. Plugin-owned tools outside the allowlist stay unavailable even whentools.allowincludes"*".plugins.entries.<id>.enabled: falsedisables one plugin while keeping its config.plugins.load.pathsadds explicit local plugin files or directories. Managedplugins installlocal paths must be plugin directories or archives; useplugins.load.pathsfor standalone plugin files.- Workspace-origin plugins are disabled by default; explicitly enable or allowlist them before using local workspace code.
- Bundled plugins follow their built-in default-on/default-off metadata unless config explicitly overrides it.
plugins.slots.<slot>(memoryorcontextEngine) picks one plugin for an exclusive category. Slot selection counts as explicit activation and force-enables the selected plugin for that slot, even if it would otherwise be opt-in.plugins.denyandplugins.entries.<id>.enabled: falsestill block it.- Bundled opt-in plugins can auto-activate when config names one of their owned surfaces, such as a provider/model ref, channel config, CLI backend, or agent harness runtime.
- OpenAI-family Codex routing keeps provider and runtime plugin boundaries
separate: legacy Codex model refs are legacy config that doctor repairs,
while the bundled
codexplugin owns Codex app-server runtime for canonicalopenai/*agent refs, explicitagentRuntime.id: "codex", and legacycodex/*refs.
plugins.allow が未設定で、バンドルされていない Plugin がワークスペースまたは
グローバル Plugin ルートから自動検出された場合、起動ログに
plugins.allow is empty; discovered non-bundled plugins may auto-load: ...
と、リストが短い場合は最小限の plugins.allow
スニペットが記録されます。信頼できる Plugin を openclaw.json にコピーする前に、
一覧に示された Plugin ID に対して openclaw plugins list --enabled --verbose
または openclaw plugins inspect <id> を実行してください。診断で Plugin が
without install/load-path provenance を読み込んだと表示された場合も、同じように信頼を固定します。
その Plugin ID を検査してから、plugins.allow に固定するか、
OpenClaw がインストール元情報を記録できるよう、信頼できるソースから再インストールしてください。
設定検証で古い Plugin ID、許可リストとツールの不一致、または従来のバンドル済み Plugin
パスが報告された場合は、openclaw doctor または openclaw doctor --fix を実行してください。
Plugin 形式を理解する
OpenClaw は、次の 2 つの Plugin 形式を認識します。
どちらの形式も
openclaw plugins list、openclaw plugins inspect、
openclaw plugins enable、および openclaw plugins disable に表示されます。バンドルの互換性境界については
Plugin バンドルを、ネイティブ Plugin の作成については
Plugin の構築を参照してください。
Plugin フック
Plugin は、2 つの異なる API を通じて実行時にフックを登録できます。api.on(...)typed hooks for runtime lifecycle events. This is the preferred surface for middleware, policy, message rewriting, prompt shaping, and tool control.api.registerHook(...)for the internal hook system described in Hooks. This is mainly for coarse command/lifecycle side effects and compatibility with existing HOOK-style automation.
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 が同じプラグインコードをインポート済みであることは証明しません。
プラグインがインストール済みと表示されるものの、ライブチャットのトラフィックで使用されない場合:
openclaw gateway run 子プロセスであることを確認してください。
トラブルシューティング
有効化された管理対象プラグインが Gateway の起動中にペイロード検証に失敗すると、
OpenClaw はその起動中、該当するインストール済みプラグインのルートのみを隔離し、
他のプラグインの提供を継続します。
openclaw status --all、openclaw health、
openclaw doctor はこれを configured-unavailable として報告します。プラグインを
修正または再インストールしてから、Gateway を再起動してください。同じプラグイン ID を持つ
正常で明示的な plugins.load.paths オーバーライドは、古い破損したインストールによって隔離されません。
古いプラグイン設定が、すでに検出できないチャンネルプラグインを引き続き指定している場合、
設定検証ではそのチャンネルキーを重大なエラーではなく警告に格下げするため、
Gateway の起動時にも他のすべてのチャンネルを提供できます。
openclaw doctor --fix を実行して、古いプラグインおよびチャンネルのエントリを削除してください。
古いプラグインの証拠がない不明なチャンネルキーは引き続き検証に失敗するため、
入力ミスを認識できます。
意図的にチャンネルを置き換える場合、優先するプラグインでは、従来のプラグイン ID または
優先度の低いプラグイン ID を指定して channelConfigs.<channel-id>.preferOver を宣言する必要があります。
両方のプラグインが明示的に有効化されている場合、OpenClaw は一方の所有者を暗黙に選択せず、
その要求を維持してチャンネル/ツールの所有権重複に関する診断を報告します。
インストール済みパッケージで requires compiled runtime output for TypeScript entry ... と報告される場合、そのパッケージは
OpenClaw がランタイムで必要とする JavaScript ファイルを含めずに公開されています。
公開者がコンパイル済み JavaScript をリリースした後に更新または再インストールするか、
それまではプラグインを無効化またはアンインストールしてください。
ブロックされたプラグインパスの所有権
診断にblocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
と表示され、その後の検証で plugin present but blocked と表示される場合、OpenClaw は
プラグインファイルが、それを読み込むプロセスとは異なる Unix ユーザーによって
所有されていることを検出しています。プラグイン設定はそのまま維持し、
ファイルシステムの所有権を修正するか、状態ディレクトリを所有するユーザーと
同じユーザーで OpenClaw を実行してください。
Docker へのインストールでは、公式イメージは node(uid 1000)として実行されるため、
ホストからバインドマウントされた OpenClaw の設定ディレクトリとワークスペースディレクトリは、
通常 uid 1000 によって所有されている必要があります。
openclaw doctor --fix または
openclaw plugins registry --refresh を再実行し、永続化されたプラグインレジストリを
修正済みのファイルと一致させてください。
プラグインツールのセットアップが遅い場合
ツールの準備中にエージェントのターンが停止しているように見える場合は、 トレースログを有効にし、プラグインツールファクトリの所要時間を示す行を確認してください。関連項目
- プラグインの管理 - 一覧表示、インストール、更新、アンインストール、公開のコマンド例
openclaw plugins- CLI の完全なリファレンス- プラグイン一覧 - 生成された同梱および外部プラグインの一覧
- プラグインリファレンス - 生成されたプラグインごとのリファレンスページ
- コミュニティプラグイン - ClawHub での検索とドキュメント PR のポリシー
- プラグインの依存関係解決 - インストールルート、レジストリレコード、ランタイム境界
- プラグインの構築 - ネイティブプラグイン作成ガイド
- プラグイン SDK の概要 - ランタイム登録、フック、API フィールド
- プラグインマニフェスト - マニフェストとパッケージメタデータ