将一个技能 .zip 压缩包上传到技能中心。若已存在同名技能,服务端会先删除旧版本再上传新版本(幂等 upsert)。
项目 | 内容 |
|---|---|
请求方式 |
|
请求地址 |
|
默认鉴权 |
|
Content-Type |
|
/dataAgent/llm/openApi/v2/skill/uploadSKILL.md 的 YAML frontmatter 中的 name 为唯一标识。字段 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| form-file | file | 是 | 技能 |
| form-field | string | 否 | 技能使用场景说明。不传或传空串时,服务端默认使用 |
| form-field | string | 否 | 技能展示名称(显示名)。不传或传空串时,依次取 |
| form-field | string | 否 | 技能标签。支持重复字段( |
压缩包内需包含一个 SKILL.md,且文件开头必须带 YAML frontmatter,例如:
--- name: my-data-analysis-skill description: 用于数据分析的示例技能 show_name: 销售数据助手 tags: [sales, analytics] --- ## My Data Analysis Skill 技能正文说明……
name:必填,技能唯一标识;upsert 按此名称判断是否已存在。description:可选;当请求未传 scene 时,服务端可用作 scene 的默认值。show_name / display_name:可选;技能展示名称的默认值(请求显式传 show_name 时会覆盖它)。.git、__pycache__、隐藏文件/目录等。curl -X POST \ "https://${IDA_DOMAIN}/dataAgent/llm/openApi/v2/skill/upload" \ -H "Authorization: Bearer ${JWT_TOKEN}" \ -F 'file=@/path/to/my-skill.zip;type=application/zip' \ --silent | jq
scene、show_name 和 tagscurl -X POST \ "https://${IDA_DOMAIN}/dataAgent/llm/openApi/v2/skill/upload" \ -H "Authorization: Bearer ${JWT_TOKEN}" \ -F 'file=@/path/to/my-skill.zip;type=application/zip' \ -F 'scene=面向销售场景的数据问答技能' \ -F 'show_name=销售数据助手' \ -F 'tags=sales' \ -F 'tags=analytics' \ --silent | jq
tags 也可以在单个字段里用英文逗号分隔(等价于上面两个重复字段),例如:
-F 'tags=sales,analytics'
字段路径 | 类型 | 示例值 | 说明 |
|---|---|---|---|
| string |
| 技能名称(唯一标识)。通常来自技能包内 |
| string |
| 技能唯一标识,用于后续引用该技能(例如在场景/编排中绑定技能)。一般与 |
| string |
| 技能版本号(以实际返回为准)。 |
| boolean |
| 是否替换了已有同名技能: |
{ "JSONIFY_PRETTYPRINT_REGULAR": false, "code": "llm/ok", "data": { "name": "my-data-analysis-skill", "replaced": false, "skillUid": "my-data-analysis-skill", "version": "v1.0" }, "msg": {} }