forked from xiaohei/taiji-AI-PAD
更新所有api接口清单
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,800 @@
|
||||
# 超级管理员控制台 - 未对接后端接口清单
|
||||
|
||||
> **版本**: v1.1.0
|
||||
> **更新时间**: 2026-01-06
|
||||
> **说明**: 本文档基于前端业务逻辑分析,列出所有需要但尚未对接的后端接口,包括按钮操作接口和数据展示接口
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
1. [概览模块 (Overview)](#概览模块-overview)
|
||||
2. [渠道管理模块 (Channels)](#渠道管理模块-channels)
|
||||
3. [资源管理模块 (Resources)](#资源管理模块-resources)
|
||||
4. [监控模块 (Monitoring)](#监控模块-monitoring)
|
||||
5. [计费模块 (Billing)](#计费模块-billing)
|
||||
6. [设置模块 (Settings)](#设置模块-settings)
|
||||
7. [附录:接口汇总表](#附录接口汇总表)
|
||||
|
||||
---
|
||||
|
||||
## 概览模块 (Overview)
|
||||
|
||||
### 数据展示接口
|
||||
|
||||
#### D1. 平台资源分配统计接口
|
||||
|
||||
**展示位置**: 概览页面 → 平台资源分配统计卡片
|
||||
|
||||
**展示内容**: 显示平台已分配的CPU核心数、内存大小、Agent数量等汇总信息
|
||||
|
||||
**功能描述**: 获取平台所有Agent的资源分配汇总统计,用于展示资源使用概况
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
GET /api/admin/platform/resource-allocation
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.totalCpuAllocated | float | 已分配CPU总核数 |
|
||||
| data.totalMemoryAllocated | float | 已分配内存总量(GB) |
|
||||
| data.totalAgentCount | int | Agent总数 |
|
||||
| data.avgCpuPerAgent | float | 平均每Agent CPU |
|
||||
| data.avgMemoryPerAgent | float | 平均每Agent内存 |
|
||||
| data.byChannel | array | 按渠道分组的资源统计 |
|
||||
|
||||
---
|
||||
|
||||
### 按钮操作接口
|
||||
|
||||
#### 1. 搜索租户按钮
|
||||
|
||||
**按钮位置**: 概览页面 → 最近登录的租户列表 → 搜索框
|
||||
|
||||
**按钮作用**: 在最近登录的租户列表中搜索特定租户
|
||||
|
||||
**功能描述**: 用户输入关键词后,根据租户名称、邮箱等字段进行模糊搜索,筛选显示匹配的租户
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
GET /api/admin/dashboard/recent-logins/search
|
||||
```
|
||||
|
||||
**请求参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| keyword | string | 是 | 搜索关键词(租户名称/邮箱) |
|
||||
| limit | int | 否 | 返回数量,默认10 |
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.recentTenants | array | 匹配的租户列表 |
|
||||
|
||||
---
|
||||
|
||||
## 渠道管理模块 (Channels)
|
||||
|
||||
### 数据展示接口
|
||||
|
||||
#### D2. 渠道统计概览接口
|
||||
|
||||
**展示位置**: 渠道管理页面 → 渠道列表卡片
|
||||
|
||||
**展示内容**: 每个渠道卡片显示租户数、月收入、佣金比例等统计信息
|
||||
|
||||
**功能描述**: 获取渠道列表及其统计数据,用于渠道卡片展示
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
GET /api/admin/channels/stats
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.channels | array | 渠道列表(含统计数据) |
|
||||
|
||||
---
|
||||
|
||||
### 按钮操作接口
|
||||
|
||||
#### 2. 搜索渠道按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 搜索框
|
||||
|
||||
**按钮作用**: 在渠道列表中搜索特定渠道
|
||||
|
||||
**功能描述**: 用户输入关键词后,根据渠道名称、联系人、邮箱等字段进行模糊搜索
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
GET /api/admin/channels/search
|
||||
```
|
||||
|
||||
**请求参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| keyword | string | 是 | 搜索关键词 |
|
||||
| status | string | 否 | 状态筛选(active/inactive) |
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.channels | array | 匹配的渠道列表 |
|
||||
|
||||
---
|
||||
|
||||
#### 3. 查看渠道详情按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 渠道卡片 → 更多操作菜单 → "查看详情"
|
||||
|
||||
**按钮作用**: 查看渠道的完整详细信息
|
||||
|
||||
**功能描述**: 点击后弹出对话框,显示渠道的基本信息、资源配置、配额信息等详细数据
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
GET /api/admin/channels/{channel_id}
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| channel_id | string | 是 | 渠道ID |
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.id | string | 渠道ID |
|
||||
| data.name | string | 渠道名称 |
|
||||
| data.email | string | 联系邮箱 |
|
||||
| data.status | string | 状态 |
|
||||
| data.createdAt | string | 创建时间 |
|
||||
| data.cpuCores | float | 分配的CPU核心数 |
|
||||
| data.memory | string | 分配的内存大小 |
|
||||
| data.tenantCount | int | 租户总数 |
|
||||
| data.creditLimit | float | 授信额度 |
|
||||
| data.usedCredit | float | 已用授信 |
|
||||
| data.remainingCredit | float | 剩余授信 |
|
||||
| data.commissionRate | float | 佣金比例 |
|
||||
|
||||
---
|
||||
|
||||
#### 4. 删除渠道按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 渠道卡片 → 更多操作菜单 → "删除渠道"
|
||||
|
||||
**按钮作用**: 删除指定渠道(软删除)
|
||||
|
||||
**功能描述**: 点击后弹出确认对话框,确认后将渠道状态设为inactive,要求渠道下无活跃租户
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
DELETE /api/admin/channels/{channel_id}
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| channel_id | string | 是 | 渠道ID |
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 5. 删除租户按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 查看租户对话框 → 租户列表 → "删除"按钮
|
||||
|
||||
**按钮作用**: 删除指定租户(软删除)
|
||||
|
||||
**功能描述**: 点击后弹出确认对话框,确认后将租户状态设为inactive
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
DELETE /api/channel/tenants/{tenant_id}
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| tenant_id | string | 是 | 租户ID |
|
||||
|
||||
**查询参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| channel_id | string | 超级管理员必填 | 渠道ID |
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 6. 禁用租户按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 查看租户对话框 → 租户列表 → "禁用"按钮
|
||||
|
||||
**按钮作用**: 暂停租户账号
|
||||
|
||||
**功能描述**: 将租户状态设为suspended,租户将无法登录和使用服务
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/channel/tenants/{tenant_id}/status
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| tenant_id | string | 是 | 租户ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"status": "suspended"
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.tenantId | string | 租户ID |
|
||||
| data.status | string | 新状态 |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 7. 修改租户密码按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 查看租户对话框 → 租户列表 → "修改密码"按钮
|
||||
|
||||
**按钮作用**: 重置租户登录密码
|
||||
|
||||
**功能描述**: 点击后弹出对话框,输入新密码和确认密码,提交后更新租户密码
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/channel/tenants/{tenant_id}/password
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| tenant_id | string | 是 | 租户ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"newPassword": "NewSecurePass123"
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.tenantId | string | 租户ID |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 8. 管理租户权限按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 查看租户对话框 → 租户列表 → "管理权限"按钮
|
||||
|
||||
**按钮作用**: 配置租户的功能访问权限
|
||||
|
||||
**功能描述**: 点击后弹出对话框,显示权限复选框列表,勾选后保存租户的权限配置
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/channel/tenants/{tenant_id}/permissions
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| tenant_id | string | 是 | 租户ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"permissions": ["dashboard", "agents", "models", "billing", "resources", "data-tools", "api-gateway"]
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.tenantId | string | 租户ID |
|
||||
| data.permissions | array | 更新后的权限列表 |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 9. 供应商申请审批-拒绝按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 渠道申请审批表格 → "审批"按钮 → 审批对话框 → "拒绝"按钮
|
||||
|
||||
**按钮作用**: 拒绝渠道的供应商申请
|
||||
|
||||
**功能描述**: 点击后将申请状态设为rejected,渠道将无法使用该供应商
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/admin/providers/applications/{application_id}/review
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| application_id | string | 是 | 申请ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"approved": false,
|
||||
"reason": "申请被拒绝"
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.applicationId | string | 申请ID |
|
||||
| data.status | string | 新状态(rejected) |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 10. 供应商申请审批-批准按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 渠道申请审批表格 → "审批"按钮 → 审批对话框 → "批准"按钮
|
||||
|
||||
**按钮作用**: 批准渠道的供应商申请
|
||||
|
||||
**功能描述**: 点击后将申请状态设为approved,自动创建ChannelProviderAccess记录
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/admin/providers/applications/{application_id}/review
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| application_id | string | 是 | 申请ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"approved": true,
|
||||
"reason": "申请已批准"
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.applicationId | string | 申请ID |
|
||||
| data.status | string | 新状态(approved) |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 11. 平台Agent申请审批-拒绝按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 平台Agent申请审批表格 → "审批"按钮 → 审批对话框 → "拒绝"按钮
|
||||
|
||||
**按钮作用**: 拒绝渠道的平台Agent申请
|
||||
|
||||
**功能描述**: 点击后将申请状态设为rejected,渠道将无法使用该平台Agent
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/admin/applications/platform-agents/{application_id}/review
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| application_id | string | 是 | 申请ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"action": "reject",
|
||||
"reviewReason": "申请被拒绝"
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.applicationId | string | 申请ID |
|
||||
| data.status | string | 新状态(rejected) |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 12. 平台Agent申请审批-批准按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 平台Agent申请审批表格 → "审批"按钮 → 审批对话框 → "批准"按钮
|
||||
|
||||
**按钮作用**: 批准渠道的平台Agent申请
|
||||
|
||||
**功能描述**: 点击后将申请状态设为approved,为渠道分配指定数量的Pod配额
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/admin/applications/platform-agents/{application_id}/review
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| application_id | string | 是 | 申请ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"action": "approve",
|
||||
"podQuota": 5,
|
||||
"reviewReason": "申请已批准"
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.applicationId | string | 申请ID |
|
||||
| data.status | string | 新状态(approved) |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 27. 保存资源配置按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 渠道卡片 → "资源管理"菜单项 → 资源管理对话框 → "保存配置"按钮
|
||||
|
||||
**按钮作用**: 保存渠道的资源配置(模型、Agent、自定义Agent资源、授信额度)
|
||||
|
||||
**功能描述**: 为渠道配置可用的模型供应商、Agent分配及数量、自定义Agent的CPU/内存资源、授信额度
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/admin/channels/{channel_id}/resources
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| channel_id | string | 是 | 渠道ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"models": ["model-id-1", "model-id-2"],
|
||||
"agents": [
|
||||
{"agentId": "agent-id-1", "quantity": 10},
|
||||
{"agentId": "agent-id-2", "quantity": 5}
|
||||
],
|
||||
"customAgentResources": {"cpu": 2.0, "memory": 4.0},
|
||||
"channelCredit": 100000.00
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.channelId | string | 渠道ID |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 28. 保存渠道编辑按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 渠道卡片 → "编辑"菜单项 → 编辑对话框 → "保存更改"按钮
|
||||
|
||||
**按钮作用**: 保存渠道基本信息的修改
|
||||
|
||||
**功能描述**: 修改渠道名称、联系人、邮箱、电话等基本信息
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/admin/channels/{channel_id}
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| channel_id | string | 是 | 渠道ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"name": "更新后的渠道名",
|
||||
"email": "newemail@channel.com",
|
||||
"contactName": "张三",
|
||||
"phone": "+86-10-12345678"
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.id | string | 渠道ID |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 29. 保存佣金修改按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 渠道卡片 → "修改佣金"菜单项 → 佣金对话框 → "保存"按钮
|
||||
|
||||
**按钮作用**: 更新渠道的佣金比例
|
||||
|
||||
**功能描述**: 修改渠道的佣金分成比例
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/admin/channels/{channel_id}/commission
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| channel_id | string | 是 | 渠道ID |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"commissionRate": 0.18
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.channelId | string | 渠道ID |
|
||||
| data.commissionRate | float | 新的佣金比例 |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 30. 创建渠道按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → "添加渠道"按钮 → 创建对话框 → "创建"按钮
|
||||
|
||||
**按钮作用**: 创建新的分销渠道
|
||||
|
||||
**功能描述**: 填写渠道名称、邮箱、密码、佣金比例,创建新渠道账户
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
POST /api/admin/channels/create
|
||||
```
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"name": "新渠道",
|
||||
"email": "channel@example.com",
|
||||
"password": "SecurePass123",
|
||||
"commissionRate": 0.15
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.id | string | 渠道ID |
|
||||
| data.name | string | 渠道名称 |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 31. 添加租户按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 查看租户对话框 → "添加租户"按钮 → 添加租户对话框 → "创建租户"按钮
|
||||
|
||||
**按钮作用**: 为渠道创建新租户或管理员
|
||||
|
||||
**功能描述**: 填写租户名称、邮箱、密码、系统权限,创建新租户或渠道管理员
|
||||
|
||||
**接口需求(创建租户)**:
|
||||
```
|
||||
POST /api/channel/tenants/create
|
||||
```
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"name": "租户名称",
|
||||
"email": "tenant@example.com",
|
||||
"password": "SecurePass123",
|
||||
"subscriptionTier": "free",
|
||||
"channelId": "channel-uuid"
|
||||
}
|
||||
```
|
||||
|
||||
**接口需求(创建渠道管理员)**:
|
||||
```
|
||||
POST /api/admin/admins/create
|
||||
```
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"name": "管理员名称",
|
||||
"email": "admin@example.com",
|
||||
"password": "SecurePass123",
|
||||
"role": "billing_admin",
|
||||
"channelId": "channel-uuid"
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.id | string | 用户ID |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
#### 32. 删除渠道管理员按钮
|
||||
|
||||
**按钮位置**: 渠道管理页面 → 编辑渠道对话框 → 管理员管理区域 → 管理员行 → 删除图标按钮
|
||||
|
||||
**按钮作用**: 从渠道移除管理员
|
||||
|
||||
**功能描述**: 点击后将管理员从该渠道移除
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
DELETE /api/admin/channels/{channel_id}/admins/{admin_id}
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| channel_id | string | 是 | 渠道ID |
|
||||
| admin_id | string | 是 | 管理员ID |
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| message | string | 操作结果消息 |
|
||||
|
||||
---
|
||||
|
||||
## 资源管理模块 (Resources)
|
||||
|
||||
### 数据展示接口
|
||||
|
||||
#### D3. Agent模板列表接口
|
||||
|
||||
**展示位置**: 资源管理页面 → 平台Agent模板管理区域
|
||||
|
||||
**展示内容**: 显示所有可用的Agent模板卡片,包含名称、描述、CPU/内存配置等
|
||||
|
||||
**功能描述**: 获取平台所有Agent模板的列表和配置信息
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
GET /api/admin/platform-agents/templates
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.templates | array | 模板列表 |
|
||||
| data.templates[].id | string | 模板ID |
|
||||
| data.templates[].name | string | 模板名称 |
|
||||
| data.templates[].displayName | string | 显示名称 |
|
||||
| data.templates[].description | string | 模板描述 |
|
||||
| data.templates[].cpuRequest | string | CPU请求量 |
|
||||
| data.templates[].cpuLimit | string | CPU上限 |
|
||||
| data.templates[].memoryRequest | string | 内存请求量 |
|
||||
| data.templates[].memoryLimit | string | 内存上限 |
|
||||
| data.templates[].maxPods | int | 最大Pod数量 |
|
||||
| data.templates[].isEnabled | bool | 是否启用 |
|
||||
|
||||
---
|
||||
|
||||
#### D4. 模型供应商列表接口
|
||||
|
||||
**展示位置**: 资源管理页面 → 货源供应商管理区域
|
||||
|
||||
**展示内容**: 显示所有模型供应商卡片,包含名称、状态、支持模型数、RPM/TPM等
|
||||
|
||||
**功能描述**: 获取平台所有模型供应商的列表和配置信息
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
GET /api/providers/models
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.providers | array | 供应商列表 |
|
||||
| data.providers[].id | string | 供应商ID |
|
||||
| data.providers[].name | string | 供应商名称 |
|
||||
| data.providers[].provider | string | 供应商类型 |
|
||||
| data.providers[].supportedModels | array | 支持的模型列表 |
|
||||
| data.providers[].rpm | int | 每分钟请求数限制 |
|
||||
| data.providers[].tpm | int | 每分钟令牌数限制 |
|
||||
| data.providers[].status | string | 状态 |
|
||||
|
||||
---
|
||||
|
||||
### 按钮操作接口
|
||||
|
||||
#### 13. Agent模板配置-保存按钮
|
||||
|
||||
**按钮位置**: 资源管理页面 → Agent模板卡片 → "配置"按钮 → 配置对话框 → "保存配置"按钮
|
||||
|
||||
**按钮作用**: 保存Agent模板的K8s资源配置
|
||||
|
||||
**功能描述**: 配置Agent模板的CPU请求/限制、内存请求/限制、最大实例数等参数
|
||||
|
||||
**接口需求**:
|
||||
```
|
||||
PUT /api/admin/platform-agents/templates/{name}/config
|
||||
```
|
||||
|
||||
**路径参数**:
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| name | string | 是 | 模板名称(如 echo_agent) |
|
||||
|
||||
**请求体**:
|
||||
```json
|
||||
{
|
||||
"cpuRequest": "100m",
|
||||
"cpuLimit": "500m",
|
||||
"memoryRequest": "128Mi",
|
||||
"memoryLimit": "512Mi",
|
||||
"maxPods": 10,
|
||||
"isEnabled": true,
|
||||
"displayName": "Echo 测试服务",
|
||||
"description": "简单的 Echo 服务,用于测试和调试"
|
||||
}
|
||||
```
|
||||
|
||||
**响应字段**:
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| success | bool | 是否成功 |
|
||||
| data.templateName | string | 模板名称 |
|
||||
| message | string | 操作结果
|
||||
@@ -0,0 +1,640 @@
|
||||
# Taiji-AI-PAD 项目 API 接口完整清单
|
||||
|
||||
本文档列出了项目中所有的 API 接口,包括接口路径、HTTP 方法、功能描述和权限要求。
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
1. [MCP-Server 服务接口](#mcp-server-服务接口)
|
||||
- [认证模块 (auth.py)](#1-认证模块-authpy)
|
||||
- [超级管理员 API (admin.py)](#2-超级管理员-api-adminpy)
|
||||
- [用户侧平台 API (user.py)](#3-用户侧平台-api-userpy)
|
||||
- [渠道合作伙伴 API (channel.py)](#4-渠道合作伙伴-api-channelpy)
|
||||
- [Agent 管理 (agents.py)](#5-agent-管理-agentspy)
|
||||
- [供应商管理 (providers.py)](#6-供应商管理-providerspy)
|
||||
- [会话管理 (sessions.py)](#7-会话管理-sessionspy)
|
||||
- [工具管理 (tools.py)](#8-工具管理-toolspy)
|
||||
- [WebSocket (websocket.py)](#9-websocket-websocketpy)
|
||||
- [计费与资源管理 (billing_admin.py)](#10-计费与资源管理-billing_adminpy)
|
||||
- [配额管理 (quota_management.py)](#11-配额管理-quota_managementpy)
|
||||
- [平台 Agent 配额 (platform_agent_quota.py)](#12-平台-agent-配额-platform_agent_quotapy)
|
||||
- [审计日志管理 (audit_management.py)](#13-审计日志管理-audit_managementpy)
|
||||
- [事件管理 (event_management.py)](#14-事件管理-event_managementpy)
|
||||
- [追踪管理 (trace_management.py)](#15-追踪管理-trace_managementpy)
|
||||
- [定价管理 (pricing_management.py)](#16-定价管理-pricing_managementpy)
|
||||
- [供应商健康检查 (provider_health_management.py)](#17-供应商健康检查-provider_health_managementpy)
|
||||
- [资源监控 (resource_monitoring.py)](#18-资源监控-resource_monitoringpy)
|
||||
- [前端集成 (frontend_integration.py)](#19-前端集成-frontend_integrationpy)
|
||||
- [监控 (monitoring.py)](#20-监控-monitoringpy)
|
||||
- [健康检查 (health.py)](#21-健康检查-healthpy)
|
||||
- [Prometheus 指标 (metrics.py)](#22-prometheus-指标-metricspy)
|
||||
2. [Data-Ingestion 服务接口](#data-ingestion-服务接口)
|
||||
|
||||
---
|
||||
|
||||
## MCP-Server 服务接口
|
||||
|
||||
### 1. 认证模块 (auth.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/api/auth/login` | 统一登录接口,支持用户/渠道/管理员/供应商登录 | 无 |
|
||||
| POST | `/api/auth/logout` | 用户登出,将 token 加入黑名单 | 已认证用户 |
|
||||
| POST | `/api/auth/refresh` | 刷新访问令牌 | 已认证用户 |
|
||||
| PUT | `/api/auth/password` | 修改密码 | 已认证用户 |
|
||||
| GET | `/api/auth/keys/info` | 获取当前用户的 API 密钥信息 | 已认证用户 |
|
||||
| POST | `/api/auth/keys/regenerate` | 重新生成 API 密钥 | 已认证用户 |
|
||||
|
||||
---
|
||||
|
||||
### 2. 超级管理员 API (admin.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/admin/admins` | 获取管理员列表 | super_admin |
|
||||
| POST | `/api/admin/admins/create` | 创建管理员 | super_admin |
|
||||
| DELETE | `/api/admin/admins/{admin_id}` | 删除管理员 | super_admin |
|
||||
| GET | `/api/admin/dashboard/recent-logins` | 获取最近登录的租户列表 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/admin/dashboard/stats` | 获取平台全局统计数据 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/admin/tenants` | 获取所有租户列表 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/admin/channels` | 获取渠道列表 | super_admin, billing_admin, operations_admin |
|
||||
| POST | `/api/admin/channels/create` | 创建渠道 | super_admin, billing_admin |
|
||||
| PUT | `/api/admin/channels/{channel_id}` | 更新渠道信息 | super_admin, billing_admin |
|
||||
| DELETE | `/api/admin/channels/{channel_id}` | 删除渠道 | super_admin |
|
||||
| GET | `/api/admin/channels/{channel_id}/resources` | 获取渠道资源配置 | super_admin, billing_admin, operations_admin |
|
||||
| PUT | `/api/admin/channels/{channel_id}/resources` | 分配渠道资源 | super_admin, billing_admin |
|
||||
| PUT | `/api/admin/channels/{channel_id}/commission` | 更新渠道佣金比例 | super_admin, billing_admin |
|
||||
| GET | `/api/admin/resources/allocation-stats` | 获取资源分配统计 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/admin/channels/applications` | 获取渠道资源申请列表 | super_admin, billing_admin |
|
||||
| PUT | `/api/admin/channels/applications/{application_id}/review` | 审批渠道资源申请 | super_admin, billing_admin |
|
||||
| GET | `/api/admin/resources/models` | 获取模型供应商列表 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/admin/resources/agents` | 获取所有 Agent 资源 | super_admin, billing_admin, operations_admin |
|
||||
| DELETE | `/api/admin/resources/agents/{agent_id}` | 删除 Agent 资源 | super_admin |
|
||||
| PUT | `/api/admin/resources/agents/{agent_id}/config` | 更新 Agent 配置 | super_admin, billing_admin |
|
||||
| GET | `/api/admin/monitoring/agents` | 监控 Agent 健康状态 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/admin/billing/overview` | 获取三维度计费统计 | super_admin, billing_admin |
|
||||
| GET | `/api/admin/providers/applications` | 获取供应商申请列表 | super_admin, billing_admin |
|
||||
| PUT | `/api/admin/providers/applications/{application_id}/review` | 审批供应商申请 | super_admin, billing_admin |
|
||||
| GET | `/api/admin/providers/access` | 获取渠道供应商授权列表 | super_admin, billing_admin, operations_admin |
|
||||
| PUT | `/api/admin/providers/access/{access_id}` | 更新供应商授权 | super_admin, billing_admin |
|
||||
| DELETE | `/api/admin/providers/access/{access_id}` | 撤销供应商授权 | super_admin |
|
||||
| GET | `/api/admin/channels/{channel_id}/admins` | 获取渠道管理员列表 | super_admin, billing_admin |
|
||||
| GET | `/api/admin/roles` | 获取可用角色列表 | super_admin |
|
||||
| GET | `/api/admin/platform-agents/templates` | 获取平台 Agent 模板列表 | super_admin, billing_admin |
|
||||
| GET | `/api/admin/applications/platform-agents` | 获取平台 Agent 申请列表 | super_admin, billing_admin |
|
||||
| PUT | `/api/admin/applications/platform-agents/{application_id}/review` | 审批平台 Agent 申请 | super_admin, billing_admin |
|
||||
| GET | `/api/admin/platform-agents/allocations` | 查看平台 Agent 分配情况 | super_admin, billing_admin, operations_admin |
|
||||
| POST | `/api/admin/platform-agents/allocate` | 直接分配平台 Agent 配额 | super_admin, billing_admin |
|
||||
| DELETE | `/api/admin/platform-agents/allocate` | 撤销平台 Agent 配额 | super_admin |
|
||||
| GET | `/api/admin/platform-agents/status` | 查看平台 Agent 运行状态 | super_admin, billing_admin, operations_admin |
|
||||
|
||||
---
|
||||
|
||||
### 3. 用户侧平台 API (user.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/user/dashboard/stats` | 获取用户仪表板统计数据 | 已认证用户 |
|
||||
| GET | `/api/user/agents/activity` | 获取 Agent 活动数据 | 已认证用户 |
|
||||
| POST | `/api/user/gateway/select` | 选择网关类型 (MCP/A2A/API) | 已认证用户 |
|
||||
| POST | `/api/user/gateway/api/create` | 创建网关 API | 已认证用户 |
|
||||
| GET | `/api/user/gateway/apis` | 获取网关 API 列表 | 已认证用户 |
|
||||
| GET | `/api/user/gateway/monitoring` | 获取网关监控数据 | 已认证用户 |
|
||||
| GET | `/api/user/custom-agent-quota` | 获取自定义 Agent 配额 | 已认证用户 |
|
||||
| POST | `/api/user/tools/generate` | 生成工具(创建自定义 Agent) | 已认证用户 |
|
||||
| POST | `/api/user/data-templates/create` | 创建数据模板 | 已认证用户 |
|
||||
| GET | `/api/user/agents/platform` | 获取平台 Agent 列表 | 已认证用户 |
|
||||
| POST | `/api/user/agents/deploy` | 部署 Agent 到 K8s | 已认证用户 |
|
||||
| POST | `/api/user/workflows/create` | 创建工作流 | 已认证用户 |
|
||||
| GET | `/api/user/billing/balance` | 获取余额信息 | 已认证用户 |
|
||||
| POST | `/api/user/billing/recharge` | 充值余额 | 已认证用户 |
|
||||
| GET | `/api/user/billing/history` | 获取计费历史 | 已认证用户 |
|
||||
| GET | `/api/user/platform-agents/available` | 获取可用平台 Agent | 已认证用户 |
|
||||
| POST | `/api/user/platform-agents/use` | 使用平台 Agent | 已认证用户 |
|
||||
| DELETE | `/api/user/platform-agents/{instance_name}` | 停止平台 Agent | 已认证用户 |
|
||||
| GET | `/api/user/platform-agents/instances` | 获取平台 Agent 实例列表 | 已认证用户 |
|
||||
| GET | `/api/user/custom-agents/templates` | 获取自定义 Agent 模板 | 已认证用户 |
|
||||
| POST | `/api/user/custom-agents` | 创建自定义 Agent | 已认证用户 |
|
||||
| DELETE | `/api/user/custom-agents/{name}` | 删除自定义 Agent | 已认证用户 |
|
||||
| PUT | `/api/user/custom-agents/{name}/scale` | 扩缩容自定义 Agent | 已认证用户 |
|
||||
| GET | `/api/user/custom-agents` | 获取自定义 Agent 列表 | 已认证用户 |
|
||||
| GET | `/api/user/custom-agents/{name}/logs` | 获取 Agent 日志 | 已认证用户 |
|
||||
| POST | `/api/user/custom-agents/{name}/restart` | 重启 Agent | 已认证用户 |
|
||||
| GET | `/api/user/agent-billing/stats` | 获取 Agent 计费统计 | 已认证用户 |
|
||||
| GET | `/api/user/agent-billing/history` | 获取 Agent 计费历史 | 已认证用户 |
|
||||
|
||||
---
|
||||
|
||||
### 4. 渠道合作伙伴 API (channel.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/channel/tenants` | 获取渠道下租户列表 | channel_admin |
|
||||
| POST | `/api/channel/tenants/create` | 创建租户 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/resources` | 分配租户资源 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/billing` | 更新租户计费设置 | channel_admin |
|
||||
| POST | `/api/channel/tenants/{tenant_id}/recharge` | 为租户充值 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/credit` | 设置租户授信额度 | channel_admin |
|
||||
| DELETE | `/api/channel/tenants/{tenant_id}` | 删除租户 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/status` | 更新租户状态 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/permissions` | 更新租户权限 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/password` | 重置租户密码 | channel_admin |
|
||||
| GET | `/api/channel/tenants/{tenant_id}/custom-agent-quota` | 获取租户自定义 Agent 配额 | channel_admin |
|
||||
| POST | `/api/channel/admins/create` | 创建渠道管理员 | channel_admin |
|
||||
| GET | `/api/channel/admins` | 获取渠道管理员列表 | channel_admin |
|
||||
| POST | `/api/channel/resources/apply` | 申请资源 | channel_admin |
|
||||
| GET | `/api/channel/billing/stats` | 获取渠道计费统计 | channel_admin |
|
||||
| GET | `/api/channel/providers` | 获取可用供应商列表 | channel_admin |
|
||||
| POST | `/api/channel/providers/apply` | 申请使用供应商 | channel_admin |
|
||||
| GET | `/api/channel/providers/applications` | 获取供应商申请列表 | channel_admin |
|
||||
| GET | `/api/channel/providers/access` | 获取已授权供应商列表 | channel_admin |
|
||||
| GET | `/api/channel/available-platform-agents` | 查看可用平台 Agent 模板 | channel_admin |
|
||||
| POST | `/api/channel/applications/platform-agents` | 申请平台 Agent | channel_admin |
|
||||
| GET | `/api/channel/applications/platform-agents` | 查看平台 Agent 申请列表 | channel_admin |
|
||||
| GET | `/api/channel/platform-agents` | 查看渠道平台 Agent 配额 | channel_admin |
|
||||
| POST | `/api/channel/tenants/{tenant_id}/platform-agents` | 分配平台 Agent 给租户 | channel_admin |
|
||||
| GET | `/api/channel/tenants/{tenant_id}/platform-agents/usage` | 查看租户平台 Agent 使用情况 | channel_admin |
|
||||
| GET | `/api/channel/agent-billing/stats` | 获取渠道 Agent 计费统计 | channel_admin |
|
||||
| GET | `/api/channel/agent-billing/history` | 获取渠道 Agent 计费历史 | channel_admin |
|
||||
| GET | `/api/channel/agent-billing/tenant-summary` | 获取租户 Agent 计费汇总 | channel_admin |
|
||||
|
||||
---
|
||||
|
||||
### 5. Agent 管理 (agents.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/agents/templates` | 获取所有 Agent 模板 | 已认证用户 |
|
||||
| GET | `/agents/templates/platform` | 获取平台 Agent 模板 | 已认证用户 |
|
||||
| GET | `/agents/templates/custom` | 获取自定义 Agent 模板 | 已认证用户 |
|
||||
| GET | `/agents/templates/{template_name}` | 获取模板详情 | 已认证用户 |
|
||||
| POST | `/agents` | 创建 Agent | 已认证用户 |
|
||||
| GET | `/agents` | 获取 Agent 列表 | 已认证用户 |
|
||||
| GET | `/agents/{agent_id}` | 获取 Agent 详情 | 已认证用户 |
|
||||
| DELETE | `/agents/{agent_id}` | 删除 Agent | 已认证用户 |
|
||||
| GET | `/agents/{agent_id}/status` | 获取 Agent 实时状态 | 已认证用户 |
|
||||
| GET | `/agents/{agent_id}/metrics` | 获取 Agent 资源使用 | 已认证用户 |
|
||||
| POST | `/agents/{agent_id}/execute` | 执行 Agent 任务 | 已认证用户 |
|
||||
|
||||
---
|
||||
|
||||
### 6. 供应商管理 (providers.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/providers/models` | 获取所有模型供应商 | 已认证用户 |
|
||||
| POST | `/api/providers/models/create` | 创建模型供应商 | super_admin, billing_admin |
|
||||
| GET | `/api/providers/models/{provider_id}` | 获取供应商详情 | 已认证用户 |
|
||||
| PUT | `/api/providers/models/{provider_id}` | 更新供应商配置 | super_admin, billing_admin |
|
||||
| DELETE | `/api/providers/models/{provider_id}` | 删除供应商 | super_admin |
|
||||
| POST | `/api/providers/models/{provider_id}/test` | 测试供应商连接 | super_admin, billing_admin |
|
||||
|
||||
---
|
||||
|
||||
### 7. 会话管理 (sessions.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/sessions` | 创建会话 | 已认证用户 |
|
||||
| GET | `/sessions` | 获取会话列表 | 已认证用户 |
|
||||
| GET | `/sessions/{session_id}` | 获取会话详情 | 已认证用户 |
|
||||
| PUT | `/sessions/{session_id}/complete` | 完成会话 | 已认证用户 |
|
||||
| DELETE | `/sessions/{session_id}` | 删除会话 | 已认证用户 |
|
||||
| POST | `/sessions/cleanup` | 清理旧会话 | 已认证用户 |
|
||||
|
||||
---
|
||||
|
||||
### 8. 工具管理 (tools.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/tools` | 获取工具列表 | 已认证用户 |
|
||||
| GET | `/tools/{tool_id}` | 获取工具详情 | 已认证用户 |
|
||||
| POST | `/tools` | 创建工具 | 已认证用户 |
|
||||
| PUT | `/tools/{tool_id}` | 更新工具 | 已认证用户 |
|
||||
| DELETE | `/tools/{tool_id}` | 删除工具 | 已认证用户 |
|
||||
| GET | `/tools/categories/list` | 获取工具分类列表 | 已认证用户 |
|
||||
|
||||
---
|
||||
|
||||
### 9. WebSocket (websocket.py)
|
||||
|
||||
| 协议 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| WS | `/ws/{agent_name_or_id}` | WebSocket 实时 MCP 交互 | 已认证用户 |
|
||||
|
||||
**功能说明**:
|
||||
- 支持连接池管理(最大 1000 连接)
|
||||
- 心跳机制(每 30 秒)
|
||||
- 消息队列
|
||||
- 自动清理超时连接(90 秒无心跳)
|
||||
|
||||
---
|
||||
|
||||
### 10. 计费与资源管理 (billing_admin.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/billing-admin/quota/user/{user_id}` | 获取用户配额信息 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/quota/channel/{channel_id}` | 获取渠道配额信息 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/quota/alerts` | 获取配额预警列表 | super_admin, billing_admin, operations_admin |
|
||||
| PUT | `/api/billing-admin/quota/alerts/{alert_id}/acknowledge` | 确认配额预警 | super_admin, billing_admin, operations_admin |
|
||||
| PUT | `/api/billing-admin/quota/alerts/{alert_id}/resolve` | 解决配额预警 | super_admin, billing_admin |
|
||||
| GET | `/api/billing-admin/resources/overview` | 获取平台资源概览 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/resources/user/{user_id}` | 获取用户资源使用汇总 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/resources/trends` | 获取资源使用趋势 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/resources/agent/{agent_id}` | 获取 Agent 资源统计 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/events/pending` | 获取待处理事件 | super_admin, billing_admin, operations_admin |
|
||||
| POST | `/api/billing-admin/events/retry-failed` | 重试失败事件 | super_admin, billing_admin |
|
||||
| GET | `/api/billing-admin/events/stats` | 获取事件统计 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/traces/execution/{execution_id}` | 获取执行追踪详情 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/traces` | 查询追踪记录 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/traces/stats` | 获取追踪统计 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/audit/logs` | 查询审计日志 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/audit/summary` | 获取审计日志汇总 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/audit/user/{user_id}/activity` | 获取用户活动历史 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/providers/health` | 获取所有供应商健康状态 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/providers/{provider_id}/health` | 获取单个供应商健康详情 | super_admin, billing_admin, operations_admin |
|
||||
| POST | `/api/billing-admin/providers/health-check` | 执行所有供应商健康检查 | super_admin, billing_admin |
|
||||
| GET | `/api/billing-admin/pricing/models` | 获取模型定价列表 | super_admin, billing_admin, operations_admin |
|
||||
| POST | `/api/billing-admin/pricing/models` | 创建或更新模型定价 | super_admin, billing_admin |
|
||||
| POST | `/api/billing-admin/pricing/calculate` | 计算模型调用成本 | super_admin, billing_admin, operations_admin |
|
||||
|
||||
---
|
||||
|
||||
### 11. 配额管理 (quota_management.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/billing-admin/quota/user/{user_id}` | 获取用户配额汇总信息 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/quota/channel/{channel_id}` | 获取渠道配额汇总信息 | super_admin, billing_admin |
|
||||
| GET | `/api/billing-admin/quota/alerts` | 获取配额预警列表 | super_admin, billing_admin, operations_admin |
|
||||
| PUT | `/api/billing-admin/quota/alerts/{alert_id}/acknowledge` | 确认配额预警 | super_admin, billing_admin |
|
||||
| PUT | `/api/billing-admin/quota/alerts/{alert_id}/resolve` | 解决配额预警 | super_admin, billing_admin |
|
||||
|
||||
---
|
||||
|
||||
### 12. 平台 Agent 配额 (platform_agent_quota.py)
|
||||
|
||||
#### 渠道路由 (channel_router)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/channel/available-platform-agents` | 获取可用平台 Agent 模板 | channel_admin |
|
||||
| POST | `/api/channel/applications/platform-agents` | 申请平台 Agent 配额 | channel_admin |
|
||||
| GET | `/api/channel/applications/platform-agents` | 查看渠道平台 Agent 申请列表 | channel_admin |
|
||||
| GET | `/api/channel/platform-agents` | 查看渠道已分配的平台 Agent 配额 | channel_admin |
|
||||
| POST | `/api/channel/tenants/{tenant_id}/platform-agents` | 分配平台 Agent 给租户 | channel_admin |
|
||||
|
||||
#### 管理员路由 (admin_router)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/admin/applications/platform-agents` | 查看所有平台 Agent 申请 | admin, super_admin |
|
||||
| PUT | `/api/admin/applications/platform-agents/{application_id}/review` | 审批平台 Agent 申请 | admin, super_admin |
|
||||
| GET | `/api/admin/platform-agents/templates` | 获取平台 Agent 模板列表 | admin, super_admin |
|
||||
| PUT | `/api/admin/platform-agents/templates/{template_name}/config` | 配置平台 Agent 模板 | admin, super_admin |
|
||||
| GET | `/api/admin/platform-agents/templates/{template_name}/config` | 获取平台 Agent 模板配置 | admin, super_admin |
|
||||
|
||||
#### 用户路由 (user_router)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/user/platform-agents` | 查看用户可用的平台 Agent 配额 | 已认证用户 |
|
||||
| GET | `/api/user/platform-agents/{template}/instances` | 查看用户的平台 Agent 实例 | 已认证用户 |
|
||||
| DELETE | `/api/user/platform-agents/{agent_name}` | 停止平台 Agent 实例 | 已认证用户 |
|
||||
| GET | `/api/user/platform-agents/quota` | 查看用户平台 Agent 配额使用情况 | 已认证用户 |
|
||||
| GET | `/api/user/platform-agents/{agent_name}/status` | 查看平台 Agent 实例状态 | 已认证用户 |
|
||||
|
||||
---
|
||||
|
||||
### 13. 审计日志管理 (audit_management.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/billing-admin/audit/logs` | 查询审计日志(分页) | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/audit/summary` | 获取审计日志汇总 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/audit/user/{user_id}/activity` | 获取用户活动历史 | super_admin, billing_admin, operations_admin |
|
||||
|
||||
---
|
||||
|
||||
### 14. 事件管理 (event_management.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/billing-admin/events/pending` | 获取待处理的计费事件列表 | super_admin, billing_admin |
|
||||
| POST | `/api/billing-admin/events/retry-failed` | 重试失败的计费事件 | super_admin, billing_admin |
|
||||
| GET | `/api/billing-admin/events/stats` | 获取计费事件统计 | super_admin, billing_admin, operations_admin |
|
||||
|
||||
---
|
||||
|
||||
### 15. 追踪管理 (trace_management.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/billing-admin/traces/execution/{execution_id}` | 获取执行追踪详情 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/traces` | 查询追踪记录(分页) | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/traces/stats` | 获取追踪统计 | super_admin, billing_admin, operations_admin |
|
||||
|
||||
---
|
||||
|
||||
### 16. 定价管理 (pricing_management.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/billing-admin/pricing/models` | 获取模型定价列表 | super_admin, billing_admin, operations_admin |
|
||||
| POST | `/api/billing-admin/pricing/models` | 创建或更新模型定价 | super_admin, billing_admin |
|
||||
| POST | `/api/billing-admin/pricing/calculate` | 计算模型调用成本 | super_admin, billing_admin, operations_admin |
|
||||
|
||||
---
|
||||
|
||||
### 17. 供应商健康检查 (provider_health_management.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/billing-admin/providers/health` | 获取所有供应商健康状态 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/providers/{provider_id}/health` | 获取供应商健康详情 | super_admin, billing_admin, operations_admin |
|
||||
| POST | `/api/billing-admin/providers/health-check` | 执行供应商健康检查 | super_admin, billing_admin |
|
||||
|
||||
---
|
||||
|
||||
### 18. 资源监控 (resource_monitoring.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/billing-admin/resources/overview` | 获取平台资源概览 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/resources/user/{user_id}` | 获取用户资源使用汇总 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/resources/trends` | 获取资源使用趋势 | super_admin, billing_admin, operations_admin |
|
||||
| GET | `/api/billing-admin/resources/agent/{agent_id}` | 获取 Agent 资源统计 | super_admin, billing_admin, operations_admin |
|
||||
|
||||
---
|
||||
|
||||
### 19. 前端集成 (frontend_integration.py)
|
||||
|
||||
#### 用户仪表板
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/user/dashboard/stats` | 获取用户仪表板统计 | 已认证用户 |
|
||||
| GET | `/api/user/agents/activity` | 获取 Agent 活动数据 | 已认证用户 |
|
||||
| GET | `/api/user/resources/usage` | 获取用户资源使用情况 | 已认证用户 |
|
||||
|
||||
#### 服务网关
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/api/gateway/select` | 选择网关类型 | 已认证用户 |
|
||||
| POST | `/api/gateway/api/create` | 创建网关 API | 已认证用户 |
|
||||
| GET | `/api/gateway/apis` | 获取网关 API 列表 | 已认证用户 |
|
||||
| GET | `/api/gateway/monitoring` | 获取网关监控数据 | 已认证用户 |
|
||||
|
||||
#### 数据与工具
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/api/tools/generate` | 生成工具 | 已认证用户 |
|
||||
| GET | `/api/tools/list` | 获取工具列表 | 已认证用户 |
|
||||
| POST | `/api/data-templates/create` | 创建数据模板 | 已认证用户 |
|
||||
|
||||
#### Agent 工厂
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/agents/platform` | 获取平台 Agent 列表 | 已认证用户 |
|
||||
| POST | `/api/agents/deploy` | 部署 Agent | 已认证用户 |
|
||||
| GET | `/api/agents/deployed` | 获取已部署 Agent 列表 | 已认证用户 |
|
||||
|
||||
#### 工作流
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/api/workflows/create` | 创建工作流 | 已认证用户 |
|
||||
| GET | `/api/workflows/list` | 获取工作流列表 | 已认证用户 |
|
||||
| PUT | `/api/workflows/{workflow_id}` | 更新工作流 | 已认证用户 |
|
||||
| DELETE | `/api/workflows/{workflow_id}` | 删除工作流 | 已认证用户 |
|
||||
|
||||
#### 计费与资源
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/billing/balance` | 获取余额 | 已认证用户 |
|
||||
| GET | `/api/billing/history` | 获取计费历史 | 已认证用户 |
|
||||
| POST | `/api/billing/recharge` | 充值 | 已认证用户 |
|
||||
|
||||
#### 渠道合作伙伴
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/api/channel/auth/login` | 渠道登录 | 无 |
|
||||
| GET | `/api/channel/dashboard/stats` | 渠道仪表板统计 | channel_admin |
|
||||
| GET | `/api/channel/agents/available` | 获取可用 Agent | channel_admin |
|
||||
| GET | `/api/channel/tenants` | 获取租户列表 | channel_admin |
|
||||
| POST | `/api/channel/tenants/create` | 创建租户 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/resources` | 更新租户资源 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/billing` | 更新租户计费 | channel_admin |
|
||||
| DELETE | `/api/channel/tenants/{tenant_id}` | 删除租户 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/status` | 更新租户状态 | channel_admin |
|
||||
| PUT | `/api/channel/tenants/{tenant_id}/permissions` | 更新租户权限 | channel_admin |
|
||||
| GET | `/api/channel/resources/agents` | 获取渠道 Agent 资源 | channel_admin |
|
||||
| GET | `/api/channel/resources/models` | 获取渠道模型资源 | channel_admin |
|
||||
| POST | `/api/channel/resources/apply` | 申请资源 | channel_admin |
|
||||
| GET | `/api/channel/billing/stats` | 获取渠道计费统计 | channel_admin |
|
||||
| GET | `/api/channel/admins` | 获取渠道管理员列表 | channel_admin |
|
||||
| POST | `/api/channel/admins/create` | 创建渠道管理员 | channel_admin |
|
||||
| PUT | `/api/channel/admins/{admin_id}/permissions` | 更新管理员权限 | channel_admin |
|
||||
|
||||
#### 超级管理员
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/api/admin/auth/login` | 管理员登录 | 无 |
|
||||
| GET | `/api/admin/dashboard/stats` | 管理员仪表板统计 | super_admin |
|
||||
| GET | `/api/admin/channels` | 获取渠道列表 | super_admin |
|
||||
| POST | `/api/admin/channels/create` | 创建渠道 | super_admin |
|
||||
| PUT | `/api/admin/channels/{channel_id}/commission` | 更新渠道佣金 | super_admin |
|
||||
| GET | `/api/admin/channels/{channel_id}/resources` | 获取渠道资源 | super_admin |
|
||||
| PUT | `/api/admin/channels/{channel_id}/resources` | 更新渠道资源 | super_admin |
|
||||
| GET | `/api/admin/channels/applications` | 获取渠道申请列表 | super_admin |
|
||||
| PUT | `/api/admin/channels/applications/{request_id}/approve` | 审批渠道申请 | super_admin |
|
||||
| GET | `/api/admin/resources/models` | 获取模型资源 | super_admin |
|
||||
| POST | `/api/admin/resources/models/add` | 添加模型资源 | super_admin |
|
||||
| GET | `/api/admin/resources/agents` | 获取 Agent 资源 | super_admin |
|
||||
| PUT | `/api/admin/resources/agents/{agent_id}` | 更新 Agent 资源 | super_admin |
|
||||
| GET | `/api/admin/monitoring/agents` | 监控 Agent | super_admin |
|
||||
| GET | `/api/admin/billing/overview` | 计费概览 | super_admin |
|
||||
| GET | `/api/admin/roles` | 获取角色列表 | super_admin |
|
||||
| GET | `/api/admin/channels/{channel_id}/admins` | 获取渠道管理员 | super_admin |
|
||||
| POST | `/api/admin/admins/create` | 创建管理员 | super_admin |
|
||||
| GET | `/api/admin/providers/stats` | 获取供应商统计 | super_admin |
|
||||
| GET | `/api/admin/channels/backend/stats` | 获取后端统计 | super_admin |
|
||||
|
||||
#### 供应商管理
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/api/providers/auth/login` | 供应商登录 | 无 |
|
||||
| GET | `/api/providers/models` | 获取供应商模型 | provider_admin |
|
||||
| POST | `/api/providers/models/add` | 添加供应商模型 | provider_admin |
|
||||
| GET | `/api/providers/data` | 获取供应商数据 | provider_admin |
|
||||
|
||||
---
|
||||
|
||||
### 20. 监控 (monitoring.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/api/v1/monitoring/metrics` | 获取系统指标 | 无 |
|
||||
| GET | `/api/v1/monitoring/stats` | 获取服务统计 | 无 |
|
||||
| GET | `/api/v1/monitoring/trends` | 获取性能趋势 | 无 |
|
||||
| GET | `/api/v1/monitoring/alerts` | 获取系统告警 | 无 |
|
||||
| GET | `/api/v1/monitoring/dashboard` | 获取监控仪表板 | 无 |
|
||||
|
||||
---
|
||||
|
||||
### 21. 健康检查 (health.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/health` | 系统健康检查 | 无 |
|
||||
|
||||
---
|
||||
|
||||
### 22. Prometheus 指标 (metrics.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/metrics` | 暴露 Prometheus 指标 | 无 |
|
||||
|
||||
---
|
||||
|
||||
## Data-Ingestion 服务接口
|
||||
|
||||
### 1. APILLAMA 处理 (apillama.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/apillama/process` | 将 API 文档转换为结构化 schema | 无 |
|
||||
|
||||
---
|
||||
|
||||
### 2. 健康检查 (health.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/health` | 服务健康检查 | 无 |
|
||||
|
||||
---
|
||||
|
||||
### 3. Prometheus 指标 (metrics.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/metrics` | 暴露 Prometheus 指标 | 无 |
|
||||
|
||||
---
|
||||
|
||||
### 4. OpenAPI 解析 (openapi.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/openapi/parse` | 下载并解析 OpenAPI 文档 | 无 |
|
||||
|
||||
---
|
||||
|
||||
### 5. RapidAPI 集成 (rapidapi.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/rapidapi/sync` | 触发 RapidAPI 端点同步 | 无 |
|
||||
| POST | `/rapidapi/test` | 测试 RapidAPI 端点 | 无 |
|
||||
|
||||
---
|
||||
|
||||
### 6. 统计与缓存 (stats.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| GET | `/stats` | 获取工具和缓存统计 | 无 |
|
||||
| POST | `/cache/clear` | 清理缓存 | 无 |
|
||||
|
||||
---
|
||||
|
||||
### 7. 工具注册 (tools.py)
|
||||
|
||||
| 方法 | 路径 | 功能描述 | 权限要求 |
|
||||
|------|------|----------|----------|
|
||||
| POST | `/tools/generate` | 为 API 端点生成工具 | 无 |
|
||||
| GET | `/tools` | 获取工具列表 | 无 |
|
||||
| GET | `/tools/{tool_name}` | 获取工具详情 | 无 |
|
||||
| DELETE | `/tools/{tool_name}` | 删除工具 | 无 |
|
||||
|
||||
---
|
||||
|
||||
## 接口统计
|
||||
|
||||
### MCP-Server 服务
|
||||
|
||||
| 模块 | 接口数量 |
|
||||
|------|----------|
|
||||
| 认证模块 | 6 |
|
||||
| 超级管理员 API | 35 |
|
||||
| 用户侧平台 API | 28 |
|
||||
| 渠道合作伙伴 API | 27 |
|
||||
| Agent 管理 | 11 |
|
||||
| 供应商管理 | 6 |
|
||||
| 会话管理 | 6 |
|
||||
| 工具管理 | 6 |
|
||||
| WebSocket | 1 |
|
||||
| 计费与资源管理 | 24 |
|
||||
| 配额管理 | 5 |
|
||||
| 平台 Agent 配额 | 15 |
|
||||
| 审计日志管理 | 3 |
|
||||
| 事件管理 | 3 |
|
||||
| 追踪管理 | 3 |
|
||||
| 定价管理 | 3 |
|
||||
| 供应商健康检查 | 3 |
|
||||
| 资源监控 | 4 |
|
||||
| 前端集成 | 50+ |
|
||||
| 监控 | 5 |
|
||||
| 健康检查 | 1 |
|
||||
| Prometheus 指标 | 1 |
|
||||
|
||||
### Data-Ingestion 服务
|
||||
|
||||
| 模块 | 接口数量 |
|
||||
|------|----------|
|
||||
| APILLAMA 处理 | 1 |
|
||||
| 健康检查 | 1 |
|
||||
| Prometheus 指标 | 1 |
|
||||
| OpenAPI 解析 | 1 |
|
||||
| RapidAPI 集成 | 2 |
|
||||
| 统计与缓存 | 2 |
|
||||
| 工具注册 | 4 |
|
||||
|
||||
---
|
||||
|
||||
## 角色权限说明
|
||||
|
||||
| 角色 | 说明 |
|
||||
|------|------|
|
||||
| `super_admin` | 超级管理员,拥有系统所有权限 |
|
||||
| `billing_admin` | 计费管理员,完整写入权限,可创建渠道、管理租户、计费操作 |
|
||||
| `operations_admin` | 运维管理员,只读权限,仅查看和监控 |
|
||||
| `channel_admin` | 渠道管理员,渠道内部管理权限 |
|
||||
| `provider_admin` | 供应商管理员,管理供应商模型 |
|
||||
| `user` | 普通用户,标准用户权限 |
|
||||
|
||||
---
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **Web 框架**: FastAPI
|
||||
- **ORM**: SQLAlchemy (异步)
|
||||
- **认证**: JWT (JSON Web Token)
|
||||
- **权限系统**: RBAC (基于角色的访问控制)
|
||||
- **Kubernetes 集成**: Agent Manager 客户端
|
||||
- **实时通信**: WebSocket
|
||||
- **监控**: Prometheus
|
||||
- **消息队列**: NATS
|
||||
- **缓存**: Redis
|
||||
@@ -1,413 +0,0 @@
|
||||
# API 接口整合计划
|
||||
|
||||
> **文档版本**: v1.0
|
||||
> **创建时间**: 2026-01-06
|
||||
> **目标文档**: `Docs/API-超级管理员控制平台完整接口文档.md`
|
||||
|
||||
---
|
||||
|
||||
## 一、问题概述
|
||||
|
||||
当前 API 文档中存在多个功能重复的接口,主要原因是:
|
||||
1. **模块划分不清晰**:资源管理、平台 Agent 管理、监控三个模块都在处理"查看平台 Agent"这个需求
|
||||
2. **历史演进导致**:平台 Agent 管理模块是后来新增的(v1.2),但没有整合原有接口
|
||||
3. **职责边界模糊**:多个模块返回相同数据源的相似数据
|
||||
|
||||
---
|
||||
|
||||
## 二、重复接口详细分析
|
||||
|
||||
### 2.1 Agent 资源查看功能(最严重)
|
||||
|
||||
| 序号 | 模块 | 接口 | 功能 | 数据来源 |
|
||||
|------|------|------|------|---------|
|
||||
| 1 | 资源管理模块 | `GET /api/admin/resources/agents` | 获取所有 Agent 资源 | K8s + 数据库 |
|
||||
| 2 | 平台 Agent 管理模块 | `GET /api/admin/platform-agents/status` | 获取平台 Agent 运行状态 | K8s |
|
||||
| 3 | 监控模块 | `GET /api/admin/monitoring/agents` | 监控 Agent 健康状态 | K8s + 数据库 |
|
||||
|
||||
**响应字段对比**:
|
||||
|
||||
| 字段 | resources/agents | platform-agents/status | monitoring/agents |
|
||||
|------|-----------------|----------------------|-------------------|
|
||||
| id/name | ✅ | ✅ | ✅ |
|
||||
| type | ✅ | ❌ | ✅ |
|
||||
| status | ✅ | ✅ | ✅ |
|
||||
| healthStatus | ✅ | ❌ | ✅ |
|
||||
| cpu/memory | ✅ | ❌ | ✅ |
|
||||
| cpuUsage/memoryUsage | ❌ | ✅ | ✅ |
|
||||
| cpuRequest/cpuLimit | ✅ | ❌ | ✅ |
|
||||
| podIp/namespace | ✅ | ✅ | ✅ |
|
||||
| template | ✅ | ✅ | ✅ |
|
||||
| summary 统计 | ✅ | ✅ | ✅ |
|
||||
|
||||
**结论**:三个接口返回的数据高度重叠,`monitoring/agents` 是最完整的。
|
||||
|
||||
---
|
||||
|
||||
### 2.2 Agent 统计功能
|
||||
|
||||
| 序号 | 模块 | 接口 | 返回的统计字段 |
|
||||
|------|------|------|--------------|
|
||||
| 1 | 概览模块 | `GET /api/admin/dashboard/stats` | platformAgents.count/cpu/memory, customAgents.count/cpu/memory |
|
||||
| 2 | 资源管理模块 | `GET /api/admin/resources/allocation-stats` | platformAgents.count/cpu/memory, customAgents.count/cpu/memory |
|
||||
|
||||
**结论**:两个接口的 Agent 统计部分完全重复。
|
||||
|
||||
---
|
||||
|
||||
### 2.3 租户列表功能
|
||||
|
||||
| 序号 | 模块 | 接口 | 权限要求 |
|
||||
|------|------|------|---------|
|
||||
| 1 | 概览模块 | `GET /api/admin/tenants` | 超级管理员必须指定 channel_id |
|
||||
| 2 | 渠道管理模块 | `GET /api/channel/tenants` | 超级管理员必须指定 channel_id |
|
||||
|
||||
**结论**:两个接口功能完全相同,只是路径不同。
|
||||
|
||||
---
|
||||
|
||||
### 2.4 申请审批功能
|
||||
|
||||
| 序号 | 模块 | 接口 | 功能 |
|
||||
|------|------|------|------|
|
||||
| 1 | 渠道管理模块 | `GET /api/admin/channels/applications` | 获取 Agent 申请列表 |
|
||||
| 2 | 渠道管理模块 | `PUT /api/admin/channels/applications/{id}/review` | 审批 Agent 申请 |
|
||||
| 3 | 资源申请审批模块 | `GET /api/admin/applications/platform-agents` | 获取平台 Agent 申请列表 |
|
||||
| 4 | 资源申请审批模块 | `PUT /api/admin/applications/platform-agents/{id}/review` | 审批平台 Agent 申请 |
|
||||
|
||||
**结论**:两套申请审批接口功能重叠。
|
||||
|
||||
---
|
||||
|
||||
### 2.5 平台 Agent 模板查看
|
||||
|
||||
| 序号 | 模块 | 接口 | 权限 |
|
||||
|------|------|------|------|
|
||||
| 1 | 资源申请审批模块 | `GET /api/channel/available-platform-agents` | 渠道管理员 |
|
||||
| 2 | 平台 Agent 管理模块 | `GET /api/admin/platform-agents/templates` | 所有管理员 |
|
||||
|
||||
**结论**:两个接口都返回模板信息,区别在于权限和是否包含渠道配额。
|
||||
|
||||
---
|
||||
|
||||
## 三、整合方案
|
||||
|
||||
### 3.1 整合原则
|
||||
|
||||
1. **单一职责**:每个模块只负责一类功能
|
||||
2. **最小化接口**:相同功能只保留一个接口
|
||||
3. **向后兼容**:保留最常用的接口路径
|
||||
4. **清晰命名**:接口路径应该清晰表达其功能
|
||||
|
||||
### 3.2 模块职责重新定义
|
||||
|
||||
| 模块 | 职责 | 核心功能 |
|
||||
|------|------|---------|
|
||||
| **概览模块** | 仪表板数据 | 统计数据、最近登录 |
|
||||
| **渠道管理模块** | 渠道和租户管理 | 渠道 CRUD、租户 CRUD |
|
||||
| **资源管理模块** | 资源配置管理 | 模型供应商管理 |
|
||||
| **平台 Agent 管理模块** | 平台 Agent 全生命周期 | 模板、分配、状态、监控 |
|
||||
| **资源申请审批模块** | 所有资源申请 | 申请、审批 |
|
||||
| **监控模块** | 系统级监控 | 系统指标、仪表板 |
|
||||
| **计费模块** | 计费统计 | 费用统计、导出 |
|
||||
| **设置模块** | 系统设置 | 管理员管理、角色管理 |
|
||||
|
||||
---
|
||||
|
||||
## 四、具体整合操作
|
||||
|
||||
### 4.1 Agent 资源查看接口整合
|
||||
|
||||
#### 保留的接口
|
||||
|
||||
| 接口 | 模块 | 理由 |
|
||||
|------|------|------|
|
||||
| `GET /api/admin/platform-agents/status` | 平台 Agent 管理模块 | **保留并增强** - 作为查看平台 Agent 的主接口 |
|
||||
|
||||
#### 删除/废弃的接口
|
||||
|
||||
| 接口 | 模块 | 处理方式 | 理由 |
|
||||
|------|------|---------|------|
|
||||
| `GET /api/admin/resources/agents` | 资源管理模块 | **删除** | 功能与 platform-agents/status 重复 |
|
||||
| `GET /api/admin/monitoring/agents` | 监控模块 | **删除** | 功能与 platform-agents/status 重复 |
|
||||
|
||||
#### 整合后的接口设计
|
||||
|
||||
**接口**: `GET /api/admin/platform-agents/status`
|
||||
|
||||
**增强后的响应**(合并三个接口的字段):
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"data": {
|
||||
"agents": [
|
||||
{
|
||||
"id": "jina-search-agent-44e817f3",
|
||||
"name": "jina-search-agent-44e817f3",
|
||||
"type": "platform",
|
||||
"status": "Running",
|
||||
"healthStatus": "healthy",
|
||||
"healthMessage": "K8s Pod 状态: Running",
|
||||
"cpu": 0.5,
|
||||
"memory": 0.5,
|
||||
"cpuUsage": "12704n",
|
||||
"memoryUsage": "8704Ki",
|
||||
"cpuRequest": "100m",
|
||||
"cpuLimit": "500m",
|
||||
"memoryRequest": "128Mi",
|
||||
"memoryLimit": "512Mi",
|
||||
"cpuUtilization": 0.025,
|
||||
"memoryUtilization": 1.66,
|
||||
"hasRealtimeMetrics": true,
|
||||
"metricsTimestamp": "2026-01-06T06:05:29Z",
|
||||
"podIp": "10.244.1.191",
|
||||
"namespace": "ai-agents",
|
||||
"template": "jina_search_agent",
|
||||
"createdAt": "2025-12-31T07:22:21+00:00",
|
||||
"source": "k8s"
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"total": 6,
|
||||
"platformAgents": 6,
|
||||
"customAgents": 0,
|
||||
"totalCpu": 3.0,
|
||||
"totalMemory": 3.0,
|
||||
"byHealthStatus": {
|
||||
"healthy": 6,
|
||||
"warning": 0,
|
||||
"critical": 0,
|
||||
"unknown": 0
|
||||
},
|
||||
"byStatus": {
|
||||
"running": 6,
|
||||
"pending": 0,
|
||||
"error": 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 4.2 Agent 统计接口整合
|
||||
|
||||
#### 保留的接口
|
||||
|
||||
| 接口 | 模块 | 理由 |
|
||||
|------|------|------|
|
||||
| `GET /api/admin/dashboard/stats` | 概览模块 | **保留** - 仪表板统计数据 |
|
||||
|
||||
#### 删除/废弃的接口
|
||||
|
||||
| 接口 | 模块 | 处理方式 | 理由 |
|
||||
|------|------|---------|------|
|
||||
| `GET /api/admin/resources/allocation-stats` | 资源管理模块 | **删除** | Agent 统计与 dashboard/stats 重复 |
|
||||
|
||||
**说明**:`allocation-stats` 中的渠道配额和租户配额统计可以合并到 `dashboard/stats` 中。
|
||||
|
||||
---
|
||||
|
||||
### 4.3 租户列表接口整合
|
||||
|
||||
#### 保留的接口
|
||||
|
||||
| 接口 | 模块 | 理由 |
|
||||
|------|------|------|
|
||||
| `GET /api/channel/tenants` | 渠道管理模块 | **保留** - 路径更符合语义(渠道下的租户) |
|
||||
|
||||
#### 删除/废弃的接口
|
||||
|
||||
| 接口 | 模块 | 处理方式 | 理由 |
|
||||
|------|------|---------|------|
|
||||
| `GET /api/admin/tenants` | 概览模块 | **删除** | 与 /api/channel/tenants 完全重复 |
|
||||
|
||||
---
|
||||
|
||||
### 4.4 申请审批接口整合
|
||||
|
||||
#### 保留的接口
|
||||
|
||||
| 接口 | 模块 | 理由 |
|
||||
|------|------|------|
|
||||
| `GET /api/admin/applications/platform-agents` | 资源申请审批模块 | **保留** - 路径更清晰 |
|
||||
| `PUT /api/admin/applications/platform-agents/{id}/review` | 资源申请审批模块 | **保留** - 路径更清晰 |
|
||||
|
||||
#### 删除/废弃的接口
|
||||
|
||||
| 接口 | 模块 | 处理方式 | 理由 |
|
||||
|------|------|---------|------|
|
||||
| `GET /api/admin/channels/applications` | 渠道管理模块 | **删除** | 与资源申请审批模块重复 |
|
||||
| `PUT /api/admin/channels/applications/{id}/review` | 渠道管理模块 | **删除** | 与资源申请审批模块重复 |
|
||||
|
||||
---
|
||||
|
||||
### 4.5 资源管理模块重构
|
||||
|
||||
整合后,资源管理模块只保留**模型供应商管理**功能:
|
||||
|
||||
| 序号 | 接口 | 功能 | 状态 |
|
||||
|------|------|------|------|
|
||||
| 1 | `GET /api/providers/models` | 获取模型供应商列表 | 保留 |
|
||||
| 2 | `POST /api/providers/models/create` | 创建模型供应商 | 保留 |
|
||||
| 3 | `PUT /api/providers/models/{provider_id}` | 更新模型供应商 | 保留 |
|
||||
| 4 | `DELETE /api/providers/models/{provider_id}` | 删除模型供应商 | 保留 |
|
||||
| 5 | `POST /api/providers/models/{provider_id}/test` | 测试供应商连接 | 保留 |
|
||||
|
||||
**删除的接口**:
|
||||
- `GET /api/admin/resources/agents` → 移至平台 Agent 管理模块
|
||||
- `GET /api/admin/resources/allocation-stats` → 合并至概览模块
|
||||
- `PUT /api/admin/resources/agents/{agent_id}/config` → 移至平台 Agent 管理模块
|
||||
- `DELETE /api/admin/resources/agents/{agent_id}` → 移至平台 Agent 管理模块
|
||||
|
||||
---
|
||||
|
||||
## 五、整合后的模块结构
|
||||
|
||||
### 5.1 概览模块(3个接口)
|
||||
|
||||
| 序号 | 接口 | 功能 |
|
||||
|------|------|------|
|
||||
| 1 | `GET /api/admin/dashboard/stats` | 获取平台统计数据(含 Agent 统计) |
|
||||
| 2 | `GET /api/v1/monitoring/metrics` | 获取系统监控指标 |
|
||||
| 3 | `GET /api/admin/dashboard/recent-logins` | 获取最近登录记录 |
|
||||
|
||||
### 5.2 渠道管理模块(15个接口)
|
||||
|
||||
| 序号 | 接口 | 功能 |
|
||||
|------|------|------|
|
||||
| 1 | `GET /api/admin/channels` | 获取渠道列表 |
|
||||
| 2 | `POST /api/admin/channels/create` | 创建渠道 |
|
||||
| 3 | `PUT /api/admin/channels/{channel_id}` | 编辑渠道信息 |
|
||||
| 4 | `DELETE /api/admin/channels/{channel_id}` | 删除渠道 |
|
||||
| 5 | `GET /api/admin/channels/{channel_id}/resources` | 获取渠道资源配置 |
|
||||
| 6 | `PUT /api/admin/channels/{channel_id}/resources` | 更新渠道资源配置 |
|
||||
| 7 | `PUT /api/admin/channels/{channel_id}/commission` | 更新渠道佣金 |
|
||||
| 8 | `GET /api/channel/tenants` | 获取渠道租户列表 |
|
||||
| 9 | `POST /api/channel/tenants/create` | 创建租户 |
|
||||
| 10 | `PUT /api/channel/tenants/{tenant_id}/status` | 更新租户状态 |
|
||||
| 11 | `PUT /api/channel/tenants/{tenant_id}/permissions` | 更新租户权限 |
|
||||
| 12 | `PUT /api/channel/tenants/{tenant_id}/password` | 租户密码重置 |
|
||||
| 13 | `DELETE /api/channel/tenants/{tenant_id}` | 删除租户 |
|
||||
| 14 | `GET /api/admin/providers/access` | 获取供应商授权列表 |
|
||||
| 15 | `DELETE /api/admin/providers/access/{access_id}` | 撤销供应商授权 |
|
||||
|
||||
### 5.3 资源管理模块(5个接口)- 仅模型供应商
|
||||
|
||||
| 序号 | 接口 | 功能 |
|
||||
|------|------|------|
|
||||
| 1 | `GET /api/providers/models` | 获取模型供应商列表 |
|
||||
| 2 | `POST /api/providers/models/create` | 创建模型供应商 |
|
||||
| 3 | `PUT /api/providers/models/{provider_id}` | 更新模型供应商 |
|
||||
| 4 | `DELETE /api/providers/models/{provider_id}` | 删除模型供应商 |
|
||||
| 5 | `POST /api/providers/models/{provider_id}/test` | 测试供应商连接 |
|
||||
|
||||
### 5.4 平台 Agent 管理模块(13个接口)- 整合后
|
||||
|
||||
| 序号 | 接口 | 功能 | 来源 |
|
||||
|------|------|------|------|
|
||||
| 1 | `GET /api/admin/platform-agents/templates` | 获取模板列表 | 原有 |
|
||||
| 2 | `PUT /api/admin/platform-agents/templates/{name}/config` | 配置模板 | 原有 |
|
||||
| 3 | `GET /api/admin/platform-agents/templates/{name}/config` | 获取模板配置 | 原有 |
|
||||
| 4 | `GET /api/admin/platform-agents/status` | **获取 Agent 状态(增强版)** | 整合 |
|
||||
| 5 | `GET /api/admin/platform-agents/allocations` | 获取分配情况 | 原有 |
|
||||
| 6 | `POST /api/admin/platform-agents/allocate` | 分配配额给渠道 | 原有 |
|
||||
| 7 | `DELETE /api/admin/platform-agents/allocate` | 撤销渠道配额 | 原有 |
|
||||
| 8 | `PUT /api/admin/platform-agents/{agent_id}/config` | **配置 Agent 资源** | 从资源管理移入 |
|
||||
| 9 | `DELETE /api/admin/platform-agents/{agent_id}` | **删除 Agent** | 从资源管理移入 |
|
||||
| 10 | `GET /api/channel/platform-agents` | 渠道查看配额 | 原有 |
|
||||
| 11 | `POST /api/channel/tenants/{tenant_id}/platform-agents` | 分配给租户 | 原有 |
|
||||
| 12 | `GET /api/user/platform-agents/available` | 租户查看可用 Agent | 原有 |
|
||||
| 13 | `POST /api/user/platform-agents/use` | 租户使用 Agent | 原有 |
|
||||
|
||||
### 5.5 资源申请审批模块(5个接口)
|
||||
|
||||
| 序号 | 接口 | 功能 |
|
||||
|------|------|------|
|
||||
| 1 | `GET /api/channel/available-platform-agents` | 查看可用平台 Agent |
|
||||
| 2 | `POST /api/channel/applications/platform-agents` | 渠道申请平台 Agent |
|
||||
| 3 | `GET /api/channel/applications/platform-agents` | 查看渠道申请列表 |
|
||||
| 4 | `GET /api/admin/applications/platform-agents` | 管理员获取申请列表 |
|
||||
| 5 | `PUT /api/admin/applications/platform-agents/{id}/review` | 管理员审批申请 |
|
||||
|
||||
### 5.6 监控模块(1个接口)
|
||||
|
||||
| 序号 | 接口 | 功能 |
|
||||
|------|------|------|
|
||||
| 1 | `GET /api/v1/monitoring/dashboard` | 获取监控仪表板 |
|
||||
|
||||
**说明**:Agent 监控功能已整合到平台 Agent 管理模块。
|
||||
|
||||
---
|
||||
|
||||
## 六、删除接口汇总
|
||||
|
||||
| 序号 | 接口 | 原模块 | 删除理由 |
|
||||
|------|------|--------|---------|
|
||||
| 1 | `GET /api/admin/resources/agents` | 资源管理模块 | 与 platform-agents/status 重复 |
|
||||
| 2 | `GET /api/admin/resources/allocation-stats` | 资源管理模块 | 与 dashboard/stats 重复 |
|
||||
| 3 | `PUT /api/admin/resources/agents/{id}/config` | 资源管理模块 | 移至平台 Agent 管理模块 |
|
||||
| 4 | `DELETE /api/admin/resources/agents/{id}` | 资源管理模块 | 移至平台 Agent 管理模块 |
|
||||
| 5 | `GET /api/admin/tenants` | 概览模块 | 与 /api/channel/tenants 重复 |
|
||||
| 6 | `GET /api/admin/channels/applications` | 渠道管理模块 | 与资源申请审批模块重复 |
|
||||
| 7 | `PUT /api/admin/channels/applications/{id}/review` | 渠道管理模块 | 与资源申请审批模块重复 |
|
||||
| 8 | `GET /api/admin/monitoring/agents` | 监控模块 | 与 platform-agents/status 重复 |
|
||||
|
||||
**共删除 8 个重复接口**
|
||||
|
||||
---
|
||||
|
||||
## 七、实施步骤
|
||||
|
||||
### 第一阶段:文档更新
|
||||
1. 更新 API 文档,标记待删除的接口为 `@deprecated`
|
||||
2. 在文档中说明整合后的接口使用方式
|
||||
3. 更新模块目录结构
|
||||
|
||||
### 第二阶段:后端代码修改
|
||||
1. 增强 `GET /api/admin/platform-agents/status` 接口,合并三个接口的响应字段
|
||||
2. 将 Agent 配置和删除接口移至平台 Agent 管理模块
|
||||
3. 删除重复的路由定义
|
||||
|
||||
### 第三阶段:前端适配
|
||||
1. 检查前端调用的接口,更新为整合后的接口
|
||||
2. 测试所有相关功能
|
||||
|
||||
### 第四阶段:清理
|
||||
1. 删除废弃的接口代码
|
||||
2. 更新 API 文档版本号
|
||||
|
||||
---
|
||||
|
||||
## 八、风险评估
|
||||
|
||||
| 风险 | 影响 | 缓解措施 |
|
||||
|------|------|---------|
|
||||
| 前端依赖旧接口 | 功能异常 | 先检查前端代码,确认调用情况 |
|
||||
| 外部系统依赖 | 集成失败 | 保留旧接口作为别名,逐步迁移 |
|
||||
| 响应格式变化 | 解析错误 | 保持响应格式向后兼容 |
|
||||
|
||||
---
|
||||
|
||||
## 九、整合前后对比
|
||||
|
||||
| 指标 | 整合前 | 整合后 | 变化 |
|
||||
|------|--------|--------|------|
|
||||
| 总接口数 | ~60+ | ~52 | -8 |
|
||||
| Agent 查看接口 | 3 | 1 | -2 |
|
||||
| 租户列表接口 | 2 | 1 | -1 |
|
||||
| 申请审批接口 | 4 | 2 | -2 |
|
||||
| 资源管理模块接口 | 9 | 5 | -4 |
|
||||
|
||||
---
|
||||
|
||||
## 十、结论
|
||||
|
||||
通过本次整合:
|
||||
1. **消除了 8 个重复接口**
|
||||
2. **明确了各模块职责边界**
|
||||
3. **简化了前端调用逻辑**
|
||||
4. **提高了 API 的可维护性**
|
||||
|
||||
建议在实施前先确认前端当前使用的接口情况,以确保整合不会影响现有功能。
|
||||
@@ -1,184 +0,0 @@
|
||||
# 更新 Agent Manager 客户端以适配新的状态接口
|
||||
|
||||
## 背景
|
||||
|
||||
Agent Manager 服务端更新了 `GET /agents/{agent_name}/status` 接口,新增了以下字段:
|
||||
|
||||
### 新增字段
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `health_status` | string | 健康状态:healthy/unhealthy/degraded |
|
||||
| `containers` | array | 容器详细状态列表 |
|
||||
| `resources` | object | 资源配额和使用情况 |
|
||||
| `service_port` | int | 服务端口 |
|
||||
| `access_url` | string | 访问地址 |
|
||||
| `endpoints` | object | API 端点 |
|
||||
| `conditions` | array | Pod 条件状态 |
|
||||
|
||||
### 容器状态字段 (`containers[]`)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `name` | string | 容器名称 |
|
||||
| `ready` | boolean | 是否就绪 |
|
||||
| `restart_count` | int | 重启次数 |
|
||||
| `state` | string | 状态 (running/waiting/terminated) |
|
||||
| `reason` | string | 状态原因 (如 CrashLoopBackOff) |
|
||||
| `message` | string | 详细消息 |
|
||||
| `exit_code` | int | 退出码 (terminated 状态) |
|
||||
| `started_at` | string | 启动时间 |
|
||||
| `finished_at` | string | 结束时间 |
|
||||
|
||||
### 资源字段 (`resources`)
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| `requests` | object | 资源请求配额 |
|
||||
| `limits` | object | 资源限制配额 |
|
||||
| `usage` | object | 实时资源使用(需要 metrics-server) |
|
||||
| `usage.available` | bool | metrics 是否可用 |
|
||||
| `usage.reason` | string | 不可用原因 |
|
||||
|
||||
## 需要修改的文件
|
||||
|
||||
### 1. `services/mcp-server/app/agent_manager_client.py`
|
||||
|
||||
更新 `AgentStatusResult` 数据类:
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class ContainerStatus:
|
||||
"""容器状态"""
|
||||
name: str
|
||||
ready: bool = False
|
||||
restart_count: int = 0
|
||||
state: str = "unknown" # running/waiting/terminated
|
||||
reason: Optional[str] = None
|
||||
message: Optional[str] = None
|
||||
exit_code: Optional[int] = None
|
||||
started_at: Optional[str] = None
|
||||
finished_at: Optional[str] = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class AgentStatusResult:
|
||||
"""
|
||||
Agent 状态结果
|
||||
|
||||
适配 Agent Manager GET /agents/{name}/status 接口响应
|
||||
"""
|
||||
name: str
|
||||
namespace: str
|
||||
status: str # Pod 状态: Running/Pending/Waiting/Terminated/Failed
|
||||
health_status: str = "unknown" # 新增:健康状态 healthy/unhealthy/degraded
|
||||
template: Optional[str] = None
|
||||
created_at: Optional[str] = None
|
||||
node: Optional[str] = None # 新增:运行的节点
|
||||
pod_ip: Optional[str] = None
|
||||
containers: List[ContainerStatus] = field(default_factory=list) # 新增:容器状态
|
||||
resources: Optional[Dict[str, Any]] = None # 新增:资源配额和使用
|
||||
service_port: Optional[int] = None # 新增:服务端口
|
||||
access_url: Optional[str] = None # 新增:访问地址
|
||||
endpoints: Optional[Dict[str, str]] = None # 新增:API 端点
|
||||
conditions: Optional[List[Dict[str, Any]]] = None # 新增:Pod 条件
|
||||
labels: Optional[Dict[str, str]] = None
|
||||
# 兼容旧字段
|
||||
node_name: Optional[str] = None # 别名 for node
|
||||
|
||||
@property
|
||||
def is_healthy(self) -> bool:
|
||||
"""是否健康"""
|
||||
return self.health_status == "healthy"
|
||||
|
||||
@property
|
||||
def is_running(self) -> bool:
|
||||
"""是否运行中"""
|
||||
return self.status == "Running"
|
||||
|
||||
@property
|
||||
def total_restart_count(self) -> int:
|
||||
"""所有容器的总重启次数"""
|
||||
return sum(c.restart_count for c in self.containers)
|
||||
|
||||
@property
|
||||
def has_crashed_container(self) -> bool:
|
||||
"""是否有崩溃的容器"""
|
||||
return any(
|
||||
c.state == "waiting" and c.reason == "CrashLoopBackOff"
|
||||
for c in self.containers
|
||||
)
|
||||
```
|
||||
|
||||
### 2. 更新 `get_agent_status` 方法
|
||||
|
||||
```python
|
||||
async def get_agent_status(self, agent_name: str) -> AgentStatusResult:
|
||||
"""
|
||||
获取 Agent 状态
|
||||
|
||||
调用: GET /agents/{agent_name}/status
|
||||
"""
|
||||
data = await self._request("GET", f"/agents/{agent_name}/status")
|
||||
|
||||
# 解析容器状态
|
||||
containers = []
|
||||
for c in data.get("containers", []):
|
||||
containers.append(ContainerStatus(
|
||||
name=c.get("name", ""),
|
||||
ready=c.get("ready", False),
|
||||
restart_count=c.get("restart_count", 0),
|
||||
state=c.get("state", "unknown"),
|
||||
reason=c.get("reason"),
|
||||
message=c.get("message"),
|
||||
exit_code=c.get("exit_code"),
|
||||
started_at=c.get("started_at"),
|
||||
finished_at=c.get("finished_at"),
|
||||
))
|
||||
|
||||
return AgentStatusResult(
|
||||
name=data["name"],
|
||||
namespace=data["namespace"],
|
||||
status=data["status"],
|
||||
health_status=data.get("health_status", "unknown"),
|
||||
template=data.get("template"),
|
||||
created_at=data.get("created_at"),
|
||||
node=data.get("node"),
|
||||
pod_ip=data.get("pod_ip"),
|
||||
containers=containers,
|
||||
resources=data.get("resources"),
|
||||
service_port=data.get("service_port"),
|
||||
access_url=data.get("access_url"),
|
||||
endpoints=data.get("endpoints"),
|
||||
conditions=data.get("conditions"),
|
||||
labels=data.get("labels"),
|
||||
node_name=data.get("node"), # 兼容旧字段
|
||||
)
|
||||
```
|
||||
|
||||
## 影响的下游代码
|
||||
|
||||
以下代码使用了 `AgentStatusResult`,需要检查是否需要更新:
|
||||
|
||||
1. `services/mcp-server/app/routes/monitoring.py` - Agent 监控接口
|
||||
2. `services/mcp-server/app/routes/platform_agent_quota.py` - 平台 Agent 配额管理
|
||||
3. `services/mcp-server/app/routes/agents.py` - Agent 管理接口
|
||||
|
||||
## 任务清单
|
||||
|
||||
- [ ] 添加 `ContainerStatus` 数据类
|
||||
- [ ] 更新 `AgentStatusResult` 数据类,添加新字段
|
||||
- [ ] 更新 `get_agent_status` 方法解析新字段
|
||||
- [ ] 更新监控接口使用 `health_status` 字段
|
||||
- [ ] 添加单元测试验证新字段解析
|
||||
- [ ] 更新 API 文档
|
||||
|
||||
## 测试计划
|
||||
|
||||
```bash
|
||||
# 测试健康的 Agent
|
||||
curl http://localhost:8000/agents/alice-echo/status | jq '.health_status, .containers'
|
||||
|
||||
# 测试崩溃的 Agent
|
||||
curl http://localhost:8000/agents/my-mysql-agent/status | jq '.health_status, .containers[].reason'
|
||||
```
|
||||
Reference in New Issue
Block a user