プラグイン
プラグインは、OpenClawに新しい機能を追加します。チャンネル、モデルprovider、 tools、Skills、speech、realtime transcription、realtime voice、 media-understanding、画像生成、動画生成、web fetch、web search などです。一部のプラグインは core(OpenClawに同梱)で、その他は external(コミュニティがnpmで公開)です。クイックスタート
チャットネイティブな操作を好む場合は、commands.plugins: true を有効にして、次を使ってください。
clawhub:<pkg>、または素のパッケージ指定(まずClawHub、その後npmへフォールバック)です。
configが無効な場合、通常インストールはfail closedし、
openclaw doctor --fix を案内します。唯一の回復例外は、次にオプトインしているプラグイン向けの狭い範囲のバンドルプラグイン
再インストールパスです。
openclaw.install.allowInvalidConfigRecovery
プラグインの種類
OpenClawは2つのプラグイン形式を認識します。| Format | 動作の仕組み | 例 |
|---|---|---|
| Native | openclaw.plugin.json + ランタイムモジュール。インプロセスで実行 | 公式プラグイン、コミュニティのnpmパッケージ |
| Bundle | Codex/Claude/Cursor互換レイアウト。OpenClaw機能にマッピングされる | .codex-plugin/, .claude-plugin/, .cursor-plugin/ |
openclaw plugins list に表示されます。バンドルの詳細は Plugin Bundles を参照してください。
Nativeプラグインを書く場合は、Building Plugins
と Plugin SDK Overview から始めてください。
公式プラグイン
インストール可能(npm)
| Plugin | Package | Docs |
|---|---|---|
| Matrix | @openclaw/matrix | Matrix |
| Microsoft Teams | @openclaw/msteams | Microsoft Teams |
| Nostr | @openclaw/nostr | Nostr |
| Voice Call | @openclaw/voice-call | Voice Call |
| Zalo | @openclaw/zalo | Zalo |
| Zalo Personal | @openclaw/zalouser | Zalo Personal |
Core(OpenClawに同梱)
モデルprovider(デフォルトで有効)
モデルprovider(デフォルトで有効)
anthropic, byteplus, cloudflare-ai-gateway, github-copilot, google,
huggingface, kilocode, kimi-coding, minimax, mistral, qwen,
moonshot, nvidia, openai, opencode, opencode-go, openrouter,
qianfan, synthetic, together, venice,
vercel-ai-gateway, volcengine, xiaomi, zaiMemoryプラグイン
Memoryプラグイン
memory-core— バンドル済みmemory search(デフォルトはplugins.slots.memory経由)memory-lancedb— オンデマンドインストール型の長期メモリー。auto-recall/capture付き(plugins.slots.memory = "memory-lancedb"を設定)
speech provider(デフォルトで有効)
speech provider(デフォルトで有効)
elevenlabs, microsoftその他
その他
browser— browser tool、openclaw browserCLI、browser.requestGatewayメソッド、browser runtime、およびデフォルトbrowser control service 用のバンドル済みbrowserプラグイン(デフォルトで有効。置き換える前に無効化してください)copilot-proxy— VS Code Copilot Proxyブリッジ(デフォルトで無効)
設定
| Field | 説明 |
|---|---|
enabled | マスタートグル(デフォルト: true) |
allow | プラグイン許可リスト(任意) |
deny | プラグイン拒否リスト(任意。denyが優先) |
load.paths | 追加のプラグインファイル/ディレクトリ |
slots | 排他的スロットセレクター(例: memory, contextEngine) |
entries.\<id\> | プラグインごとのトグル + config |
openclaw gateway パス)、
その再起動は通常、config書き込み反映の少し後に自動で実行されます。
プラグイン状態: disabled vs missing vs invalid
プラグイン状態: disabled vs missing vs invalid
- Disabled: プラグインは存在するが、有効化ルールによってオフになっている。configは保持される。
- Missing: configがプラグインidを参照しているが、検出で見つからなかった。
- Invalid: プラグインは存在するが、そのconfigが宣言されたスキーマと一致しない。
検出と優先順位
OpenClawは次の順序でプラグインをスキャンします(最初に一致したものが優先)。Workspace拡張
\<workspace\>/.openclaw/<plugin-root>/*.ts および \<workspace\>/.openclaw/<plugin-root>/*/index.ts。有効化ルール
plugins.enabled: falseはすべてのプラグインを無効にしますplugins.denyは常にallowより優先しますplugins.entries.\<id\>.enabled: falseはそのプラグインを無効にします- Workspace由来のプラグインは デフォルトで無効 です(明示的に有効化する必要があります)
- バンドル済みプラグインは、上書きされない限り組み込みのデフォルトオン集合に従います
- 排他的スロットは、そのスロット用に選択されたプラグインを強制有効化できます
プラグインスロット(排他的カテゴリ)
一部のカテゴリは排他的です(一度に1つだけ有効)。| Slot | 制御対象 | Default |
|---|---|---|
memory | 有効なmemoryプラグイン | memory-core |
contextEngine | 有効なcontext engine | legacy(組み込み) |
CLIリファレンス
openclaw plugins enable <id> が必要です。
--force は、既存のインストール済みプラグインまたはフックパックをその場で上書きします。
これは --link とは併用できません。--link は、管理されたインストール先に
コピーする代わりにソースパスを再利用するためです。
--pin はnpm専用です。--marketplace とは併用できません。これは、
marketplaceインストールがnpm specではなくmarketplaceソースメタデータを保持するためです。
--dangerously-force-unsafe-install は、組み込みの危険コードスキャナーによる誤検知への
緊急用上書きです。これにより、組み込みの critical 検出結果が出てもプラグインのインストール
および更新を継続できますが、プラグインの before_install ポリシーブロックや
スキャン失敗によるブロックは依然として回避できません。
このCLIフラグは、プラグインのインストール/更新フローにのみ適用されます。GatewayベースのSkill
依存関係インストールでは、代わりに対応する dangerouslyForceUnsafeInstall リクエスト
上書きを使います。一方、openclaw skills install は別個のClawHub
skill ダウンロード/インストールフローのままです。
互換バンドルは、同じプラグインの list/inspect/enable/disable フローに参加します。現在のランタイムサポートには、bundle Skills、Claude command-skills、
Claude settings.json デフォルト、Claude .lsp.json とmanifest宣言の
lspServers デフォルト、Cursor command-skills、互換性のあるCodex hook
ディレクトリが含まれます。
openclaw plugins inspect <id> は、bundleベースのプラグインについて、検出されたbundle機能に加えて、サポートされる/されないMCPおよびLSP server エントリも報告します。
Marketplaceソースには、~/.claude/plugins/known_marketplaces.json
にあるClaudeの既知marketplace名、ローカルmarketplaceルートまたは
marketplace.json パス、owner/repo のようなGitHub短縮形、GitHub repo
URL、またはgit URLを指定できます。リモートmarketplaceについては、プラグインエントリは
クローンされたmarketplace repo 内に留まり、相対パスソースのみを使用する必要があります。
完全な詳細は openclaw plugins CLI reference を参照してください。
プラグインAPI概要
Nativeプラグインはregister(api) を公開するエントリオブジェクトをexportします。古い
プラグインでは、レガシーなエイリアスとしてまだ activate(api) を使っている場合がありますが、新しいプラグインでは
register を使うべきです。
register(api) を呼び出します。ローダーは古いプラグイン向けに引き続き activate(api) へフォールバックしますが、バンドル済みプラグインと新しい外部プラグインは、register を公開契約として扱うべきです。
一般的な登録メソッド:
| Method | 登録するもの |
|---|---|
registerProvider | モデルprovider(LLM) |
registerChannel | チャットチャンネル |
registerTool | エージェントtool |
registerHook / on(...) | ライフサイクルフック |
registerSpeechProvider | Text-to-speech / STT |
registerRealtimeTranscriptionProvider | ストリーミングSTT |
registerRealtimeVoiceProvider | 双方向realtime voice |
registerMediaUnderstandingProvider | 画像/音声解析 |
registerImageGenerationProvider | 画像生成 |
registerMusicGenerationProvider | 音楽生成 |
registerVideoGenerationProvider | 動画生成 |
registerWebFetchProvider | Web fetch / scrape provider |
registerWebSearchProvider | Web search |
registerHttpRoute | HTTPエンドポイント |
registerCommand / registerCli | CLIコマンド |
registerContextEngine | Context engine |
registerService | バックグラウンドサービス |
before_tool_call:{ block: true }は終端です。より低優先度のハンドラーはスキップされます。before_tool_call:{ block: false }はno-opで、先行するblockを解除しません。before_install:{ block: true }は終端です。より低優先度のハンドラーはスキップされます。before_install:{ block: false }はno-opで、先行するblockを解除しません。message_sending:{ cancel: true }は終端です。より低優先度のハンドラーはスキップされます。message_sending:{ cancel: false }はno-opで、先行するcancelを解除しません。
関連
- Building Plugins — 独自プラグインを作成する
- Plugin Bundles — Codex/Claude/Cursorバンドル互換性
- Plugin Manifest — manifestスキーマ
- Registering Tools — プラグインでエージェントtoolsを追加する
- Plugin Internals — capabilityモデルと読み込みパイプライン
- Community Plugins — サードパーティ一覧