[AI/Agent/Skill] 比较总结:Agent Skill 的本地管理方法

0 序

  • 前置知识:
  • 本篇旨在:了解、梳理各个 AI Agent 终端(豆包Desktop、Codex、Clawhub、OpenClaw、...)的Skill在本地电脑的存储与管理情况。

1 比较总结:Agent Skill 的本地管理方法

综合比较 (必读)

安装命令 查看已安装 卸载命令 关键备注
npx skills add <url> npx skills list npx skills remove summarizer [‑g] vercel‑labs 工具;三套互相隔离,无 lock;要注意‑g全局标记
openclaw skills install @ivangdavila/summarizer openclaw skills list openclaw skills uninstall @ivangdavila/summarizer openclaw 原生;识别全局 /workspace;不读 clawhub lock
clawhub install ivangdavila/summarizer clawhub list clawhub uninstall ivangdavila/summarizer .clawhub/lock.json;默认 workspace 私有,‑g全局
Codex CI/Desktop 等专业Agent UI 卸载 / 复用上面 openclaw/clawhub 命令 只是 UI,没有针对skill的独立 cli工具 rm -rf ~/.openclaw/workspace/skills/xxx,重启 Codex
  • codex
  • 主 CLI没有原生顶层子命令codex skill list / install / uninstall 这些命令并不存在
  • 遵循 Open Agent Skills 标准;安装 / 卸载 skill 不靠 codex 本体,靠外部 npx skills(vercel‑labs/skills)工具
  • Codex Skill 目录:
