← 返回
未分类

技能更新管理器

管理已安装技能的注册、版本跟踪与自动更新检查;当用户安装新技能、检查技能更新或配置更新策略时使用。
管理已安装技能的注册、版本追踪和自动更新,用于安装新技能、检查更新和配置更新策略。
chsengni
未分类 clawhub v1.0.1 1 版本 100000 Key: 无需
★ 0
Stars
📥 373
下载
💾 0
安装
1
版本
#latest

概述

技能更新管理器

任务目标

  • 本 Skill 用于:统一管理所有已安装技能的注册信息与版本跟踪
  • 能力包含:技能注册、版本记录、自动检查更新、更新配置管理
  • 触发条件:安装新技能前、需要检查技能更新时、首次加载本技能

前置准备

依赖说明

scripts脚本所需的依赖包及版本:

requests==2.31.0
beautifulsoup4==4.12.2
packaging==23.2
PyYAML==6.0.1

配置文件初始化

首次使用本技能时,需要将已安装的技能注册到skills-update-manager,并需要在工作目录下 MEMORY.md文件添加以下:

# 技能更新管理器配置

## 更新设置
- 启用更新检查:是/否
- 上次检查时间:YYYY-MM-DD HH:MM:SS

## 使用说明
1. 每次安装技能前优先加载 skills-update-manager
2. 更新开启时,启动技能前需加载本管理器检查更新
3. 更新关闭时,跳过更新检查

操作步骤

1. 注册新技能

核心流程:智能体自动从技能文件中提取元数据,无需用户提供详细信息。

步骤1:提取技能元数据

当用户安装新技能时,智能体需要从技能文件中提取以下信息:

方式A:从 .skill 或者.zip文件提取

  1. 解压 .skill 文件(ZIP格式)
  2. 读取 SKILL.md 文件
  3. 从 YAML 前言区提取:
    • name:技能名称
    • version:版本号(如果存在)
  4. 从文件路径或内容推断更新地址

方式B:从已解压的技能目录提取

  1. 读取 SKILL.md 文件
  2. 从 YAML 前言区提取 name 字段

调用脚本scripts/skill_registry.py --action extract --skill-path <路径>

输出示例

{
  "success": true,
  "metadata": {
    "name": "pdf-processor",
    "version": "1.0.0",
    "source": null,
    "update_url": null
  }
}

步骤2:识别来源和更新地址

智能体根据以下信息推断来源类型和更新地址:

判断规则

  • 如果用户提供 GitHub 仓库地址 → 来源:github
  • 如果用户提供 ClawHub 页面链接 → 来源:clawhub
  • 如果用户未提供 → 询问用户技能来源

典型场景

用户:"安装这个技能:https://github.com/user/skill-name"
智能体:识别来源为 github,提取仓库地址

用户:"安装 xxx.skill 文件"
智能体:提取技能名称后询问:"这个技能的来源是什么?(GitHub/ClawHub/其他)"

步骤3:注册技能

调用脚本scripts/skill_registry.py --action register

必需参数

  • --name:技能名称(从 SKILL.md 提取)

可选参数(智能体推断或询问用户):

  • --version:当前版本号(从 SKILL.md 提取,默认 "1.0.0")
  • --source:来源类型(github/clawhub,默认 "github")
  • --update-url:更新地址(根据来源推断或询问用户)

执行示例

# 完整参数(智能体已提取所有信息)
python scripts/skill_registry.py \
  --action register \
  --name "pdf-processor" \
  --version "1.0.0" \
  --source "github" \
  --update-url "https://github.com/user/pdf-processor"

# 最小参数(仅需名称,其余使用默认值)
python scripts/skill_registry.py \
  --action register \
  --name "pdf-processor"

智能体职责

  • 自动从技能文件中提取名称和版本号
  • 根据用户提供的信息推断来源和更新地址
  • 信息不完整时主动询问用户
  • 确保所有必需字段已填充后再调用注册

2. 检查技能更新

根据 MEMORY.md 中的配置,决定是否检查更新:

调用脚本scripts/skill_registry.py --action check_updates

执行逻辑

  1. 读取 MEMORY.md 配置,判断更新检查是否启用
  2. 如果启用,遍历所有已注册技能
  3. 根据技能来源类型调用对应的版本检查逻辑:
    • GitHub:访问 https://api.github.com/repos/{owner}/{repo}/releases/latest
    • ClawHub:访问技能页面,解析 "Current version" 字段
  4. 对比本地版本与远程版本
  5. 返回有更新的技能列表

输出格式

{
  "has_updates": true,
  "updates": [
    {
      "name": "example-skill",
      "current_version": "v1.0.0",
      "latest_version": "v1.2.0",
      "source": "github",
      "update_url": "https://github.com/user/example-skill"
    }
  ]
}

