SuperAPI AI 工具集

554skill-installer

智能体与模型

查看项目

更新于 10-16 10:02

技能介绍

Skill Installer 的用途是搜索、安装和发布技能,数据来自两个来源:Starchild Marketplace(主要来源,社区技能,地址 skills-market-gateway.fly.dev)和 SkillsMP(回退来源,通过 skillsmp_search 工具获取开源技能)。网关有两个端点:公开端点 https://skills-market-gateway.fly.dev,以及 Fly 内部端点 http://skills-market-gateway.internal:8080。读取操作(搜索、安装)为公开;写入操作(发布)需要 Fly OIDC 认证。

一、搜索 Starchild Marketplace 为首选。命令为 curl -s "https://skills-market-gateway.fly.dev/skills/search?q=QUERY" | python3 -m json.tool。支持参数:q(默认为空,自由文本,匹配名称、描述、命名空间、标签)、tag(默认为空,按精确标签过滤)、sort(默认 stars,可选 stars、recent、installs)、page(默认 1,页码)、limit(默认 20,最大 100)。 SkillsMP 为回退,当用户明确要求 SkillsMP,或 Starchild Marketplace 无相关结果时,使用 skillsmp_search 工具。 工作流:始终先用 bash curl 搜索 Starchild Marketplace;展示结果时包含命名空间、名称、描述、stars、installs;若无合适匹配,再以 SkillsMP 作为回退搜索并告知用户;推荐排序依据为描述匹配度 > installs > stars > 新近程度。

二、安装 从 Starchild Marketplace 安装分三步。第一步,以 JSON 获取技能文件:curl -s "https://skills-market-gateway.fly.dev/skills/NAMESPACE/SKILLNAME/install?format=json"。其中 NAMESPACE 不带 @(例如 alice,而非 @alice);可加 &version=1.0.0 指定版本(默认最新);网关会从 GitHub Release 下载已发布的 bundle.zip 并在内存中解压,所有文件(含嵌套子目录)会在单次响应中返回。第二步,将文件写入本地技能目录,使用资料中给出的 python3 脚本完成。第三步,调用 skill_refresh() 重载技能缓存。 从 SkillsMP 安装:执行 npx skills add <githubUrl>,使用 skillsmp_search 结果中的 GitHub 字段;若 npx skills 不可用,则回退为手动方式:从 githubUrl 提取 raw SKILL.md 的 URL,用 web_fetch 获取,写入 skills/<name>/SKILL.md,再调用 skill_refresh()。 安装后:无论从哪个来源安装,始终调用 skill_refresh(),并确认技能出现在刷新后的列表中。

三、发布 发布功能用于把本地技能上传到 Starchild Community Marketplace。SKILL.md 必须包含 YAML frontmatter,字段包括 name(必填,小写、字母数字加连字符、2-64 字符)、version(必填,Semver 如 1.0.0,发布后不可变)、description(推荐,用于搜索的简短摘要)、author(推荐,作者名)、tags(推荐,用于可发现性的标签数组)。 发布工作流分三步:第一步校验技能目录,检查 SKILL.md 是否存在并含必需 frontmatter,确认 name 与 version 字段存在;第二步获取 OIDC token,使用资料中给出的 curl 命令(通过 unix socket /.fly/api,aud 为 skills-market-gateway);第三步构建并发送发布请求,使用资料中给出的 python3 脚本收集文件并以 curl POST 到 $GATEWAY/skills/publish(带 Bearer token)。 发布响应(201)包含 namespace、name、version、tag、download_url、release_url。发布错误码:400 表示缺少 SKILL.md、名称/版本无效或缺少 frontmatter;401 表示缺少或无效的 OIDC token;409 表示版本已存在,需提升版本号;500 表示服务器错误。 版本规则:每个版本不可变,一旦 1.0.0 发布便无法覆盖;如需更新需提升版本号(如 1.0.1)并重新发布;旧版本永不删除,所有下载链接保持有效。

四、决策树 用户想找技能:先搜索 Starchild Marketplace(curl 网关),无结果则搜索 SkillsMP(skillsmp_search 工具),再展示任一来源的排序结果。 用户想安装技能:从 Starchild 则 curl 安装端点 → 写文件 → skill_refresh();从 SkillsMP 则 npx skills add <url> 或手动获取 → skill_refresh()。 用户想发布/分享技能:校验 SKILL.md frontmatter(name、version)→ 获取 OIDC token → POST 到网关 → 报告已发布的 namespace/name/version/URL。

五、注意事项 Starchild Marketplace 的技能按发布者身份加命名空间(@namespace/skill-name);SkillsMP 技能来自个人 GitHub 仓库,需注意 monorepo star 通胀问题;任何安装后都要 skill_refresh();网关命名空间由 Fly OIDC token 推导,发布者无法冒充他人。