# 安装智能体市场专家智能体

`POST` `/api/hub/agent/apply`

校验资产对当前应用可见后，从Hub专属模板克隆智能体并建立应用访问关系；调用方重试时应复用requestId。安装出的智能体归属X-Principal-Id对应的应用成员，该成员登录页面后即可在智能体列表中看到。

## 请求参数

### 请求头参数

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

### 请求体（JSON）

| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| agentHubId | integer | 是 | 智能体市场条目ID |
| requestId | string | 否 | 安装幂等请求ID，最长64个字符。同一身份主体（X-Principal-Id）下复用同一requestId会直接返回首次安装结果，不会重复安装；不传则每次调用都会新安装一个实例。建议调用方传入并在重试时复用同一个值。 |

## 响应

### 200

| 参数名 | 类型 | 说明 |
|--------|------|------|
| httpStatusCode | integer | HTTP状态码 |
| message | string | 响应消息 |
| data | AgentHubApplyVO | 响应数据 |
|     clonedAgentId | integer | 安装成功后为当前身份主体克隆出的智能体ID，后续会话、技能等操作使用该ID |
|     clonedAgentName | string | 克隆后的智能体名称 |
|     sourceAgentId | integer | 市场模板对应的源智能体ID，仅用于溯源，日常调用无需关心 |
| 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处理 |