跨Agent全局: `~/.agents/skills/`
Codex用户全局:`~/.codex/skills/`
当前项目 workspace:`./.agents/skills/`(项目级)
  • 但:Codex ≠ OpenClaw;Codex 不会读 ~/.openclaw/**,完全独立目录
  • npx / openclaw cli / clawhub cli 的共同点:均基于 node(nodejs),即:底层程序、网络环境是一致的。

通过网络代理解决其底层访问 https://clawhub.ai/ 等站点的网络问题。powershell 为例:

# 配置环境变量 | 注: `NODE_USE_ENV_PROXY` 环境变量系 node 需要访问
$env:HTTP_PROXY=http://127.0.0.1:7890
$env:HTTPS_PROXY=http://127.0.0.1:7890
$env:NODE_USE_ENV_PROXY=1

echo $env:HTTP_PROXY $env:HTTPS_PROXY $env:NODE_USE_ENV_PROXY

# 验证网络可达性 | 网络正常的情况下,应输出: 200,反之报错
node -e "fetch('https://clawhub.ai').then(r=>console.log(r.status)).catch(e=>console.log(e.message + '\n' + e))"

# 取消环境变量
$env:HTTP_PROXY=
$env:HTTP_PROXY=
$env:NODE_USE_ENV_PROXY=
  • 不要混用 CLI 卸载:用npx skills add装的,拿clawhub uninstall是删不掉的,其 lock 文件里没有这条记录;只会提示 not found。
  • 兜底清理:如果元数据乱了,直接rm -rf对应 skill 文件夹,再清理对应工具的 lock / 配置。

方法0 手动

检索在线SkillHub的Skill

更多参见: [AI应用] 在线/开源的SkillHub - AI Agent Skill 综述:告别Prompt炼丹,把AI的“经验”封装成可复用的工程资产 - 博客园/数据知音

安装所需的Skill

  • 方法1: 直接下载SkillHub上的Skill,并放置在本地指定的目录

直接在在线SkillHub 或 Github 或各 大模型/Agent 厂商的终端软件的技能市场(如:豆包、CodeBuddy的技能市场)等各种地方进行手动下载。

  • 方法2:开发用户自定义的Skill

遵循 Agent Skill 规范: https://agentskills.io/specification

查看已安装的 Skill

image

  • ls ~/.agents/skills/ (跨agent、跨项目的全局公共skill目录,豆包 Desktop、codex desktop/cli、npx、openclaw cli等均支持)

  • ls ~/.openclaw/plugin-skills/

  • ls ~/.openclaw/workspace/skills/ (clawhub安装的默认目录)

  • 当前项目 workspace 的 Skill:./.agents/skills/

卸载已安装的 Skill(不建议)

  • 手动删除~/.agents/skills/下的指定 skill 文件夹

不是所有目录都能这么干。

方法1 npx

  • 推荐文献

查看已安装的 Skill

npx skills list

image

由图可见,仅加载了~/.agents/skills目录的Skill

安装 skill

  • 安装 Skill
npx skills add https://clawhub.ai/ivangdavila/skills/summarizer

image

  • 安装范围: 项目级 / 全局级

image

假设选择【全局级】,则安装目录在: ~/.agents/skills/

image

image

  • ~/.agents/.skill-lock.json 文件会记录 npx 安装在 ~/.agents/skills 目录下的 skill 元信息(安装来源URL、版本、更新时间等)

image

更新 Skill

# npx‑skills
npx skills update summarizer [-g]

卸载 Skill

npx skills remove xxx

方法2 openclaw

检索在线SkillHub的Skill

openclaw skills search "xxx"

查看已安装的Skill

image

  • 加载的目录:~/.openclaw/plugin-skills~/.openclaw/workspace/skills/~/.agents/skills/

安装 Skill

openclaw skills install @ivangdavila/summarizer
或 openclaw skills install ivangdavila/summarizer
或 openclaw skills install summarizer (当技能不重名时)

更新 Skill

openclaw skills update @ivangdavila/summarizer

卸载 Skill

clawhub uninstall ivangdavila/summarizer
clawhub uninstall summarizer

方法3 clawhub

检索在线SkillHub的Skill

clawhub search "xxx"

查看已安装的Skill

  • 仅加载从 clawhub 上下载的 skill
clawhub list
  • 加载的目录: ~/.openclaw/workspace/skills/

image

更新 Skill

clawhub update ivangdavila/summarizer

安装 Skill

clawhub install ivangdavila/summarizer
或 clawhub install summarizer

卸载 Skill

clawhub uninstall government-procurement-bigdata-analyzer

image

方法4 codex

查看已安装的 Skill

  • CLI 交互式查看(进入 codex 会话内)
codex
# 在codex交互终端执行
/skills

image

安装 skill by npx

  • 使用 npx skills add必须加 -a codex 指定目标 agent 是 codex,否则可能装错目录。
# 安装到 ~/.agents/skills/
npx skills add https://clawhub.ai/laojun509/skills/git-repo-reader

# 从URL安装到codex全局 ~/.codex/skills
npx skills add https://clawhub.ai/ivangdavila/skills/summarizer -a codex -g -y

# 安装到当前项目workspace ./.agents/skills(项目私有)
npx skills add https://clawhub.ai/ivangdavila/skills/summarizer -a codex -y
  • -g:全局(~/.codex/skills);不加则项目本地 ./.agents/skills
  • -a codex:target agent,关键,否则会写到 openclaw 路径
  • -y:关闭交互确认,CI 可用

❌:openclaw skills install / clawhub install 装出来的 skill不会被 codex 识别,目录完全隔离。

Z FAQ for Agent Skill 的本地安装管理

Q: clawhub 上有不少 skill 的类型是 skills.sh 的,这个 skills.sh 类型的 skill 到底是干啥的?和 https://skills.sh 之间有何种关系?(必读)

  • 问题描述

image

clawhub 上有不少 skill 的类型是 skills.sh 的,这个 skills.sh 类型的 skill 到底是干啥的?和 https://skills.sh 之间有何种关系?
1)正例安装命令:openclaw skills install skills-sh:skills-101/superpowers/ai-video-generation
    https://clawhub.ai/skills-sh/skills-101/superpowers/ai-video-generation
2)反例安装命令:openclaw skills install @laojun509/git-repo-reader
    https://clawhub.ai/laojun509/skills/git-repo-reader

skills.sh 类型的 Skill

https://clawhub.ai 页面上的skills.sh标签,不是一种新的skill文件格式,是【来源标记】:代表这条技能条目来自【第三方技能市场】 skills.sh,不是【原生ClawHub注册条目】。
物理文件依然是标准SKILL.md,和普通ClawHub skill格式完全一样。

1、与 https://skills.sh 的关系

  1. skills.sh 是独立第三方技能分发目录/市场,和ClawHub是2套【独立的技能索引库】:

    • skills.sh:任何人可以直接发布,无平台侧安全扫描,开放社区生态,技能数量多、更新快。
    • clawhub.ai:OpenClaw官方市场,上架会做【自动安全扫描】;可以导入、收录skills.sh平台上的技能,在ClawHub网页上展示,打上skills.sh标签,就是截图里看到的按钮。
  2. ⚠️关键:OpenClaw不会直接从skills.sh网站下载技能源码

    • 当执行 openclaw skills install skills‑sh:skills‑101/superpowers/ai‑video‑generation
    • openclaw 把这个引用传给 ClawHub 后端;ClawHub去解析出该skill对应的GitHub仓库+固定commit hash;从GitHub拉取源码,不是访问skills.sh;skills.sh仅作为“发现源”,只做索引,不提供二进制/skill源码下载。
  3. 两者存储索引互相独立:同一个skill可以同时存在于skills.sh目录,又被Clawhub收录。

2、两种安装引用语法对比

正例:skills‑sh前缀引用(来自skills.sh目录的技能)

openclaw skills install skills‑sh:skills‑101/superpowers/ai‑video‑generation
  • 协议标记:skills‑sh:(新修订版本改为斜杠skills‑sh/owner/repo/slug),告诉CLI:去ClawHub解析这个来自skills.sh索引的条目,拿到锁定commit的github源安装。
  • 元数据lock.json中会记录这个skills‑sh:原始引用,后续updateverify可以识别这个来源。
  • 磁盘上最终产物:标准skill目录,内含SKILL.md,和普通skill没有任何文件层面区别。

反例:原生ClawHub registry skill

openclaw skills install @laojun509/git‑repo‑reader
  • @author/skillnameClawHub原生注册条目,直接读取ClawHub注册表,走ClawHub的版本、安全扫描链路。
项目 skills‑sh标记技能(页面按钮skills.sh) ClawHub原生skill @xxx/xxx
来源索引 第三方目录 skills.sh ClawHub官方注册表
安装语法 openclaw skills install skills‑sh:owner/repo/slug openclaw skills install @owner/slug
源码下载地址 解析后从GitHub拉取,不从skills.sh下载 ClawHub托管/解析github源
平台安全扫描 仅本地openclaw扫描;skills.sh平台无审核;Clawhub导入后会做扫描校验 Clawhub平台侧自动安全扫描
lock记录 记录skills‑sh:来源标识 记录@scope/name标识
磁盘文件格式 标准SKILL.md,无特殊格式,和普通skill完全一致 标准SKILL.md

3、配套命令(skills‑sh来源的skill)

一旦安装完成,list / uninstall / update / info 命令和普通skill完全一样,不需要带skills‑sh前缀,直接填skill本地名字。

# 查看列表,区分来源
openclaw skills list
# 查看详情
openclaw skills info ai‑video‑generation
# 更新(lock里会识别原始skills‑sh引用)
openclaw skills update ai‑video‑generation
# 卸载
openclaw skills uninstall ai‑video‑generation

4、容易踩坑点

  1. skills.sh只是索引来源标记,不是一种新的skill文件格式;磁盘没有.sh后缀的特殊文件,依然是SKILL.md。

  2. 不要把 skills‑sh: 语法和 npx skills add(vercel‑labs/skills工具)混淆:

    • npx skills add:直接传URL,直接下载,不走Clawhub解析链路;
    • openclaw skills install skills‑sh:xxx:交给Clawhub做解析,解析到github锁定commit再下载源码。
  3. 安全提示:skills.sh原始目录没有平台审核,即使被Clawhub收录,依然建议执行安全审计:

openclaw security audit ai‑video‑generation
  1. 旧版本openclaw对skills‑sh:冒号语法有调整,部分版本推荐斜杠写法:openclaw skills install skills‑sh/skills‑101/superpowers/ai‑video‑generation冒号语法在部分commit被废弃,看你的openclaw版本决定使用哪种语法。

5、三者来源总览

  1. @xxx/yyy:ClawHub原生注册
  2. skills‑sh:xxx/yyy:ClawHub收录的skills.sh第三方目录条目
  3. git:owner/repo:直接原始github安装,不走任何市场索引

6、补充:4 种 Skill 安装数据流

  • 重点:4 种方式最终磁盘产物都是标准 SKILL.md 文件夹;但是【网络请求链路】、【元数据】、【注册表】完全不一样
安装方式 示例命令 查询的注册表 / 索引 源码下载源 本地元数据 是否经过 ClawHub 安全扫描
npx‑skills add npx skills add https://xxx/xxx 无注册表,直接使用传入 URL 传入的 URL(GitHub raw 等) skills‑lock.json(独立,openclaw 不识别) ❌完全不经过 ClawHub 链路
ClawHub 原生 openclaw skills install @ivangdavila/summarizer ClawHub 官方注册表 GitHub(ClawHub 返回锁定 commit) openclaw 内部元数据 ✅ ClawHub 平台自动安全扫描
skills‑sh 引用 openclaw skills install skills‑sh:skills‑101/superpowers/ai‑video‑generation skills.sh 第三方索引(仅元数据) GitHub(ClawHub 后端解析后返回 commit) openclaw 元数据,标记来源skills‑sh: ✅导入 ClawHub 后会做安全扫描;原始 skills.sh 平台无审核
Git 直接安装 openclaw skills install git:owner/repo@commitHash 不经过任何市场注册表 GitHub Git API,指定 commit hash openclaw 元数据,记录 git+commit ❌不经过 ClawHub 扫描,本地仅做基础校验
flowchart LR subgraph 客户端终端 A1["npx skills add <URL>"] A2["openclaw skills install @xxx/yyy<br/>ClawHub原生"] A3["openclaw skills install skills‑sh:xxx/yyy<br/>skills‑sh引用"] A4["openclaw skills install git:owner/repo@hash<br/>Git直接安装"] end subgraph 外部网络资源 SH["skills.sh(仅做索引,不返回源码)"] CHub["ClawHub注册表<br/>安全扫描、版本、commit锁定"] GH["GitHub raw / git api<br/>真实SKILL.md源码"] end subgraph 本地磁盘 D["~/.openclaw/{skills | workspace/skills}/<skill‑name>/<br/>SKILL.md + 资源文件"] M1["npx‑skills本地lock<br/>skills‑lock.json"] M2["openclaw内部元数据"] M3[".clawhub/lock.json"] end %% ========== 1. npx‑skills add ========== A1 -->|1.直接请求传入的URL| GH GH -->|下载skill源码| D A1 -.->|写入记录| M1 %% ==========2. clawhub原生 @xxx/yyy ========== A2 -->|1.查询注册表| CHub CHub -->|返回锁定commit+github地址| A2 A2 -->|2.去github拉源码| GH GH --> D A2 -.->|写入openclaw元数据| M2 %% ==========3. skills‑sh:xxx/yyy ========== A3 -->|1.把skills‑sh引用传给ClawHub后端| CHub CHub -->|2.ClawHub后端查询skills.sh拿到源信息| SH SH -->|返回repo/slug信息| CHub CHub -->|3.返回锁定commit的github地址| A3 A3 -->|4.直接访问GitHub下载源码(**不从skills.sh下载源码**)| GH GH --> D A3 -.->|元数据记录skills‑sh来源标记| M2 %% ==========4.git:owner/repo@hash ========== A4 -->|直接git clone指定commit,不经过任何市场注册表| GH GH --> D A4 -.->|元数据记录git源+commit hash| M2

Y 推荐文献

X 参考文献

posted @ 2026-08-24 23:38  数据知音  阅读(16)  评论(0)    收藏  举报