ClawHub

ClawHub 是 OpenClaw 的公共技能注册中心。这是一个免费服务:所有技能都是公开的、开放的,任何人都可以查看、分享和复用。一个技能就是一个包含 SKILL.md 文件(加上辅助文本文件)的文件夹。你可以在 Web 应用中浏览技能,也可以用 CLI 来搜索、安装、更新和发布技能。

网站:clawhub.ai

ClawHub 是什么

  • OpenClaw 技能的公共注册中心。
  • 技能包和元数据的版本化存储。
  • 支持搜索、标签和使用信号的发现平台。

工作原理

  1. 用户发布技能包(文件 + 元数据)。
  2. ClawHub 存储包、解析元数据、分配版本号。
  3. 注册中心为搜索和发现建立索引。
  4. 用户浏览、下载并在 OpenClaw 中安装技能。

你能做什么

  • 发布新技能和已有技能的新版本。
  • 通过名称、标签或搜索发现技能。
  • 下载技能包并检查其文件。
  • 举报滥用或不安全的技能。
  • 如果你是管理员,可以隐藏、取消隐藏、删除或封禁。

适合谁(新手友好)

如果你想给 OpenClaw 代理添加新能力,ClawHub 是最简便的方式来查找和安装技能。你不需要了解后端是怎么运作的。你可以:

  • 用自然语言搜索技能。
  • 把技能安装到你的工作区。
  • 之后用一条命令更新技能。
  • 通过发布来备份你自己的技能。

快速上手(非技术向)

  1. 安装 CLI(见下一节)。
  2. 搜索你需要的东西:
    • clawhub search "calendar"
  3. 安装一个技能:
    • clawhub install <skill-slug>
  4. 开一个新的 OpenClaw 会话,让它加载新技能。

安装 CLI

选一个:

npm i -g clawhub
pnpm add -g clawhub

和 OpenClaw 的关系

默认情况下,CLI 将技能安装到当前工作目录下的 ./skills。如果配置了 OpenClaw 工作区,clawhub 会回退到该工作区,除非你用 --workdir(或 CLAWHUB_WORKDIR)覆盖。OpenClaw 从 <workspace>/skills 加载工作区技能,会在下一个会话中生效。如果你已经在用 ~/.openclaw/skills 或内置技能,工作区技能优先。

关于技能如何加载、共享和门控的更多细节,参见 技能

技能系统概览

技能是一个版本化的文件包,教 OpenClaw 如何执行特定任务。每次发布创建一个新版本,注册中心保留版本历史供用户审查变更。

一个典型的技能包含:

  • 一个 SKILL.md 文件,包含主要描述和用法。
  • 可选的配置、脚本或技能使用的辅助文件。
  • 标签、摘要和安装要求等元数据。

ClawHub 使用元数据来驱动发现,并安全地暴露技能能力。注册中心还追踪使用信号(如收藏和下载量)来改善排名和可见性。

服务提供的功能

  • 公开浏览技能和它们的 SKILL.md 内容。
  • 搜索由嵌入向量驱动(向量搜索),不只是关键词匹配。
  • 版本管理支持 semver、变更日志和标签(包括 latest)。
  • 下载每个版本的 zip 包。
  • 收藏和评论用于社区反馈。
  • 审核钩子用于审批和审计。
  • CLI 友好的 API 用于自动化和脚本。

安全和审核

ClawHub 默认开放。任何人都可以上传技能,但 GitHub 账号需要注册满一周才能发布。这有助于减缓滥用而不阻碍正常贡献者。

举报和审核:

  • 任何已登录用户都可以举报技能。
  • 举报需要填写原因。
  • 每个用户同时最多有 20 个活跃举报。
  • 被 3 个以上不同用户举报的技能默认自动隐藏。
  • 管理员可以查看隐藏的技能、取消隐藏、删除或封禁用户。
  • 滥用举报功能可能导致账号被封。

想成为管理员?在 OpenClaw Discord 里提出,联系管理员或维护者。

CLI 命令和参数