智能体职责

  • 解析检查结果,向用户推送更新通知
  • 询问用户是否执行更新操作
  • 如果用户确认更新,使用 git clone 或下载方式获取新版本
  • 更新本地技能记录

3. 查看已注册技能

列出所有已安装技能的详细信息:

调用脚本scripts/skill_registry.py --action list

输出内容

  • 编号
  • 名称
  • 版本
  • 来源
  • 更新地址
  • 是否可更新
  • 更新状态

4. 更新配置

修改 MEMORY.md 中的更新设置:

调用脚本scripts/skill_registry.py --action update_config

参数说明

  • --enable-updates: 是否启用更新检查(true/false)

执行方式

python scripts/skill_registry.py --action update_config --enable-updates true

5. 更新技能记录

当技能完成更新后,更新本地记录的版本号:

调用脚本scripts/skill_registry.py --action update_record

参数说明

  • --name: 技能名称
  • --version: 新版本号

资源索引

核心脚本

参考文档

注意事项

技能元数据提取

  • 优先从 SKILL.md 的 YAML 前言区提取 name 和 version
  • 如果缺少版本号,使用默认值 "1.0.0"
  • 如果缺少更新地址,必须询问用户或根据上下文推断

版本号格式

  • 推荐使用语义化版本格式:v1.0.01.0.0
  • 支持其他格式:2024.01.01v2.1
  • 版本比较遵循语义化版本规则

GitHub更新检查

  • 使用 GitHub API,无需认证
  • 频率限制:每小时60次请求(未认证)
  • 提取 tag_namename 字段作为版本号

ClawHub更新检查

  • 需要解析HTML页面
  • 定位 "Current version" 文本节点
  • 提取版本号字符串

更新策略

  • 建议在安装新技能前检查 MEMORY.md 配置
  • 如果启用更新检查,每次加载技能前调用检查逻辑
  • 批量检查更新时,注意频率限制

错误处理

脚本已包含以下错误处理:

  • 网络请求失败
  • JSON解析错误
  • 版本号格式不正确
  • 技能不存在

使用示例

示例1:首次使用技能更新管理器

场景:用户首次加载本技能

执行步骤

  1. 智能体读取当前工作目录,检查是否存在 MEMORY.md
  2. 如果不存在,调用 update_config 创建配置文件
  3. 询问用户是否启用更新检查
  4. 根据用户选择写入配置

示例2:从 GitHub 安装新技能

场景:用户说"安装这个技能:https://github.com/user/pdf-processor"

智能体执行流程

  1. 识别来源为 GitHub
  2. 克隆仓库或下载 .skill 文件
  3. 读取 SKILL.md 提取元数据:name="pdf-processor", version="1.0.0"
  4. 调用脚本注册:

```bash

python scripts/skill_registry.py --action register \

--name "pdf-processor" \

--version "1.0.0" \

--source "github" \

--update-url "https://github.com/user/pdf-processor"

```

  1. 继续安装流程

示例3:从本地文件安装技能

场景:用户上传 "data-analyzer.skill" 文件

智能体执行流程

  1. 解压 .skill 文件
  2. 读取 SKILL.md 提取元数据:name="data-analyzer", version="2.0.0"
  3. 询问用户:"这个技能的来源是什么?(GitHub/ClawHub/其他)"
  4. 用户回答:"GitHub,地址是 https://github.com/user/data-analyzer"
  5. 调用脚本注册:

```bash

python scripts/skill_registry.py --action register \

--name "data-analyzer" \

--version "2.0.0" \

--source "github" \

--update-url "https://github.com/user/data-analyzer"

```

示例4:检查更新

场景:用户希望检查所有已安装技能是否有更新

执行步骤

  1. 智能体调用 check_updates
  2. 解析返回结果
  3. 向用户推送更新列表
  4. 询问是否执行更新
  5. 根据用户选择使用 git clone 或其他方式更新技能
  6. 调用 update_record 更新本地记录

版本历史

共 1 个版本

  • v1.0.1 当前
    2026-05-07 05:42 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

优云智算GPU管家

chsengni
管理优云智算CompShare平台GPU实例全生命周期,包括创建、查询、启动、停止、重启、密码重置、删除;用于创建GPU云服务器、查询实例状态、管理启停、重置密码或删除实例。
★ 0 📥 423

仙宫云GPU管家

chsengni
仙宫云GPU云服务API集成工具,提供实例、私有镜像、账号等全量管理功能,用于查询/管理GPU实例、操作镜像、查询余额或充值。
★ 0 📥 372

ComfyUI执行器

chsengni
通过 HTTP API 与 ComfyUI 交互,支持工作流提交与执行、队列管理、文件上传及能力探测;自动识别视频工作流并使用合适超时;简洁输出执行结果;用于用户需要生成图像、视频、音频或管理服务时。
★ 0 📥 350