Plugins 导读

不用重写,直接装:Codex、Claude、Cursor 的插件包怎么接入 OpenClaw

Bundle 是来自三个生态的插件包,OpenClaw 会自动检测格式并映射为原生技能、钩子、MCP 工具等。先跑 `openclaw plugins install` 装包,再用 `openclaw plugins list` 确认识别为 `Format: bundle` 即可。注意:Bundle 不是原生插件,功能映射有限,不是所有特性都能跑。

先讲这一页到底在解决什么

不用重写,直接装:Codex、Claude、Cursor 的插件包怎么接入 OpenClaw

Bundle 是来自三个生态的插件包,OpenClaw 会自动检测格式并映射为原生技能、钩子、MCP 工具等。先跑 `openclaw plugins install` 装包,再用 `openclaw plugins list` 确认识别为 `Format: bundle` 即可。注意:Bundle 不是原生插件,功能映射有限,不是所有特性都能跑。

原文共 20 节,先看 Start Here 路径:/plugins/bundles 查看官方原文

第一站

📦 先把 bundle 想成“外面寄来的能力盒”

官方最先要你分清楚的一件事,就是:bundle 和 native plugin 长得像,但不是一回事。

🧩

Native plugin

像自己家里做的积木,能更深地接进 OpenClaw,权限也更大。

🎁

Bundle

像外面寄来的礼盒。它更像内容包,不是完整的系统内部插件。

🧰

会被映射的部分

skill、commands、hooks、MCP tools、settings 这些,OpenClaw 能认一部分,就先认一部分。

⚠️

不会执行的部分

有些 bundle 内容只会被识别,不会真的跑起来。这是为了让系统别乱接未知行为。

第二站

🚚 安装 bundle 的动作,其实就是“先搬进来,再看看它是什么”

官方的安装流程很简单,核心是让你先把 bundle 拿进来,然后确认它是不是 OpenClaw 能识别的那一类。

openclaw plugins install ./my-bundle

像把本地一个小盒子抬进仓库,让 OpenClaw 去拆封。

openclaw plugins install ./my-bundle.tgz

像把打包过的礼盒直接送来,先拆封再检查。

openclaw plugins marketplace list <marketplace-name>

像先去商店货架看一眼,再决定买哪个。

openclaw gateway restart

像把新的盒子装好后,按一下重启,让系统重新把它们认一遍。

第三站

🧭 Bundle 会被拆成什么,官方分成“现在能用”和“看得见但没跑”两类

这一页很重要,因为它不是简单说“能不能装”,而是说“装进来以后,哪些东西会真的变成 OpenClaw 功能”。

✅ 现在就能用

skill roots、commands、Hook packs、MCP tools、Claude settings 这些,OpenClaw 可以映射到自己的能力里。

👀 看见了,但不跑

像 Claude 的 agents、hooks.json、Cursor 的 rules、Codex 的某些附加元信息,OpenClaw 会识别出来,但不执行。

📌 为什么要这样做

因为不是所有 bundle 内容都适合直接照搬。OpenClaw 先选择能安全落地的那部分,再慢慢扩展。

⭐ 一句话

Bundle 不是“全盘接收”,而是“能接的先接,不能跑的先记住”。

第四站

🧩 三种 bundle,像三种不同风格的礼盒

官方把 Codex、Claude、Cursor 分开讲,是因为它们的盒子外观不一样,里头能被认出来的东西也不一样。

Codex bundle

像带着 .codex-plugin/plugin.json 标记的盒子,里面可能还有 skill、hooks、MCP 配置。

📝

Claude bundle

既可以有 .claude-plugin/plugin.json,也可以走默认目录风格。它的 commands 常常会被当成 skill 内容来读。

🟠

Cursor bundle

像带着 .cursor-plugin/plugin.json 的盒子,.cursor/commands 和一些规则文件会被识别,但不一定执行。

🏷

共同点

它们都不是 native plugin,但都能把一部分现成内容送进 OpenClaw。

第五站

🔍 检测顺序很关键,先认“自己家的盒子”,再认“外面的盒子”

官方明确写了 precedence,这很重要,因为同一个目录里可能又像 native plugin,又像 bundle。

1. 先看 native plugin

如果目录里有 openclaw.plugin.json 或者带 openclaw.extensionspackage.json,OpenClaw 会优先把它当 native plugin。

2. 再看 bundle 标记

如果没被认成 native plugin,才继续看 Codex、Claude、Cursor 这些 bundle 线索。

⚠️ 为什么要先看 native

因为 native 插件的权限和行为更完整。先认这个,避免一个目录被半当成 bundle、半当成 plugin,结果装歪。

🎈 最后记一句

同一盒东西如果既像插件又像 bundle,OpenClaw 会先按插件处理。

第六站

🧷 各种清单和目录,翻成“盒子里哪张纸会被看见”就容易多了

官方后面列的那些目录,其实是在告诉你:哪些内容能被读成 skill、commands、hooks,哪些只是被记下来。

🧰 skill roots

像盒子里最先打开的那摞说明书。OpenClaw 会把它们当成普通 skill。

📁 commands/

对 Claude 和 Cursor 来说,commands 目录会被当成 skill 内容来读。

🪝 HOOK.md + handler.ts

Codex 那边的 hook pack 结构,像一张“有事件就出来”的小哨兵卡片。

🧠 settings.json

Claude 的 settings 会被导入到嵌入式 Pi 默认设置里,但像 shell override 那类内容会被清理掉,免得带进来不该带的东西。

第七站

🧯 为什么有些东西只是“看见”,不是真的“上岗”

这页最像安全说明书的地方,就在这里。OpenClaw 不是说看见了就全执行,它会留一层缓冲。

👀 只检测不执行

像把一张陌生纸条先贴到墙上,不代表立刻照着做。

🧱 为什么要这样

因为有些 bundle 带的是上层平台专属行为,直接跑进 OpenClaw 反而可能出问题。

🔐 信任边界更窄

Bundle 和 native plugin 的差别,不只是“名字不同”,而是“OpenClaw 能放心接多少”不同。

🎈 一句话收住

Bundle 像别人寄来的礼物,先拆标签,再决定哪一部分真的搬进屋里。