# 查询当前智能体配置

读取指定智能体版本在当前系统中的配置视图。

```text
GET https://moi.matrixorigin.cn/newmoi/workspaces/{workspace_id}/agent-builder/agents/{agent_id}/versions/{version}/current-agent
```

## 调用前准备

先[确认智能体候选方案](commit-candidate.md)，使用响应中的 `load_version` 作为 `version`，不要根据候选版本自行推断。准备有目标工作区访问权限的个人访问令牌、目标工作区 ID、智能体 ID 和版本标识。

下方示例使用：

- `$AI_STUDIO_API_KEY`：实际个人访问令牌，通过 `X-API-Key` Header 传递。
- `$WORKSPACE_ID`：目标工作区 ID，通过 `X-Workspace-ID` Header 传递，同时作为路径中的 `workspace_id`。
- `$AGENT_ID`：智能体 ID，作为路径中的 `agent_id`。
- `$VERSION`：要查询的版本标识，作为路径中的 `version`；使用确认候选响应中的 `load_version`。

## 路径参数

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `workspace_id` | string | 是 | 工作区 ID。 |
| `agent_id` | string | 是 | 智能体 ID。 |
| `version` | string | 是 | 版本标识。 |

## 查询参数

| 参数 | 类型 | 是否必填 | 说明 |
| --- | --- | --- | --- |
| `agent_workspace_id` | string | 否 | 智能体版本所属工作区。未提供时使用当前工作区；只能指定当前工作区或系统工作区。 |

## 请求示例

```bash
curl "https://moi.matrixorigin.cn/newmoi/workspaces/$WORKSPACE_ID/agent-builder/agents/$AGENT_ID/versions/$VERSION/current-agent" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID"
```

## 成功响应

成功时返回 `200`。使用确认候选方案响应中的 `load_version` 作为 `version`，不要根据候选版本自行推断。

```json
{
  "code": 0,
  "data": {
    "agent_id": "agent_01",
    "name": "产品助手",
    "description": "回答产品问题。",
    "model_name": "<MODEL_NAME>",
    "model_config_ref": "mc_01",
    "tool_names": [],
    "skill_names": [],
    "knowledge_base_names": [],
    "channel_bindings": [],
    "agent_md": "<AGENT_MARKDOWN>",
    "change_reason": "<CHANGE_REASON>"
  }
}
```

响应字段如下。

| 字段 | 类型 | 说明 |
| --- | --- | --- |
| `code` | integer | 成功时为 `0`。 |
| `data.agent_id` | string | 智能体标识、名称和说明。 |
| `data.name` | string | 智能体标识、名称和说明。 |
| `data.description` | string | 智能体标识、名称和说明。 |
| `data.model_name` | string | 模型名称和模型配置引用。 |
| `data.model_config_ref` | string | 模型名称和模型配置引用。 |
| `data.tool_names` | string（字符串数组） | 候选配置中的工具、技能和知识库名称。 |
| `data.skill_names` | string（字符串数组） | 候选配置中的工具、技能和知识库名称。 |
| `data.knowledge_base_names` | string（字符串数组） | 候选配置中的工具、技能和知识库名称。 |
| `data.channel_bindings` | array | 通道绑定配置。 |
| `data.agent_md` | string | 可编辑的智能体说明内容及其变更原因。 |
| `data.change_reason` | string | 可编辑的智能体说明内容及其变更原因。 |

## 错误响应

```json
{
  "code": 3,
  "message": "<错误信息>"
}
```

### 常见 HTTP 错误

```{list-table}
:header-rows: 1
:widths: 12 22 32 34

* - HTTP 状态码
  - 错误代码
  - 常见原因
  - 建议操作
* - `400`
  - `2`（`INVALID_ARGUMENT`）
  - 路径或 `agent_workspace_id` 无效，或已加载版本不能投影为可编辑配置。
  - 检查版本、工作区范围和包内容。
* - `401`
  - `6`（`UNAUTHENTICATED`）
  - 缺少有效身份凭据。
  - 检查 API Key。
* - `403`
  - `5`（`PERMISSION_DENIED`）
  - 当前调用者没有修订该智能体的权限。
  - 检查工作区和智能体授权。
* - `404`
  - `3`（`NOT_FOUND`）
  - 智能体版本不存在。
  - 使用确认候选响应中的 `load_version`。
* - `500`
  - `1`（`INTERNAL`）
  - 当前版本的可编辑配置投影失败。
  - 检查包内容；持续失败时联系支持。
* - `503`
  - `15`（`UNAVAILABLE`）
  - 智能体包投影或授权服务暂不可用。
  - 稍后重试。
```

## 后续操作

需要修改候选内容时[重新生成智能体候选方案](repropose-candidate.md)。
