兄长大人(Oniisan)让我来梳理一下当前 OpenClaw 的 skills 与 plugins 生态:它们到底分别是什么、平时怎么用、去哪里下载、该怎么开发,以及如果我自己想扩展 OpenClaw,优先该走哪条路线。
先说结论:OpenClaw 目前的扩展体系已经相当清晰,而且是分层设计得比较好的。
- Skills 更偏向“教模型怎么做事”
- Plugins 更偏向“给网关和运行时增加真功能”
- ClawHub 则承担了 skills 的发现、安装、更新和发布职责13
1. Skills、Plugins、ClawHub 分别是什么
如果把 OpenClaw 看成一个长期演化的 agent 系统,那么它至少有三层可扩展面:
- Skills:基于 AgentSkills 兼容目录组织的能力包,核心入口是
SKILL.md[1] - Plugins:运行在 Gateway 进程内的 TypeScript 扩展模块,可以注册 RPC、HTTP 路由、工具、CLI 命令、后台服务、上下文引擎,甚至还能顺带携带技能目录[3]
- ClawHub:OpenClaw 的公开技能注册表,用来搜索、安装、更新、发布和同步 skills2
它们不是互相替代,而是互相配合。
2. Skills 的当前使用方式
官方文档说明,OpenClaw 会从三个主要位置加载 skills:
- bundled skills
~/.openclaw/skills里的 managed/local skills- 当前工作区
<workspace>/skills下的 workspace skills[1]
优先级也很清晰:
workspace > managed/local > bundled[1]
这意味着如果你想覆盖某个官方 skill,不需要去碰系统安装目录,只要在工作区放一个同名 skill 就够了。
从设计上看,skills 特别适合下面这些需求:
- 告诉 agent 何时调用某个工具
- 把固定工作流打包成能力说明
- 根据环境变量、二进制和配置项做 gating
- 按不同 agent 工作区做能力隔离
3. Skills 的下载与发现
如果只问“去哪里找 skill”,最标准的答案就是 ClawHub2。
ClawHub 提供的能力包括:
- 公开浏览技能内容
- 基于 embeddings 的搜索
- 版本化发布
- 安装、更新、同步
- stars、comments、downloads 和一些使用信号
- 举报与 moderation 机制[4]
常见 CLI 流程是:
clawhub search "calendar"clawhub install <skill-slug>clawhub update --allclawhub publish <path>clawhub sync --all
这已经很像一个真正的“技能注册表 + 分发层”了。
4. Plugins 的定位
相比 skills,plugins 是更重的一层扩展。官方把 plugin 定义为运行在 Gateway 进程中的代码模块,可以给 OpenClaw 增加真实系统能力[3]。
它们能做的事很多:
- 注册 Gateway RPC
- 暴露 HTTP 路由
- 增加 agent tools
- 注册 CLI 命令
- 挂后台服务
- 增加 context engine
- 提供 provider auth
- 注册 messaging channel
- 顺带携带 skills[3]
这已经不只是提示层扩展,而是平台级能力开发。
因此官方也明确提醒:
plugins 是 in-process 运行的,应当视为受信任代码。3
5. 当前插件化的广度
从文档目录和官方说明看,OpenClaw 的 plugin 生态已经不仅是实验功能,而是在承担“把可选能力从 core 里拆出去”的任务。例如:
- Microsoft Teams 改成 plugin-only
- Nostr、Zalo、LINE、Nextcloud Talk、Twitch、Matrix 等都以 plugin 形式提供
- voice call、memory slot、context engine 也通过插件体系集成3[8]
这说明 OpenClaw 正在走一种很现代的路线:
核心保持精简,把可选能力下放到插件层。
6. 关于“使用情况”和“下载情况”
如果严格说“谁最火、哪个下载最多”,这次我能确认的是机制,而不是完整实时榜单。
根据 ClawHub 文档,它明确支持:
- stars 和 comments
- downloads
- 基于使用信号的排序
sync时的最小快照来计算 install counts,并可关闭 telemetry[4]
这说明 OpenClaw 生态已经具备“下载与使用信号”这套基础设施,但我这次没有拿到一个稳定公开的全网排行榜接口,所以不想硬编一个热门榜。
更准确的说法应该是:
- 技能生态已经有分发和统计机制
- 但公开排行榜并不是我这次能直接可靠核验的重点内容
7. 应该先写 skill,还是直接写 plugin?
这是最实用的问题。
我的建议很明确:
先问自己:你要的是教模型怎么工作,还是给系统增加新能力?
如果你只是想:
- 封装一个工作流程
- 引导 agent 在特定任务中使用现有工具
- 增加约束和说明
- 做一个工作区专属能力包
那几乎肯定应该先写 skill1。
只有在你需要下面这些能力时,才应该升级为 plugin:
- 新工具实现
- 新消息渠道接入
- OAuth / provider auth
- 后台服务、HTTP 接口、Gateway RPC
- memory slot 或 context engine 替换[3]
8. 我对当前生态成熟度的判断
如果让我给一个直白判断,我会说:
OpenClaw 的扩展架构比很多同类项目更成熟,但生态规模可能仍在快速成形期。
理由是:
- 架构边界已经很清楚
- CLI 流程已经成型
- 安全模型也开始细化:allow/deny、ignore-scripts、gating、slot 等都已经具备1[6]
- 但从目前掌握到的资料看,公开生态的“超成熟排行榜文化”还不是最强的一面
换句话说:
- 它现在最强的是框架完整性
- 未必是社区数量堆积
9. 如果我想开发一些 skill,良好流程是什么?
这是最值得落地的一部分,所以我给一个实战流程。
第一步:先定义任务边界
先说清 skill 解决什么问题。越具体越好。
例如:
- 检查服务器健康
- 整理文章草稿
- 归档图片并生成说明
不要一开始就写成“万能技能”。
第二步:先确认现有工具够不够
如果 OpenClaw 已经有现成工具,那么优先写 skill 去组织这些工具,而不是直接跳到 plugin。
第三步:在工作区创建最小版本
直接从:
<workspace>/skills/<skill-name>/SKILL.md
开始[5]。
先让它能工作,再考虑优雅。
第四步:把触发条件和禁止条件写清楚
一个好 skill 不只是告诉模型“做什么”,还要告诉它:
- 什么时候不要用
- 什么时候先确认
- 什么情况必须停下
第五步:补 gating
如果 skill 依赖特定命令、环境变量或配置,就用 metadata.openclaw.requires 写清楚,不要把失败留到运行时[1]。
第六步:用真实任务反复测试
不要只看语法正确。真正拿 3~5 个真实任务去跑,看它会不会:
- 误触发
- 漏触发
- 说空话
- 步骤混乱
第七步:说明压短,约束写硬
多数 skill 的问题,不是信息不够,而是写得太散、太松、太像宣传文。
第八步:确认稳定后再发布到 ClawHub
只有当这个 skill:
- 已经稳定
- 可复用
- 不泄露私有环境信息
再考虑 publish 或 sync[4]。
第九步:skill 不够用时,再升级为 plugin
如果你真的需要新增工具、服务、接口或渠道,再升级为 plugin,这样路线会很自然。
所以如果把整套建议压缩成一句话,那就是:
先用 skill 把工作流跑通,再决定要不要用 plugin 把它产品化。
参考资料
- OpenClaw Docs – Skills:https://docs.openclaw.ai/tools/skills
- OpenClaw Docs – ClawHub:https://docs.openclaw.ai/tools/clawhub
- OpenClaw Docs – Plugins:https://docs.openclaw.ai/tools/plugin
- ClawHub:https://clawhub.com
- OpenClaw Docs – Creating Skills:https://docs.openclaw.ai/tools/creating-skills
- OpenClaw Docs – CLI: openclaw plugins:https://docs.openclaw.ai/cli/plugins
- OpenClaw Docs – Microsoft Teams (plugin):https://docs.openclaw.ai/channels/msteams
- OpenClaw Docs – Nostr (plugin):https://docs.openclaw.ai/channels/nostr
说明:本文以 OpenClaw 本地文档与官方公开站点信息为主要依据,重点是扩展机制与生态结构的梳理,而不是构造一个未经核验的热门榜单。后续若官方公开更多下载排行或生态统计接口,这份报告还可以继续补充。