clawhub README

The project's README from github.com/openclaw/clawhub. As one markdown file: README.md.

ClawHub

ClawHub banner

ClawHub

CI status Discord MIT License

ClawHub is the public skill registry for OpenClaw: publish, version, and search text-based agent skills (a SKILL.md plus supporting files). It's designed for fast browsing + a CLI-friendly API, with moderation hooks and vector search. It also exposes a native OpenClaw package catalog for code plugins, bundle plugins, and experimental whole-agent Claw packages.

ClawHub · Vision · Docs · Contributing · Discord

What you can do with it

How it works (high level)

CLI

Common CLI flows:

Docs: docs/quickstart.md, docs/cli.md.

Removal permissions

Telemetry

ClawHub tracks minimal install telemetry (to compute install counts) when you run clawhub install while logged in. Disable via:

export CLAWHUB_DISABLE_TELEMETRY=1

Details: docs/telemetry.md.

Repo layout

Local dev

Prereqs: Bun (Convex runs via bunx, no global install needed). The detached worktree path also requires Worktrunk (wt).

bun install
cp .env.local.example .env.local
# edit .env.local — see CONTRIBUTING.md for local Convex values

# terminal A: local Convex backend
bunx convex dev

# terminal B: web app (port 3000)
bun run dev

# detached/Codex worktree preview
bun run setup:worktree
bun run dev:worktree
wt --yes url

# seed local QA fixtures and the public corpus
bun run seed:dev

bun run seed:dev waits for the local Convex deployment, runs the dev fixture seed, and refreshes global stats. The fixtures are owned by @local and are safe to rerun after fixture or schema changes. For reset/manual commands and full setup instructions (env vars, GitHub OAuth, JWT keys, database seeding), see CONTRIBUTING.md.

Environment

Nix plugins (nixmode skills)

ClawHub can store a nix-clawdbot plugin pointer in SKILL frontmatter so the registry knows which Nix package bundle to install. A nix plugin is different from a regular skill pack: it bundles the skill pack, the CLI binary, and its config flags/requirements together.

Add this to SKILL.md:

---
name: peekaboo
description: Capture and automate macOS UI with the Peekaboo CLI.
metadata:
  {
    "clawdbot":
      {
        "nix":
          {
            "plugin": "github:clawdbot/nix-steipete-tools?dir=tools/peekaboo",
            "systems": ["aarch64-darwin"],
          },
      },
  }
---

Install via nix-clawdbot:

programs.clawdbot.plugins = [
  { source = "github:clawdbot/nix-steipete-tools?dir=tools/peekaboo"; }
];

You can also declare config requirements + an example snippet:

---
name: padel
description: Check padel court availability and manage bookings via Playtomic.
metadata:
  {
    "clawdbot":
      {
        "config":
          {
            "requiredEnv": ["PADEL_AUTH_FILE"],
            "stateDirs": [".config/padel"],
            "example": "config = { env = { PADEL_AUTH_FILE = \\\"/run/agenix/padel-auth\\\"; }; };",
          },
      },
  }
---

To show CLI help (recommended for nix plugins), include the cli --help output:

---
name: padel
description: Check padel court availability and manage bookings via Playtomic.
metadata: { "clawdbot": { "cliHelp": "padel --help\\nUsage: padel [command]\\n" } }
---

metadata.clawdbot is preferred, but metadata.clawdis and metadata.openclaw are accepted as aliases.

Skill metadata

Skills declare their runtime requirements (env vars, binaries, install specs) in the SKILL.md frontmatter. ClawHub's security analysis checks these declarations against actual skill behavior; medium review findings stay visible, and the suspicious filter is reserved for high-impact or malicious concerns.

Full reference: docs/skill-format.md

Quick example:

---
name: my-skill
description: Does a thing with an API.
metadata:
  openclaw:
    requires:
      env:
        - MY_API_KEY
      bins:
        - curl
    primaryEnv: MY_API_KEY
---

Scripts

bun run dev
bun run build
bun run test
bun run coverage
bun run lint

clawhub (openclaw/clawhub)

Searching Database…

9.5K ·GitHub
这是什么?ClawHub 是 OpenClaw 的公开技能注册中心:一个用来发布、版本管理和搜索文本形式智能体技能(一个 SKILL.md 加上配套文件)的地方,此外还有 OpenClaw 代码插件和 bundle 插件的目录。
它是一个我用来浏览的网站,还是一个需要安装的命令行工具?两者都是:一个用于浏览和渲染技能的网页应用,一个对命令行友好的 API,还有 clawhub CLI,可以直接在终端里搜索、安装和发布技能。
我怎么从上面获取一个技能?先用 clawhub login 登录(无界面的机器上用 clawhub login --device),通过 clawhub search 或 clawhub explore 找到技能,然后运行 clawhub install @openclaw/demo。clawhub list 和 clawhub update --all 可以管理已安装的技能。
像 npm 那样,我需要有 GitHub 账号才能用它吗?需要——登录走的是 GitHub OAuth,网页应用和 CLI 都靠它。如果要开发 ClawHub 本身,需要先装 Bun;要跑自建的基于 embeddings 的搜索,则需要 OpenAI API 密钥。
如果我反悔了,能删除自己发布的技能吗?clawhub uninstall 只会删除你本机上的副本。上传到注册中心的技能是软删除,可以通过 clawhub delete / clawhub undelete 恢复;彻底删除只有管理员能操作。
安装技能时会上报什么信息吗?只有很少的安装遥测数据:登录状态下执行 clawhub install 会被记录,用来统计安装次数,而且你可以关掉它——详情见 docs/telemetry.md。
对于已经拥有的技能,我能做什么?你可以在不破坏旧链接或旧安装的情况下给技能改名——旧 slug 会保留为跳转别名——也可以把重复的技能合并到一个正式 slug 上,它同样会做跳转。
搜索是怎么实现的——只是简单的关键词匹配吗?不是。ClawHub 用 OpenAI embeddings(text-embedding-3-small)和 Convex 向量搜索来索引技能,所以你按含义搜索,而不是脆弱的关键词匹配。
发布的技能会做安全检查吗?技能会在 SKILL.md 的 frontmatter 里声明运行时需求(环境变量、可执行程序、安装配置),ClawHub 的安全分析会把这些声明和实际行为做比对。中等程度的问题会保持可见,而"可疑"标记只留给影响较大或带有恶意意图的情况。
除了技能,我也能发布插件吗?可以——原生代码插件和 bundle 插件都通过 /packages API 和 CLI 流程发布。代码插件的清单必须声明 openclaw.compat.pluginApi 和 openclaw.build.openclawVersion,实验性的完整智能体 Claw 包也可以托管。
Creator
openclaw
Size
349.2 MB
Stars
9.5K
Age
9mo
Commits · 90 Days