# 导入自定义技能

`POST` `/api/agent/skill/importFromZip`

上传 ZIP 压缩包导入自定义技能到指定智能体，可通过 overwrite 参数控制是否覆盖同名技能，通过 skillType 指定技能类型。

## 请求参数

### 请求头参数

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| X-Principal-Id | integer | 否 | 身份主体ID（Long类型）。通过API访问时必须传递以标识操作主体；通过页面访问时无需传递。可通过「身份主体」模块的创建接口获取。 |

### Query 参数

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| agentId | integer | 是 | 智能体ID |
| overwrite | boolean | 否 | 是否覆盖同名技能 |
| skillType | string | 否 | 技能类型，可选值：CUSTOM（自定义技能）、SYSTEM（系统技能），不传时默认为 CUSTOM |

### Form Data

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| file | string | 是 | - |

## 响应

### 200

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | SkillImportFromZipResult | 响应数据 |
|     skillId | integer | - |
|     skillName | string | - |
|     description | string | - |
|     totalFileCount | integer | - |
|     overwritten | boolean | - |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

### 400

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | object | 响应数据 |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

### 500

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | object | 响应数据 |
| success | boolean | 是否成功 |
| requestId | string | 上游请求ID，用于跨系统链路追踪排查问题 |
| errCode | string | 上游错误码，前端可据此做特殊UI处理 |

