数据总览(Dashboard)
Admin 后台首页,展示系统整体运行状态和关键指标。
最后更新:2026-03-09
1. 数据来源
Dashboard 的数据通过多个 API 聚合:
| 指标 | API | 数据源 |
|---|---|---|
| 实例总数 / 健康状态 | GET /instances | oc_instances |
| 服务器指标 | GET /server-metrics/:id | server_metrics |
| 员工总数 | GET /users | sayclaw_portal.users |
| 日用量 | GET /usage-daily | usage_daily |
| 用户用量 | GET /usage/user/:email | stub(待实现) |
| 任务队列状态 | GET /task-queue | task_queue |
| 定时任务日志 | GET /job-runs | job_runs |
| LLM 费用统计 | GET /llm-stats | oneapi.logs |
| 审计日志 | GET /audit/logs | stub(待实现) |
2. API 详情
日用量
GET /api/v1/usage-daily
返回按日聚合的 token 用量。数据源:usage_daily 表。
用户用量
GET /api/v1/usage/user/:email
⚠️ 当前为 stub,固定返回
{ today: 0, month: 0 }。待接入oneapi.logs聚合。
LLM 费用统计
GET /api/v1/llm-stats?group_by=model&days=30
按模型/实例/日期聚合费用统计。数据源:oneapi.logs 表。
返回示例:
{
"stats": [
{ "model": "gpt-4o", "calls": 1234, "tokens": 567890, "cost_usd": 1.42 },
{ "model": "claude-sonnet-4-6", "calls": 456, "tokens": 234567, "cost_usd": 0.70 }
]
}
LLM 请求日志
GET /api/v1/llm-logs?instance_id=xxx&model=gpt-4o&limit=50
支持过滤:instance_id、sub_key_id、model、时间范围。
审计日志
GET /api/v1/audit/logs
⚠️ 当前为 stub,固定返回空列表。待实现。
3. 关键指标卡片
前端 Dashboard 通常展示以下卡片:
| 卡片 | 数据 |
|---|---|
| 🖥️ 实例状态 | 总数 / 健康 / 异常 |
| 👥 员工数 | 总数 / 活跃 |
| 📊 今日调用 | 总请求数 / 总 token / 费用 |
| 💰 本月费用 | 按 Provider 分的花费 |
| ⚙️ 任务队列 | pending / failed 数量 |
| 🏥 自愈状态 | 最近一次 self-heal 结果 |
4. 待完善
-
usage/user/:email接入真实数据 -
audit/logs实现审计日志记录 - 添加
GET /dashboard/summary聚合接口(一次返回所有卡片数据)