Files
taiji-AI-PAD/MISSING_APIS.md
T
2025-12-25 11:23:23 +00:00

4.9 KiB
Raw Blame History

缺失的 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 更新):

  1. ✅ DELETE /api/admin/resources/agents/{agent_id} - 删除Agent资源(软删除)
  2. ✅ DELETE /api/admin/channels/{channel_id} - 删除渠道(软删除,检查关联租户)
  3. ✅ PUT /api/admin/channels/{channel_id} - 更新渠道信息
  4. ✅ PUT /api/admin/resources/agents/{agent_id}/config - 更新Agent资源配置

所有接口状态:

✅ 所有接口都已实现并在API文档中有说明


实现说明

2025-12-25 新增接口

  1. DELETE /api/admin/resources/agents/{agent_id}

    • 软删除Agent资源,将状态标记为 inactive
    • 需要超级管理员权限
  2. DELETE /api/admin/channels/{channel_id}

    • 软删除渠道,将状态标记为 inactive
    • 删除前检查是否有活跃租户,如有则拒绝删除
    • 需要超级管理员权限
  3. PUT /api/admin/channels/{channel_id}

    • 更新渠道的名称、邮箱、佣金比例、状态
    • 更新邮箱时检查是否与其他渠道冲突
    • 需要超级管理员权限
  4. 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() - 自动获取用户订阅等级并计费

计费逻辑

  1. 创建计费记录时自动获取用户的 subscription_tier
  2. 根据订阅等级查找对应的EU单价
  3. 计算费用:cost = EU数量 × 单价
  4. 从用户余额中扣除费用