バンドルはネイティブ OpenClaw プラグインと同じではありません。ネイティブプラグインは
インプロセスで実行され、任意の機能を登録できます。バンドルは、選択的な機能マッピングと
より狭い信頼境界を持つコンテンツパックです。
バンドルが存在する理由
有用なプラグインの多くは Codex、Claude、Cursor 形式で公開されています。作者にネイティブ OpenClaw プラグインとして書き直すことを求める代わりに、OpenClaw はこれらの形式を検出し、対応しているコンテンツをネイティブ機能セットへマッピングします。Claude コマンドパックや Codex スキルバンドルをインストールして、すぐに使えます。バンドルをインストールする
Install from a directory, archive, or marketplace
<source> はローカルマーケットプレイスのパス/リポジトリ、または git/GitHub ソースです。OpenClaw がバンドルからマッピングするもの
現在、すべてのバンドル機能が OpenClaw で実行されるわけではありません。以下に、動作するものと、検出されるもののまだ接続されていないものを示します。現在サポートされているもの
| 機能 | マッピング方法 | 適用対象 |
|---|---|---|
| スキルコンテンツ | バンドルのスキルルートを通常の OpenClaw Skills として読み込む | すべての形式 |
| コマンド | commands/ と .cursor/commands/ をスキルルートとして扱う | Claude、Cursor |
| フックパック | OpenClaw スタイルの HOOK.md + handler.ts レイアウト | Codex |
| MCP ツール | バンドル MCP 設定を埋め込み OpenClaw 設定にマージし、対応する stdio および HTTP サーバーを読み込む | すべての形式 |
| LSP サーバー | Claude の .lsp.json とマニフェストで宣言された lspServers を埋め込み OpenClaw LSP デフォルトにマージする | Claude |
| 設定 | Claude の settings.json を埋め込み OpenClaw デフォルトとしてインポートする | Claude |
スキルコンテンツ
- バンドルのスキルルートは通常の OpenClaw スキルルートとして読み込まれます。
- Claude の
commands/ルートは追加のスキルルートとして扱われます。 - Cursor の
.cursor/commands/ルートは追加のスキルルートとして扱われます。
フックパック
バンドルのフックルートは、通常の OpenClaw フックパックレイアウト(HOOK.md に加えて handler.ts または handler.js)を使う場合にのみ動作します。現在、これは主に Codex 互換のケースです。
埋め込み OpenClaw 向け MCP
- 有効なバンドルは MCP サーバー設定を提供できます。
- OpenClaw はバンドル MCP 設定を、有効な埋め込み OpenClaw
設定の
mcpServersとしてマージします。 - OpenClaw は、stdio サーバーを起動するか HTTP サーバーへ接続することで、埋め込み OpenClaw エージェントのターン中に、対応するバンドル MCP ツールを公開します。
codingとmessagingのツールプロファイルには、デフォルトでバンドル MCP ツールが含まれます。エージェントまたは Gateway でオプトアウトするには、tools.deny: ["bundle-mcp"]を使用します。- プロジェクトローカルの埋め込みエージェント設定はバンドルデフォルトの後にも適用されるため、必要に応じてワークスペース設定でバンドル MCP エントリを上書きできます。
- バンドル MCP ツールカタログは登録前に決定論的にソートされるため、上流の
listTools()の順序変更によってプロンプトキャッシュのツールブロックが頻繁に変動することはありません。
トランスポート
MCP サーバーは stdio または HTTP トランスポートを使用できます。 Stdio は子プロセスを起動します。streamable-http が要求されない限りデフォルトで sse を使用します。
transportは"streamable-http"または"sse"を受け付けます。省略した場合のデフォルトはsseです。type: "http"は CLI ネイティブの下流形式です。OpenClaw 設定ではtransport: "streamable-http"を使用してください。openclaw mcp setとopenclaw doctor --fixは一般的なエイリアスを正規化します。- 許可される URL スキームは
http:とhttps:のみです。 headersの値は${ENV_VAR}補間をサポートします。commandとurlの両方を持つサーバーエントリは拒否されます。- URL 認証情報(ユーザー情報とクエリパラメータ)は、ツール説明とログから墨消しされます。
connectionTimeoutMsは、stdio と HTTP の両方のトランスポートでデフォルトの30秒接続タイムアウトを上書きします。リクエストタイムアウトのデフォルトは60秒で、requestTimeoutMsで上書きできます。
ツール命名
OpenClaw は、バンドル MCP ツールをserverName__toolName 形式のプロバイダー安全な名前で登録します。たとえば、memory_search ツールを公開する "vigil-harbor" というキーのサーバーは、vigil-harbor__memory_search として登録されます。
A-Za-z0-9_-以外の文字は-に置き換えられます。- 文字以外で始まるフラグメントには文字プレフィックスが付くため、
12306のような数値サーバーキーもプロバイダー安全なツールプレフィックスになります。 - サーバープレフィックスは30文字に制限されます。
- 完全なツール名は64文字に制限されます。
- 空のサーバー名は
mcpにフォールバックします。 - サニタイズ後の名前が衝突する場合は、数値サフィックスで曖昧さを解消します。
- 最終的に公開されるツール順序は安全な名前によって決定論的になり、埋め込みエージェントの反復ターンでキャッシュが安定します。
- プロファイルフィルタリングでは、1つのバンドル MCP サーバーからのすべてのツールを
bundle-mcpによるプラグイン所有として扱うため、プロファイルの許可/拒否リストは個別の公開ツール名またはbundle-mcpプラグインキーのどちらも参照できます。
埋め込み OpenClaw 設定
Claude のsettings.json は、バンドルが有効な場合にデフォルトの埋め込み OpenClaw 設定としてインポートされます。OpenClaw は適用前にシェル上書きキーをサニタイズします。
shellPathshellCommandPrefix
埋め込み OpenClaw LSP
- 有効な Claude バンドルは LSP サーバー設定を提供できます。
- OpenClaw は
.lsp.jsonと、マニフェストで宣言された任意のlspServersパスを読み込みます。 - バンドル LSP 設定は、有効な埋め込み OpenClaw LSP デフォルトにマージされます。
- 現在実行可能なのは、対応済みの stdio ベース LSP サーバーのみです。未対応のトランスポートも
openclaw plugins inspect <id>には表示されます。
検出されるが実行されないもの
これらは認識され診断に表示されますが、OpenClaw は実行しません。- Claude
agents、hooks/hooks.json自動化、outputStyles - Cursor
.cursor/agents、.cursor/hooks.json、.cursor/rules - Codex
.app.jsonの機能レポート以外のメタデータ
バンドル形式
Codex bundles
Codex bundles
マーカー:
.codex-plugin/plugin.json任意のコンテンツ: skills/、hooks/、.mcp.json、.app.jsonCodex バンドルは、スキルルートと OpenClaw スタイルのフックパックディレクトリ(HOOK.md + handler.ts)を使用すると、OpenClaw に最も適合します。Claude bundles
Claude bundles
2つの検出モード:
- マニフェストベース:
.claude-plugin/plugin.json - マニフェストなし: デフォルトの Claude レイアウト(
skills/、commands/、agents/、hooks/、.mcp.json、.lsp.json、settings.json)
commands/はスキルコンテンツとして扱われますsettings.jsonは埋め込み OpenClaw 設定にインポートされます(シェル上書きキーはサニタイズされます).mcp.jsonは対応する stdio ツールを埋め込み OpenClaw に公開します.lsp.jsonとマニフェストで宣言されたlspServersパスは、埋め込み OpenClaw LSP デフォルトに読み込まれますhooks/hooks.jsonは検出されますが実行されません- マニフェスト内のカスタムコンポーネントパスは追加的です。デフォルトを置き換えるのではなく拡張します
Cursor bundles
Cursor bundles
マーカー:
.cursor-plugin/plugin.json任意のコンテンツ: skills/、.cursor/commands/、.cursor/agents/、.cursor/rules/、.cursor/hooks.json、.mcp.json.cursor/commands/はスキルコンテンツとして扱われます.cursor/rules/、.cursor/agents/、.cursor/hooks.jsonは検出のみです
検出の優先順位
OpenClaw はまずネイティブプラグイン形式を確認します。openclaw.plugin.jsonまたはopenclaw.extensionsを持つ有効なpackage.json- ネイティブプラグインとして扱われます- バンドルマーカー(
.codex-plugin/、.claude-plugin/、またはデフォルトの Claude/Cursor レイアウト) - バンドルとして扱われます
ランタイム依存関係とクリーンアップ
- サードパーティ互換バンドルには、起動時の
npm install修復は行われません。これらはopenclaw plugins installを通じてインストールされ、必要なものをすべてインストール済みプラグインディレクトリ内に同梱する必要があります。 - OpenClaw 所有のバンドルプラグインは、core に軽量に同梱されるか、プラグインインストーラーを通じてダウンロード可能です。Gateway 起動時にそれらのためにパッケージマネージャーを実行することはありません。
openclaw doctor --fixは古いローカルのバンドルプラグインインストール記録を削除し、設定がまだ参照しているのにローカルプラグインインデックスに存在しないダウンロード可能プラグインを復旧できます。
セキュリティ
バンドルはネイティブプラグインより狭い信頼境界を持ちます。- OpenClaw は任意のバンドルランタイムモジュールをインプロセスで読み込みません。
- Skills とフックパックのパスは、プラグインルート内に留まる必要があります(境界チェック済み)。
- 設定ファイルは同じ境界チェックで読み込まれます。
- 対応する stdio MCP サーバーはサブプロセスとして起動される場合があります。
トラブルシューティング
Bundle is detected but capabilities do not run
Bundle is detected but capabilities do not run
openclaw plugins inspect <id> を実行してください。機能が一覧表示されているものの未接続としてマークされている場合、それは製品上の制限であり、インストールの破損ではありません。Claude command files do not appear
Claude command files do not appear
バンドルが有効であり、Markdown ファイルが検出された
commands/ または skills/ ルート内にあることを確認してください。Claude settings do not apply
Claude settings do not apply
settings.json からの埋め込み OpenClaw 設定のみがサポートされます。OpenClaw はバンドル設定を生の設定パッチとして扱いません。Claude hooks do not execute
Claude hooks do not execute
hooks/hooks.json は検出のみです。実行可能なフックが必要な場合は、OpenClaw フックパックレイアウトを使用するか、ネイティブプラグインとして提供してください。関連
- プラグインをインストールして設定する
- プラグインの構築 - ネイティブプラグインを作成する
- プラグインマニフェスト - ネイティブマニフェストスキーマ