メインコンテンツへスキップ

プラグインバンドル

OpenClawは、3つの外部エコシステムである CodexClaudeCursor からプラグインをインストールできます。これらは バンドル と呼ばれます。これは、OpenClawがSkills、hooks、MCP toolsのようなネイティブ機能へマッピングするコンテンツとメタデータのパックです。
バンドルはネイティブなOpenClawプラグインと同じものではありません。ネイティブプラグインは プロセス内で実行され、任意のcapabilityを登録できます。バンドルは、選択的な機能マッピングと、 より狭い信頼境界を持つコンテンツパックです。

バンドルが存在する理由

便利なプラグインの多くは、Codex、Claude、またはCursor形式で公開されています。作者にそれらをネイティブなOpenClawプラグインとして書き直してもらう代わりに、OpenClawはこれらの形式を検出し、サポートされるコンテンツをネイティブ機能セットへマッピングします。これにより、ClaudeコマンドパックやCodex Skillsバンドルをインストールして、すぐに使い始めることができます。

バンドルをインストールする

1

ディレクトリ、アーカイブ、またはマーケットプレイスからインストールする

# ローカルディレクトリ
openclaw plugins install ./my-bundle

# アーカイブ
openclaw plugins install ./my-bundle.tgz

# Claudeマーケットプレイス
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>
2

検出を確認する

openclaw plugins list
openclaw plugins inspect <id>
バンドルは Format: bundle と、codexclaude、または cursor のサブタイプ付きで表示されます。
3

再起動して使用する

openclaw gateway restart
マッピングされた機能(Skills、hooks、MCP tools、LSPデフォルト)は次のセッションで利用可能になります。

OpenClawがバンドルからマッピングするもの

現在、すべてのバンドル機能がOpenClawで実行されるわけではありません。ここでは、何が動作し、何が検出されるがまだ接続されていないかを示します。

現在サポートされているもの

Featureマッピング方法適用対象
SkillsコンテンツバンドルのSkillsルートが通常のOpenClaw Skillsとして読み込まれるすべての形式
コマンドcommands/.cursor/commands/ をSkillsルートとして扱うClaude、Cursor
HookパックOpenClawスタイルの HOOK.md + handler.ts レイアウトCodex
MCP toolsバンドルのMCP設定を組み込みPi設定にマージし、サポートされるstdio/HTTPサーバーを読み込むすべての形式
LSPサーバーClaudeの .lsp.json とmanifest宣言の lspServers を組み込みPiのLSPデフォルトにマージするClaude
設定Claudeの settings.json を組み込みPiデフォルトとして取り込むClaude

Skillsコンテンツ

  • バンドルのSkillsルートは通常のOpenClaw Skillsルートとして読み込まれます
  • Claudeの commands ルートは追加のSkillsルートとして扱われます
  • Cursorの .cursor/commands ルートは追加のSkillsルートとして扱われます
これは、ClaudeのMarkdownコマンドファイルが通常のOpenClaw Skills ローダーを通じて動作することを意味します。CursorのコマンドMarkdownも同じ経路で動作します。

Hookパック

  • バンドルのhookルートは、通常のOpenClaw hook-pack レイアウトを使っている場合にのみ動作します。現在、これは主にCodex互換ケースです:
    • HOOK.md
    • handler.ts または handler.js

Pi向けMCP

  • 有効なバンドルはMCPサーバー設定を提供できます
  • OpenClawはバンドルのMCP設定を、有効な組み込みPi設定に mcpServers としてマージします
  • OpenClawは、stdioサーバーを起動するかHTTPサーバーへ接続することで、 組み込みPiエージェントターン中にサポートされるバンドルMCP toolsを公開します
  • プロジェクトローカルのPi設定はバンドルデフォルトの後にも適用されるため、 必要に応じてワークスペース設定でバンドルMCPエントリーを上書きできます
  • バンドルMCP toolカタログは登録前に決定論的にソートされるため、 上流の listTools() 順序変更でprompt-cacheのtoolブロックが揺れません
トランスポート
MCPサーバーはstdioまたはHTTPトランスポートを使用できます: Stdio は子プロセスを起動します:
{
  "mcp": {
    "servers": {
      "my-server": {
        "command": "node",
        "args": ["server.js"],
        "env": { "PORT": "3000" }
      }
    }
  }
}
HTTP は、デフォルトで sse、指定された場合は streamable-http で実行中のMCPサーバーへ接続します:
{
  "mcp": {
    "servers": {
      "my-server": {
        "url": "http://localhost:3100/mcp",
        "transport": "streamable-http",
        "headers": {
          "Authorization": "Bearer ${MY_SECRET_TOKEN}"
        },
        "connectionTimeoutMs": 30000
      }
    }
  }
}
  • transport には "streamable-http" または "sse" を設定できます。省略時はOpenClawが sse を使用します
  • 許可されるURLスキームは http:https: のみです
  • headers の値は ${ENV_VAR} 補間をサポートします
  • commandurl の両方を持つサーバーエントリーは拒否されます
  • URL認証情報(userinfoとquery params)はtoolの 説明とログからマスクされます
  • connectionTimeoutMs は、 stdioとHTTPトランスポート両方のデフォルト30秒接続タイムアウトを上書きします
