Skip to main content
Versions

创建 Skill 版本

为已有 Skill 上传一个新的不可变版本快照。

POST /api/v1/cloud/skills/{skill_id}/versions 为已有 Skill 追加一个新版本。每个版本是完整内容快照(不是增量),使用 multipart/form-data 编码,内容通过 files 字段上传,格式与校验规则与 创建 Skill 完全相同。

请求头

头部必选说明
AuthorizationBearer <PAT 或 SAT>
Content-Typecurl -F 自动设置为 multipart/form-data,无需手动指定

路径参数

参数类型必选说明
skill_idstringSkill 的唯一标识符

请求体(multipart/form-data)

字段类型必选说明
filesfile(可重复)新版本的完整内容:单个 .zip 压缩包或裸文件树。包结构规则见 Skill package

示例请求

# 修改内容后重新打包(顶级目录名与 name 保持不变)
zip -r my-custom-skill-v2.zip my-custom-skill/

curl -X POST "https://api.qoder.com/api/v1/cloud/skills/skill_019e3bba474b73cfaf19eae9b5f5e66d/versions" \
  -H "Authorization: Bearer $QODER_ACCESS_TOKEN" \
  -F "files=@my-custom-skill-v2.zip"

示例响应

HTTP 201 Created
{
  "id": "skillver_019e3bbb6a25768b9b50ca2f52aa4345",
  "type": "skill_version",
  "skill_id": "skill_019e3bba474b73cfaf19eae9b5f5e66d",
  "version": "1759264410332875",
  "name": "my-custom-skill",
  "description": "自定义 Skill 示例(第二版)",
  "directory": "my-custom-skill",
  "created_at": "2026-05-19T10:12:07.332875Z"
}

响应字段

响应为 Skill version 对象
字段类型说明
idstring版本唯一标识符
typestring资源类型,固定为 "skill_version"
skill_idstring所属 Skill 的 ID
versionstring版本号
namestring该版本 SKILL.md frontmatter 的 name
descriptionstring该版本 SKILL.md frontmatter 的 description
directorystringSkill 目录名
created_atstring版本创建时间

错误码

HTTPtype触发条件
400invalid_request_error包结构非法、SKILL.md 缺失或 frontmatter 非法、解压后超过 50 MB
400invalid_request_error新版本 name 与既有 name 不一致
401authentication_error缺少或无效的认证令牌
404not_found_errorSkill 不存在或已删除
413request_too_large_error压缩包超过 50 MB
429rate_limit_error触发限流或配额限制

注意事项

  • 新版本创建成功后,Skill 的 latest_version 指向新版本,updated_at 刷新
完整错误信封说明详见 错误参考

相关