forked from xiaohei/taiji-AI-PAD
4.9 KiB
4.9 KiB
缺失的 API 接口清单
根据前端代码和 API 文档的对比,以下接口在 API 文档中没有提供:
1. 删除 Agent 接口
前端使用位置: /app/admin/dashboard/page.tsx (资源管理标签页)
当前实现:
- 前端使用
TaijiAPIClient.deleteTool(agent.id || agent.name)来删除 Agent - 这个接口实际上是删除 Data Ingestion 服务中的工具,而不是删除 Agent 资源
需要的接口:
DELETE /api/admin/resources/agents/{agent_id}
请求示例:
curl -X DELETE "http://localhost:8002/api/admin/resources/agents/agent-uuid-1" \
-H "Authorization: Bearer <admin_token>"
响应示例:
{
"success": true,
"message": "Agent资源已删除"
}
说明:
- 当前前端代码错误地使用了
deleteTool接口来删除 Agent - 应该提供一个专门的删除 Agent 资源的接口
- 删除应该是软删除,仅标记为不活跃
2. 删除渠道接口
前端使用位置: /app/admin/dashboard/page.tsx (渠道管理标签页)
当前状态:
- 前端UI中有"删除渠道"按钮,但没有实现对应的API调用
需要的接口:
DELETE /api/admin/channels/{channel_id}
请求示例:
curl -X DELETE "http://localhost:8002/api/admin/channels/channel-uuid-1" \
-H "Authorization: Bearer <admin_token>"
响应示例:
{
"success": true,
"message": "渠道已删除"
}
说明:
- 删除渠道前应该检查是否有关联的租户
- 如果有租户,应该提示或阻止删除
- 删除应该是软删除,仅标记为不活跃
3. 更新渠道信息接口
前端使用位置: /app/admin/dashboard/page.tsx (渠道管理标签页)
当前状态:
- 前端可能有编辑渠道信息的功能,但需要确认是否有对应的API
需要的接口:
PUT /api/admin/channels/{channel_id}
请求体:
{
"name": "合作渠道A(更新)",
"email": "new-email@channel-a.com",
"commissionRate": 12.0,
"status": "active"
}
响应示例:
{
"success": true,
"data": {
"id": "channel-uuid-1",
"name": "合作渠道A(更新)",
"email": "new-email@channel-a.com"
},
"message": "渠道信息更新成功"
}
4. 更新 Agent 资源配置接口
前端使用位置: /app/admin/dashboard/page.tsx (资源管理标签页 - Agent资源配置对话框)
当前状态:
- 前端有配置 Agent CPU 和内存的对话框,但保存时没有调用API
需要的接口:
PUT /api/admin/resources/agents/{agent_id}/config
请求体:
{
"cpu": 4.0,
"memory": 8.0,
"maxInstances": 10
}
响应示例:
{
"success": true,
"message": "Agent资源配置更新成功"
}
总结
已实现的接口(2025-12-25 更新):
- ✅ DELETE /api/admin/resources/agents/{agent_id} - 删除Agent资源(软删除)
- ✅ DELETE /api/admin/channels/{channel_id} - 删除渠道(软删除,检查关联租户)
- ✅ PUT /api/admin/channels/{channel_id} - 更新渠道信息
- ✅ PUT /api/admin/resources/agents/{agent_id}/config - 更新Agent资源配置
所有接口状态:
✅ 所有接口都已实现并在API文档中有说明
实现说明
2025-12-25 新增接口
-
DELETE /api/admin/resources/agents/{agent_id}
- 软删除Agent资源,将状态标记为
inactive - 需要超级管理员权限
- 软删除Agent资源,将状态标记为
-
DELETE /api/admin/channels/{channel_id}
- 软删除渠道,将状态标记为
inactive - 删除前检查是否有活跃租户,如有则拒绝删除
- 需要超级管理员权限
- 软删除渠道,将状态标记为
-
PUT /api/admin/channels/{channel_id}
- 更新渠道的名称、邮箱、佣金比例、状态
- 更新邮箱时检查是否与其他渠道冲突
- 需要超级管理员权限
-
PUT /api/admin/resources/agents/{agent_id}/config
- 更新Agent的CPU、内存、最大实例数配置
- 需要超级管理员权限
EU 定价配置(2025-12-25 新增)
系统已实现按订阅等级的EU差异化定价:
| 档位 | 订阅等级 | EU 单价 | 核心定位 |
|---|---|---|---|
| 入门级(Starter) | free / starter |
$0.015 / EU | 拉新、试用、轻 Agent |
| 专业级(Pro) | pro |
$0.02 / EU | 主力商业用户 |
| 企业级(Enterprise) | enterprise |
$0.03 / EU | 高复杂度 / 高 SLA |
实现位置
- 文件:
services/mcp-server/app/billing.py - 函数:
get_eu_price_by_tier()- 根据订阅等级获取EU单价 - 函数:
calculate_cost()- 根据订阅等级计算费用 - 函数:
create_billing_record()- 自动获取用户订阅等级并计费
计费逻辑
- 创建计费记录时自动获取用户的
subscription_tier - 根据订阅等级查找对应的EU单价
- 计算费用:
cost = EU数量 × 单价 - 从用户余额中扣除费用