ツール名
OpenClawは、バンドルMCP toolsをprovider安全な名前形式 serverName__toolName で登録します。たとえば、memory_search toolを公開する "vigil-harbor" というキーのサーバーは vigil-harbor__memory_search として登録されます。
  • A-Za-z0-9_- 以外の文字は - に置き換えられます
  • サーバープレフィックスは30文字に制限されます
  • 完全なtool名は64文字に制限されます
  • 空のサーバー名は mcp にフォールバックします
  • サニタイズ後の名前が衝突した場合は数値サフィックスで区別されます
  • 最終的な公開tool順序は、安全な名前で決定論的に整列され、繰り返されるPi ターンでキャッシュが安定するようになっています

組み込みPi設定

  • Claudeの settings.json は、その バンドルが有効なときにデフォルトの組み込みPi設定として取り込まれます
  • OpenClawは、適用前にシェル上書きキーをサニタイズします
サニタイズされるキー:
  • shellPath
  • shellCommandPrefix

組み込みPi LSP

  • 有効なClaudeバンドルはLSPサーバー設定を提供できます
  • OpenClawは .lsp.json とmanifest宣言の lspServers パスを読み込みます
  • バンドルLSP設定は、有効な組み込みPi LSPデフォルトにマージされます
  • 現在実行可能なのは、サポートされるstdioベースのLSPサーバーのみです。未対応の トランスポートも openclaw plugins inspect <id> には表示されます

検出されるが実行されないもの

これらは認識され、診断には表示されますが、OpenClawは実行しません:
  • Claudeの agentshooks.json 自動化、outputStyles
  • Cursorの .cursor/agents.cursor/hooks.json.cursor/rules
  • capabilityレポート以外のCodexインライン/アプリメタデータ

バンドル形式

マーカー: .codex-plugin/plugin.json任意のコンテンツ: skills/hooks/.mcp.json.app.jsonCodexバンドルは、SkillsルートとOpenClawスタイルの hook-packディレクトリ(HOOK.md + handler.ts)を使う場合に、OpenClawに最もよく適合します。
検出モードは2つあります:
  • manifestベース: .claude-plugin/plugin.json
  • manifestなし: デフォルトのClaudeレイアウト(skills/commands/agents/hooks/, .mcp.json, .lsp.json, settings.json
Claude固有の動作:
  • commands/ はSkillsコンテンツとして扱われます
  • settings.json は組み込みPi設定に取り込まれます(シェル上書きキーはサニタイズされます)
  • .mcp.json は、サポートされるstdio toolsを組み込みPiに公開します
  • .lsp.json とmanifest宣言の lspServers パスは組み込みPiのLSPデフォルトに読み込まれます
  • hooks/hooks.json は検出されますが実行されません
  • manifest内のカスタムコンポーネントパスは加算的です(デフォルトを置き換えるのではなく拡張します)
マーカー: .cursor-plugin/plugin.json任意のコンテンツ: skills/.cursor/commands/.cursor/agents/.cursor/rules/.cursor/hooks.json.mcp.json
  • .cursor/commands/ はSkillsコンテンツとして扱われます
  • .cursor/rules/.cursor/agents/.cursor/hooks.json は検出専用です

検出の優先順位

OpenClawは、まずネイティブプラグイン形式を確認します:
  1. openclaw.plugin.json または openclaw.extensions を持つ有効な package.jsonネイティブプラグインとして扱われます
  2. バンドルマーカー(.codex-plugin/.claude-plugin/、またはデフォルトのClaude/Cursorレイアウト) — バンドルとして扱われます
ディレクトリに両方が含まれている場合、OpenClawはネイティブ経路を使用します。これにより、 デュアル形式パッケージが部分的にバンドルとしてインストールされることを防ぎます。

セキュリティ

バンドルは、ネイティブプラグインより狭い信頼境界を持ちます:
  • OpenClawは任意のバンドルランタイムモジュールをプロセス内で読み込みません
  • Skillsとhook-packのパスはプラグインルート内にとどまる必要があります(境界チェックあり)
  • 設定ファイルも同じ境界チェックで読み込まれます
  • サポートされるstdio MCPサーバーはサブプロセスとして起動されることがあります
これにより、バンドルはデフォルトでより安全になりますが、それでも公開している機能についてはサードパーティーバンドルを信頼済みコンテンツとして扱うべきです。

トラブルシューティング

openclaw plugins inspect <id> を実行してください。capabilityが一覧にあっても 未接続としてマークされている場合、それはインストール不良ではなく製品上の制限です。
バンドルが有効であり、Markdownファイルが検出された commands/ または skills/ ルート内にあることを確認してください。
settings.json からの組み込みPi設定のみがサポートされます。OpenClawは バンドル設定を生の設定パッチとして扱いません。
hooks/hooks.json は検出専用です。実行可能なhooksが必要な場合は、 OpenClaw hook-packレイアウトを使うか、ネイティブプラグインとして提供してください。

関連