全局选项(适用于所有命令):

  • --workdir <dir>:工作目录(默认:当前目录;回退到 OpenClaw 工作区)。
  • --dir <dir>:技能目录,相对于 workdir(默认:skills)。
  • --site <url>:站点基础 URL(浏览器登录)。
  • --registry <url>:注册中心 API 基础 URL。
  • --no-input:禁用提示(非交互模式)。
  • -V, --cli-version:打印 CLI 版本。

认证:

  • clawhub login(浏览器流程)或 clawhub login --token <token>
  • clawhub logout
  • clawhub whoami

选项:

  • --token <token>:粘贴 API token。
  • --label <label>:浏览器登录 token 的标签(默认:CLI token)。
  • --no-browser:不打开浏览器(需要 --token)。

搜索:

  • clawhub search "query"
  • --limit <n>:最大结果数。

安装:

  • clawhub install <slug>
  • --version <version>:安装特定版本。
  • --force:如果文件夹已存在则覆盖。

更新:

  • clawhub update <slug>
  • clawhub update --all
  • --version <version>:更新到特定版本(仅限单个 slug)。
  • --force:当本地文件与任何已发布版本不匹配时覆盖。

列表:

  • clawhub list(读取 .clawhub/lock.json

发布:

  • clawhub publish <path>
  • --slug <slug>:技能 slug。
  • --name <name>:显示名称。
  • --version <version>:semver 版本。
  • --changelog <text>:变更日志文本(可以为空)。
  • --tags <tags>:逗号分隔的标签(默认:latest)。

删除/恢复(仅所有者/管理员):

  • clawhub delete <slug> --yes
  • clawhub undelete <slug> --yes

同步(扫描本地技能 + 发布新增/更新的):

  • clawhub sync
  • --root <dir...>:额外的扫描根目录。
  • --all:不提示直接上传所有。
  • --dry-run:显示将要上传的内容。
  • --bump <type>:更新时的版本递增类型 patch|minor|major(默认:patch)。
  • --changelog <text>:非交互更新的变更日志。
  • --tags <tags>:逗号分隔的标签(默认:latest)。
  • --concurrency <n>:注册中心并发检查数(默认:4)。

代理的常见工作流

搜索技能

clawhub search "postgres backups"

下载新技能

clawhub install my-skill-pack

更新已安装的技能

clawhub update --all

备份你的技能(发布或同步)

单个技能文件夹:

clawhub publish ./my-skill --slug my-skill --name "My Skill" --version 1.0.0 --tags latest

批量扫描并备份多个技能:

clawhub sync --all

进阶细节(技术向)

版本管理和标签

  • 每次发布创建一个新的 semver SkillVersion
  • 标签(如 latest)指向一个版本;移动标签可以实现回滚。
  • 变更日志附加在每个版本上,同步或发布更新时可以为空。

本地变更 vs 注册中心版本

更新时会用内容哈希比较本地技能和注册中心版本。如果本地文件与任何已发布版本不匹配,CLI 会在覆盖前询问(非交互模式下需要 --force)。

同步扫描和回退根目录

clawhub sync 首先扫描当前工作目录。如果没找到技能,会回退到已知的旧位置(比如 ~/openclaw/skills~/.openclaw/skills)。这样不需要额外参数就能找到旧版安装的技能。

存储和锁文件

  • 已安装的技能记录在工作目录下的 .clawhub/lock.json 中。
  • 认证 token 存储在 ClawHub CLI 配置文件中(通过 CLAWHUB_CONFIG_PATH 覆盖)。

遥测(安装计数)

登录后运行 clawhub sync 时,CLI 会发送最小快照用于计算安装数。你可以完全禁用:

export CLAWHUB_DISABLE_TELEMETRY=1

环境变量

  • CLAWHUB_SITE:覆盖站点 URL。
  • CLAWHUB_REGISTRY:覆盖注册中心 API URL。
  • CLAWHUB_CONFIG_PATH:覆盖 CLI 存储 token/配置的位置。
  • CLAWHUB_WORKDIR:覆盖默认工作目录。
  • CLAWHUB_DISABLE_TELEMETRY=1:禁用 sync 时的遥测。