OpenClaw 可以从三个外部生态系统安装插件:Codex、Claude 和 Cursor。这些被称为 bundle,即 OpenClaw 映射为 Skills、钩子和 MCP 工具等原生功能的内容和元数据包。Documentation Index
Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
bundle 与原生 OpenClaw 插件不同。原生插件在进程内运行,
可以注册任何能力。bundle 是内容包,具有选择性的功能映射和更窄的信任边界。
为什么存在 bundle
许多有用的插件以 Codex、Claude 或 Cursor 格式发布。OpenClaw 不要求作者将它们重写为原生 OpenClaw 插件,而是检测这些格式,并将其受支持的内容映射到原生功能集。这意味着你可以安装 Claude 命令包或 Codex skill bundle 并立即使用。安装 bundle
OpenClaw 从 bundle 映射什么
并非所有 bundle 功能目前都能在 OpenClaw 中运行。以下是已经可用的内容,以及已检测但尚未接线的内容。目前支持
| 功能 | 映射方式 | 适用于 |
|---|---|---|
| Skill 内容 | bundle skill 根目录会作为普通 OpenClaw Skills 加载 | 所有格式 |
| 命令 | commands/ 和 .cursor/commands/ 会被视为 skill 根目录 | Claude、Cursor |
| 钩子包 | OpenClaw 风格的 HOOK.md + handler.ts 布局 | Codex |
| MCP 工具 | bundle MCP 配置合并到嵌入式 Pi 设置中;加载受支持的 stdio 和 HTTP 服务器 | 所有格式 |
| LSP 服务器 | Claude .lsp.json 和清单声明的 lspServers 合并到嵌入式 Pi LSP 默认值中 | Claude |
| 设置 | Claude settings.json 作为嵌入式 Pi 默认值导入 | Claude |
Skill 内容
- bundle skill 根目录会作为普通 OpenClaw skill 根目录加载
- Claude
commands根目录会被视为额外的 skill 根目录 - Cursor
.cursor/commands根目录会被视为额外的 skill 根目录
钩子包
- bundle 钩子根目录仅在使用普通 OpenClaw 钩子包布局时工作。
目前这主要是 Codex 兼容场景:
HOOK.mdhandler.ts或handler.js
Pi 的 MCP
- 已启用的 bundle 可以贡献 MCP 服务器配置
- OpenClaw 会将 bundle MCP 配置合并到有效的嵌入式 Pi 设置中,
作为
mcpServers - OpenClaw 会在嵌入式 Pi 智能体轮次期间,通过启动 stdio 服务器或连接到 HTTP 服务器来暴露受支持的 bundle MCP 工具
coding和messaging工具配置默认包含 bundle MCP 工具; 使用tools.deny: ["bundle-mcp"]可为智能体或 Gateway 网关选择退出- 项目本地 Pi 设置仍会在 bundle 默认值之后应用,因此工作区设置可以在需要时覆盖 bundle MCP 条目
- bundle MCP 工具目录在注册前会确定性排序,因此上游
listTools()顺序变化不会扰动提示缓存工具块
传输协议
MCP 服务器可以使用 stdio 或 HTTP 传输协议: Stdio 会启动子进程:sse 连接到正在运行的 MCP 服务器,或在请求时使用 streamable-http:
transport可以设置为"streamable-http"或"sse";省略时,OpenClaw 使用ssetype: "http"是 CLI 原生的下游形状;在 OpenClaw 配置中使用transport: "streamable-http"。openclaw mcp set和openclaw doctor --fix会规范化常见别名。- 只允许
http:和https:URL scheme headers值支持${ENV_VAR}插值- 同时包含
command和url的服务器条目会被拒绝 - URL 凭据(userinfo 和查询参数)会从工具描述和日志中脱敏
connectionTimeoutMs会覆盖 stdio 和 HTTP 传输协议默认的 30 秒连接超时
工具命名
OpenClaw 会用提供商安全名称注册 bundle MCP 工具,格式为serverName__toolName。例如,键为 "vigil-harbor" 的服务器暴露 memory_search 工具时,会注册为 vigil-harbor__memory_search。
A-Za-z0-9_-之外的字符会替换为-- 如果片段会以非字母开头,则会添加字母前缀,因此
12306等数字服务器键会变成提供商安全的工具前缀 - 服务器前缀最多 30 个字符
- 完整工具名称最多 64 个字符
- 空服务器名称会回退为
mcp - 发生冲突的清理后名称会用数字后缀消歧
- 最终暴露的工具顺序按安全名称确定,保持重复 Pi 轮次的缓存稳定
- 配置过滤会将来自同一 bundle MCP 服务器的所有工具视为由
bundle-mcp插件拥有,因此配置 allowlist 和 deny list 可以包含单个暴露的工具名称,也可以包含bundle-mcp插件键
嵌入式 Pi 设置
- 启用 bundle 时,Claude
settings.json会作为默认嵌入式 Pi 设置导入 - OpenClaw 会在应用 shell 覆盖键之前对其进行清理
shellPathshellCommandPrefix
嵌入式 Pi LSP
- 已启用的 Claude bundle 可以贡献 LSP 服务器配置
- OpenClaw 会加载
.lsp.json以及任何清单声明的lspServers路径 - bundle LSP 配置会合并到有效的嵌入式 Pi LSP 默认值中
- 目前只有受支持的 stdio 后端 LSP 服务器可运行;不受支持的传输协议仍会显示在
openclaw plugins inspect <id>中
已检测但不会执行
这些内容会被识别并显示在诊断中,但 OpenClaw 不会运行它们:- Claude
agents、hooks.json自动化、outputStyles - Cursor
.cursor/agents、.cursor/hooks.json、.cursor/rules - 除能力报告之外的 Codex inline/app 元数据
bundle 格式
Codex bundle
Codex bundle
标记:
.codex-plugin/plugin.json可选内容:skills/、hooks/、.mcp.json、.app.json当 Codex bundle 使用 skill 根目录和 OpenClaw 风格的钩子包目录(HOOK.md + handler.ts)时,最适配 OpenClaw。Claude bundle
Claude bundle
两种检测模式:
- 基于清单:
.claude-plugin/plugin.json - 无清单: 默认 Claude 布局(
skills/、commands/、agents/、hooks/、.mcp.json、.lsp.json、settings.json)
commands/会被视为 skill 内容settings.json会导入到嵌入式 Pi 设置中(shell 覆盖键会被清理).mcp.json会向嵌入式 Pi 暴露受支持的 stdio 工具.lsp.json加上清单声明的lspServers路径会加载到嵌入式 Pi LSP 默认值中hooks/hooks.json会被检测但不会执行- 清单中的自定义组件路径是增量的(它们扩展默认值,而不是替换默认值)
Cursor bundle
Cursor bundle
标记:
.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 会先检查原生插件格式:openclaw.plugin.json或带有openclaw.extensions的有效package.json— 视为原生插件- bundle 标记(
.codex-plugin/、.claude-plugin/或默认 Claude/Cursor 布局)— 视为 bundle
运行时依赖和清理
- 第三方兼容 bundle 不会获得启动时的
npm install修复。 它们应通过openclaw plugins install安装,并在已安装的插件目录中随附所需的一切。 - OpenClaw 拥有的内置插件要么以轻量方式随核心发布,要么可通过插件安装器下载。Gateway 网关启动时永远不会为它们运行包管理器。
openclaw doctor --fix会移除旧版暂存依赖目录,并可在配置引用了本地插件索引中缺失的可下载插件时恢复它们。
安全
bundle 的信任边界比原生插件更窄:- OpenClaw 不会在进程内加载任意 bundle 运行时模块
- Skills 和钩子包路径必须留在插件根目录内(进行边界检查)
- 设置文件会用相同的边界检查读取
- 受支持的 stdio MCP 服务器可以作为子进程启动
故障排除
bundle 已检测到,但能力未运行
bundle 已检测到,但能力未运行
运行
openclaw plugins inspect <id>。如果能力已列出但标记为未接线,
那是产品限制,而不是安装损坏。Claude 命令文件没有出现
Claude 命令文件没有出现
确保 bundle 已启用,并且 markdown 文件位于已检测到的
commands/ 或 skills/ 根目录内。Claude 设置未应用
Claude 设置未应用
仅支持来自
settings.json 的嵌入式 Pi 设置。OpenClaw 不会将 bundle 设置视为原始配置补丁。Claude 钩子未执行
Claude 钩子未执行
hooks/hooks.json 仅检测。如果你需要可运行的钩子,请使用 OpenClaw 钩子包布局或发布原生插件。