Add template agent lifecycle compatibility APIs

This commit is contained in:
elipitc
2026-06-04 22:11:35 +08:00
parent 2e5321e16f
commit e0bf45db2f
4 changed files with 420 additions and 3 deletions
@@ -77,6 +77,48 @@ POST /agents
- `OPENAI_API_KEY` 当前建议在启动时传入
- 当前实测可用模型示例是 `gpt-5.4`
- 返回中会带 `namespace`、`pod_ip`、`access_info.external_ip`、`access_info.domain`
- 为兼容 HM 模板 Agent Runtime 契约,响应同时补充:
- `runtime_id` / `agent_id` / `id` = agent 名称
- `runtime_status` / `state` = 规范化后的生命周期状态
- `subdomain` = `access_info.domain` 或 `access_info.external_ip`
## 3.1 生命周期接口
为对齐 HM 的模板 Agent 运行时联调,`/agents` 入口现在同时提供以下生命周期接口:
```http
GET /agents/{agent_name}
POST /agents/{agent_name}/stop
DELETE /agents/{agent_name}
GET /agents/{agent_name}/status
```
说明:
- `GET /agents/{agent_name}` 返回平铺的生命周期信息,便于 HM 直接解析 `status` / `runtime_status` / `state`
- `POST /agents/{agent_name}/stop` 为幂等停止,不删除数据库记录
- `DELETE /agents/{agent_name}` 删除 Agent 运行资源与数据库记录
- `GET /agents/{agent_name}/status` 仍保留详细 Pod 诊断信息,适合排障
`GET /agents/{agent_name}` 示例响应:
```json
{
"runtime_id": "coding-a2a-backend",
"agent_id": "coding-a2a-backend",
"id": "coding-a2a-backend",
"name": "coding-a2a-backend",
"namespace": "agent-coding-a2a-backend",
"status": "running",
"runtime_status": "running",
"state": "running",
"subdomain": "coding-a2a-backend.taijiagnet.com",
"access_token": null,
"access_info": {
"domain": "coding-a2a-backend.taijiagnet.com"
}
}
```
## 4. 启动角色与团队约定