
# 创建企业自研技能 - CreateSkill
#### 功能介绍
创建企业自研技能，支持同时上传技能包。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/Workspace/doc?api=CreateSkill)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-workspace/workspace_09_0128.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /v3/ai-agents/skills
#### 请求参数
表1请求Header参数 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| X-Language     | 否    | String | 语言，用于国际化。 - en-us：英文   - zh-cn：中文    |
| X-Client-Token | 否    | String | 幂等性标识，UUID格式。 创建类接口携带该请求头，服务端据此实现幂等控制；响应头返回相同值。                                                                                                                                                                                                                                                   |
   
表2请求Body参数 
| 参数               | 是否必选 | 参数类型                                                                            | 描述              |
|:---|:---|:---|:---|
| slug             | 是    | String                                                                          | 技能slug，创建后不可修改。 |
| display_name     | 是    | String                                                                          | 技能名称。           |
| alias_name       | 否    | String                                                                          | 别名（业务界面可修改的名称）。 |
| description      | 否    | String                                                                          | 技能描述。           |
| category         | 是    | String                                                                          | 技能分类。           |
| tags             | 否    | Array of strings                                                                | 技能标签。           |
| cover            | 否    | String                                                                          | 封面图 base64 编码。  |
| source           | 否    | String                                                                          | 技能来源，默认 CUSTOM。 |
| support_os_types | 否    | Array of strings                                                                | 支持的操作系统类型列表。    |
| packages         | 否    | Array of [CreateSkillPackage] objects | 技能包信息列表。        |
   
 表3CreateSkillPackage 
| 参数           | 是否必选 | 参数类型                                                                                              | 描述                                                        |
|:---|:---|:---|:---|
| version      | 是    | String                                                                                            | 版本号。                                                      |
| package_name | 是    | String                                                                                            | 技能包文件名（与 getUploadUrls 中的 packageName 一致），服务端据此构造 OBS 路径。 |
| package_hash | 是    | String                                                                                            | 技能包 SHA256 哈希值（前端上传前计算）。                                  |
| package_size | 是    | Long                                                                                              | 技能包大小（字节），最大 104857600。                                   |
| regions      | 是    | Array of [PackageRegionWithStatusInfo] objects | OBS 存储区域信息（含上传状态）。                                        |
   
 表4PackageRegionWithStatusInfo 
| 参数            | 是否必选 | 参数类型   | 描述                  |
|:---|:---|:---|:---|
| region        | 是    | String | 区域标识（如 cn-north-7）。 |
| upload_status | 是    | String | 上传状态。               |
   
#### 响应参数
**状态码：201**
表5响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表6响应Body参数 
| 参数                     | 参数类型                                                                               | 描述                                                  |
|:---|:---|:---|
| id                     | String                                                                             | 技能id。                                               |
| slug                   | String                                                                             | 技能slug。                                             |
| display_name           | String                                                                             | 技能名称。                                               |
| alias_name             | String                                                                             | 别名。                                                 |
| description            | String                                                                             | 技能描述。                                               |
| category               | String                                                                             | 技能分类。                                               |
| tags                   | Array of strings                                                                   | 技能标签。                                               |
| owner_type             | String                                                                             | 技能所有者类型。                                            |
| visibility_scope       | String                                                                             | 可见性范围。                                              |
| visible_domain_ids     | Array of strings                                                                   | 可见租户 ID 列表，仅 visibility_scope=SPECIFIC_TENANTS 时返回。 |
| status                 | String                                                                             | 技能状态。                                               |
| current_package_id     | String                                                                             | 当前生效的技能包id。                                         |
| cover                  | String                                                                             | 技能封面图 base64 编码。                                    |
| source                 | String                                                                             | 技能来源。                                               |
| support_os_types       | Array of strings                                                                   | 支持的操作系统类型列表。                                        |
| packages               | Array of [SkillPackageSummary] objects | 技能包摘要列表。                                            |
| create_time            | String                                                                             | 创建时间（ISO8601格式，UTC时区）。                              |
| update_time            | String                                                                             | 更新时间（ISO8601格式，UTC时区）。                              |
| attach_instance_number | Integer                                                                            | 已绑定实例数量。                                            |
   
 表7SkillPackageSummary 
| 参数             | 参数类型             | 描述          |
|:---|:---|:---|
| id             | String           | 技能包id。      |
| version        | String           | 版本号。        |
| revision       | Integer          | 版本修订号。      |
| package_status | String           | 技能包状态。      |
| regions        | Array of strings | 已部署的区域标识列表。 |
   
**状态码：400**
表8响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表9响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：401**
表10响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表11响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：403**
表12响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表13响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
**状态码：500**
表14响应Header参数 
| 参数           | 参数类型   | 描述 |
|:---|:---|:---|
| X-Request-Id | String | -  |
   
表15响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| error_msg  | String | 错误描述，遵循三段式格式：{描述}.{原因}.{方案}。 - 描述：简要说明发生了什么错误。   - 原因：说明导致错误的根本原因。   - 方案：给出修复建议或后续操作指引。    |
   
#### 请求示例
```
/v3/ai-agents/skills
{
  "slug" : "internal-doc-helper",
  "display_name" : "Doc Helper",
  "alias_name" : "Doc Helper",
  "description" : "Enterprise internal document processing skill",
  "category" : "DOC_KNOWLEDGE",
  "tags" : [ "document", "knowledge" ],
  "cover" : "data:image/png;base64,iVBOR...",
  "source" : "CUSTOM",
  "support_os_types" : [ "Windows", "Linux" ],
  "packages" : [ {
    "version" : "1.0.0",
    "package_name" : "internal-doc-helper-1.0.0.zip",
    "package_hash" : "sha256-abc123...",
    "package_size" : 52428800,
    "regions" : [ {
      "region" : "cn-north-7",
      "upload_status" : "UPLOADED"
    } ]
  } ]
}
```
#### 响应示例
**状态码：201**
创建成功。
```
{
  "id" : "skill-uuid-002",
  "slug" : "internal-doc-helper",
  "display_name" : "Doc Helper",
  "alias_name" : "Doc Helper",
  "description" : "Enterprise internal document processing skill",
  "category" : "DOC_KNOWLEDGE",
  "tags" : [ "document", "knowledge" ],
  "owner_type" : "TENANT",
  "visibility_scope" : "OWNER_ONLY",
  "status" : "ACTIVE",
  "current_package_id" : "pkg-uuid-010",
  "cover" : "data:image/png;base64,iVBOR...",
  "source" : "CUSTOM",
  "support_os_types" : [ "Windows", "Linux" ],
  "packages" : [ {
    "id" : "pkg-uuid-010",
    "version" : "1.0.0",
    "revision" : 1,
    "package_status" : "PUBLISHED",
    "regions" : [ "cn-north-7" ]
  } ],
  "create_time" : "2026-05-13T08:00:00Z",
  "update_time" : "2026-05-13T08:00:00Z",
  "attach_instance_number" : 0
}
```
#### 状态码
| 状态码 | 描述                     |
|:---|:---|
| 201 | 创建成功。                  |
| 400 | 由于包含语法错误，当前请求无法被服务器理解。 |
| 401 | 鉴权失败。                  |
| 403 | 没有操作权限。                |
| 500 | 服务内部错误。                |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-workspace/ErrorCode.html)。
