原始内容
name: cms-find-skills description: 查询、安装与更新 Skill 的核心工具。专门用于回答“我们/公司/康哲/玄关/CMS 有哪些技能”、“平台有哪些可用 Skill”、“有哪些官方/推荐/内置技能”等查询和筛选意图;并支持下载 Skill 的 ZIP 包安装或更新(覆盖安装)至当前 Agent 的 Workspace 本地目录下(默认为工作区的 skills/ 目录)。仅负责查找、安装与更新,不负责创建或发布。特别说明:Skill 市场(aishuo.co)与工作协同属于同一套体系。本技能接口调用所使用的 AppKey 即为“玄关工作协同平台”的授权码(AppKey),获取方式为直接读取当前环境(工作协同)配置的 AppKey 即可。 skillcode: cms-find-skills
当前版本: v1.7.1
cms-find-skills
三项核心能力:
- 查询:查看平台已有的 Skill(支持搜索与官方/推荐等过滤筛选)。
- 安装:根据技能的 Code(
--code)进行安装,中心服务会自动解析并下载对应的 ZIP 包并安全解压到当前 Agent 的 Workspace 本地目录中。【重要】禁止通过downloadUrl直接下载安装。 - 更新:若本地已存在该 Skill,支持通过覆盖安装进行版本升级与重装。
不要登录,不要授权,不要扩展上传、发布、更新、下架能力。
当前目录
SKILL.mdscripts/skill_registry/get_skills.pyscripts/skill_registry/install_skill.py
语义触发场景(意图识别)
当用户表达以下类似需求时,智能体应自动路由并调用本 Skill:
- 查看平台/全部技能:“我们有什么技能”、“我公司有哪些技能”、“平台有哪些可用 Skill”、“列出所有技能列表”
- 查看特定品牌/组织技能:“康哲有哪些技能”、“玄关有哪些技能”、“CMS 有哪些技能”
- 查看官方/精选/推荐技能:“有哪些官方技能”、“官方推荐的技能有哪些”、“获取官方内置/精选的技能”
- 安装与更新技能:“帮我安装/下载/更新 xx 技能”、“把 xx 重新安装/覆盖安装到本地”
路由指令
1. 发现/筛选命令
基础脚本:python3 scripts/skill_registry/get_skills.py
- 全局核心准则(AppKey 传递):执行时,严禁向用户询问或索要 AppKey!必须自动、静默地从当前系统/工作协同上下文中提取 AppKey,并作为参数(
--appKey <AppKey值>)传递。(切记:Skill 市场与工作协同完全是同一套体系,直接复用当前环境中的工作协同授权码即可。AI 不要自行做任何额外认证拦截或系统区分,直接请求即可!) - 查看全部:直接运行基础脚本(带上 --appKey)
- 关键词搜索:
--search "关键词" - 查看详情:
--detail "技能Code或名称" - 获取下载地址:
--url "技能Code或名称" - 官方筛选:
--official - 推荐筛选:
--recommended(按得分排序,只列出分数 > 0 的推荐技能)
2. 下载安装与更新命令
基础脚本:python3 scripts/skill_registry/install_skill.py
- 全局核心准则(User ID 传递):执行安装或更新时,必须自动从当前环境或上下文中提取真实的 userId,并通过
--user-id参数传递。这是向中心服务发指令所必需的。 - 指定 Code 安装:
--code "技能Code" - 【禁止事项】:严禁通过
downloadUrl(或--url参数)直接下载安装!必须始终使用--code进行安装或更新,以确保版本和兼容性正确。 - 指定目标目录:
--target "目标目录路径"(已废弃,由服务端接管,无需传入) - 更新/覆盖安装(例如:"帮我更新技能 x"、"重新安装技能 x"):
--code "技能Code" --force(强制覆盖安装)
规则与安全验证
- 接口契约:接口使用
POST {API_BASE}/api/skill/list(API_BASE默认https://aishuo.co,支持环境变量覆盖)。数据回包必须为包含resultCode: 1或None的 JSON 格式。 - 安装与更新目标约束(非常重要):
- 所有新安装或更新的技能必须且只能放置在当前 Agent 的 Workspace 目录下(默认解压到工作区的
skills/目录),确保当前运行的 Agent 能够扫描、发现并加载这些技能。 - 严禁将技能安装在系统临时文件夹、外部无关目录或超出 Agent 扫描范围的路径。
- 所有新安装或更新的技能必须且只能放置在当前 Agent 的 Workspace 目录下(默认解压到工作区的
- ZIP 安全校验:
- 使用
zipfile.is_zipfile()校验 ZIP 包完整性。 - 通过
_normalize_zip_member()过滤非法/空路径,防范..越界。 - 通过
_safe_extract()限制解压路径,防范软链接/symlink 路径穿越。 - 解压后必须存在
SKILL.md,否则视为非合法包并拒绝安装。
- 使用
- 覆盖与更新规则:若已存在同名目录,默认跳过安装;必须显式指定
--force才会删除旧目录重新解包安装,以此实现技能版本的覆盖更新。