Skip to content

Plugin Bundles

OpenClaw 支持从三个外部生态系统安装插件:CodexClaudeCursor。这些统称为 bundles(包),是包含内容和元数据的压缩包,OpenClaw 会将其内容映射为原生功能,如 skill、hook 和 MCP 工具。

信息: Bundle 不等于原生 OpenClaw 插件。原生插件在进程内运行,可注册任意能力。Bundle 是内容包,功能映射有限,信任边界也更窄。

为什么需要 bundles

很多有价值的插件已发布为 Codex、Claude 或 Cursor 格式。与其要求作者重写为原生 OpenClaw 插件,OpenClaw 会自动识别这些格式并将其支持的内容映射到原生功能集。这意味着你可以直接安装一个 Claude 命令包或 Codex skill 包,立即上手使用——就像"把别人养的龙虾直接放进你的缸里"。

安装 bundle

第一步:从目录、归档或 marketplace 安装

bash
# 本地目录
openclaw plugins install ./my-bundle

# 归档文件
openclaw plugins install ./my-bundle.tgz

# Claude marketplace
openclaw plugins marketplace list <marketplace-name>
openclaw plugins install <plugin-name>@<marketplace-name>

第二步:验证检测结果

bash
openclaw plugins list
openclaw plugins inspect <id>

Bundle 会显示为 Format: bundle,子类型为 codexclaudecursor

第三步:重启并使用

bash
openclaw gateway restart

映射后的功能(skill、hook、MCP 工具)将在下一个会话中可用。

OpenClaw 从 bundle 中映射的内容

不是所有 bundle 功能在 OpenClaw 中都能运行。以下是目前支持和已检测但尚未接通的内容。

当前支持

功能映射方式适用格式
Skill 内容Bundle skill 根目录作为普通 OpenClaw skill 加载所有格式
Commandscommands/.cursor/commands/ 视为 skill 根目录Claude, Cursor
Hook 包OpenClaw 风格的 HOOK.md + handler.ts 布局Codex
MCP 工具Bundle 的 MCP 配置合并到内嵌 Pi 设置;支持的 stdio 服务器作为子进程启动所有格式
SettingsClaude 的 settings.json 作为内嵌 Pi 默认值导入Claude

已检测但不执行

以下内容会被识别并在诊断中显示,但 OpenClaw 不会运行它们:

  • Claude 的 agentshooks.json 自动化、lspServersoutputStyles
  • Cursor 的 .cursor/agents.cursor/hooks.json.cursor/rules
  • Codex 的内联/应用元数据(超出能力报告范围的部分)

Bundle 格式

Codex bundles:

标识文件:.codex-plugin/plugin.json

可选内容:skills/hooks/.mcp.json.app.json

当 Codex bundle 使用 skill 根目录和 OpenClaw 风格的 hook-pack 目录(HOOK.md + handler.ts)时,与 OpenClaw 的兼容性最佳。

Claude bundles:

两种检测模式:

  • 基于 manifest: .claude-plugin/plugin.json
  • 无 manifest: 默认 Claude 布局(skills/commands/agents/hooks/.mcp.jsonsettings.json

Claude 专属行为:

  • commands/ 视为 skill 内容
  • settings.json 导入到内嵌 Pi 设置(shell override 键会被清理)
  • .mcp.json 向内嵌 Pi 暴露支持的 stdio 工具
  • hooks/hooks.json 仅检测,不执行
  • manifest 中的自定义组件路径是累加的(扩展默认值,不替换)

Cursor bundles:

标识文件:.cursor-plugin/plugin.json

可选内容:skills/.cursor/commands/.cursor/agents/.cursor/rules/.cursor/hooks.json.mcp.json

  • .cursor/commands/ 视为 skill 内容
  • .cursor/rules/.cursor/agents/.cursor/hooks.json 仅检测

检测优先级

OpenClaw 优先检查原生插件格式:

  1. 存在 openclaw.plugin.json 或有效的含 openclaw.extensionspackage.json → 视为原生插件
  2. Bundle 标识文件(.codex-plugin/.claude-plugin/ 或默认 Claude/Cursor 布局)→ 视为 bundle

如果一个目录同时包含两者,OpenClaw 使用原生路径,防止双格式包被部分安装为 bundle。

安全性

Bundle 的信任边界比原生插件更窄:

  • OpenClaw 不会在进程内加载任意 bundle 运行时模块
  • Skill 和 hook-pack 路径必须保持在插件根目录内(有边界检查)
  • Settings 文件使用相同的边界检查读取
  • 支持的 stdio MCP 服务器可以作为子进程启动

这使 bundle 默认更安全,但你仍应将第三方 bundle 视为其所暴露功能范围内的可信内容对待。

故障排查

Bundle 已检测但能力未运行:

运行 openclaw plugins inspect <id>。如果某能力已列出但标记为未接通,这是产品限制,不是安装问题。

Claude command 文件未出现:

确保 bundle 已启用,且 markdown 文件位于已检测的 commands/skills/ 根目录中。

Claude settings 未生效:

仅支持来自 settings.json 的内嵌 Pi 设置。OpenClaw 不将 bundle settings 视为原始配置补丁。

Claude hooks 未执行:

hooks/hooks.json 仅供检测。如需可运行的 hook,请使用 OpenClaw hook-pack 布局或发布原生插件。

相关链接