Open ACE API 文档
本文档描述 Open ACE (AI Computing Explorer) 中可用的 REST API 端点。
概述
- Base URL:
http://localhost:5000/api(默认) - 认证方式: 通过 Cookie 的 session token 或 Authorization 头中的 Bearer token
- Content-Type: 大多数端点使用
application/json
认证
大多数 API 端点需要认证。Session token 可以通过以下方式提供:
- Cookie:
session_token - Header:
Authorization: Bearer <token>
仅管理员可用的端点需要用户具有 admin 角色。
认证 API (/api/auth)
登录
POST /api/auth/login
认证用户并创建会话。
请求体:
{
"username": "string",
"password": "string"
}
响应:
{
"success": true,
"user": {
"id": 1,
"username": "admin",
"email": "admin@example.com",
"role": "admin"
}
}
状态码:
200- 成功400- 缺少用户名或密码401- 凭证无效
登出
POST /api/auth/logout
结束当前会话。
响应:
{
"success": true
}
检查认证状态
GET /api/auth/check
检查当前会话是否有效。
响应:
{
"authenticated": true,
"user": {
"id": 1,
"username": "admin",
"email": "admin@example.com",
"role": "admin"
}
}
获取个人资料
GET /api/auth/profile
获取当前用户的个人资料信息。
响应:
{
"id": 1,
"username": "admin",
"email": "admin@example.com",
"role": "admin",
"is_active": true,
"created_at": "2024-01-01T00:00:00Z"
}
修改密码
POST /api/auth/change-password
修改当前用户的密码。
请求体:
{
"current_password": "string",
"new_password": "string"
}
响应:
{
"success": true,
"message": "Password changed successfully"
}
管理员 API (/api/admin)
所有管理员端点需要 admin 角色。
获取所有用户
GET /api/admin/users
列出系统中所有用户。
响应:
[
{
"id": 1,
"username": "admin",
"email": "admin@example.com",
"role": "admin",
"is_active": true,
"created_at": "2024-01-01T00:00:00Z"
}
]
创建用户
POST /api/admin/users
创建新用户。
请求体:
{
"username": "string",
"email": "string",
"password": "string",
"role": "user" // 可选,默认为 "user"
}
响应:
{
"success": true,
"user_id": 2
}
状态码:
201- 创建成功400- 输入无效或用户已存在
更新用户
PUT /api/admin/users/<user_id>
更新用户信息。
请求体:
{
"username": "string", // 可选
"email": "string", // 可选
"role": "string", // 可选
"is_active": true, // 可选
"linux_account": "string" // 可选
}
删除用户
DELETE /api/admin/users/<user_id>
删除用户。不能删除自己。
更新用户密码
PUT /api/admin/users/<user_id>/password
更新用户密码(管理员覆盖)。
请求体:
{
"password": "string"
}
更新用户配额
PUT /api/admin/users/<user_id>/quota
更新用户的 token/请求配额。
请求体:
{
"daily_token_quota": 100000, // 可选
"monthly_token_quota": 1000000, // 可选
"daily_request_quota": 1000, // 可选
"monthly_request_quota": 10000 // 可选
}
获取配额使用情况
GET /api/admin/quota/usage
获取所有用户的配额使用情况。
使用统计 API (/api)
获取摘要
GET /api/summary
获取所有工具的汇总统计数据。
查询参数:
host- 按主机名筛选(可选)
响应:
{
"total_tokens": 1000000,
"total_input_tokens": 500000,
"total_output_tokens": 500000,
"total_requests": 10000,
"tools": [
{
"tool_name": "claude",
"tokens": 500000,
"requests": 5000
}
]
}
刷新摘要
POST /api/summary/refresh
从 daily_messages 表刷新摘要数据。
查询参数:
host- 按主机名筛选(可选)
获取今日用量
GET /api/today
获取今日所有工具的使用量。
查询参数:
host- 按主机名筛选(可选)tool- 按工具名筛选(可选)
获取工具用量
GET /api/tool/<tool_name>/<days>
获取指定工具在过去 N 天的使用量。
查询参数:
host- 按主机名筛选(可选)
获取指定日期用量
GET /api/date/<date_str>
获取指定日期的使用量(格式:YYYY-MM-DD)。
查询参数:
host- 按主机名筛选(可选)tool- 按工具名筛选(可选)
获取日期范围用量
GET /api/range
获取指定日期范围的使用量。
查询参数:
start- 开始日期(默认:7 天前)end- 结束日期(默认:今天)tool- 按工具名筛选(可选)host- 按主机名筛选(可选)
获取工具列表
GET /api/tools
获取所有工具列表。
获取主机列表
GET /api/hosts
获取所有主机列表。
获取趋势数据
GET /api/trend
获取用于图表的使用趋势数据。
查询参数:
start- 开始日期(默认:30 天前)end- 结束日期(默认:今天)host- 按主机名筛 选(可选)
消息 API (/api)
获取消息
GET /api/messages
获取消息列表,支持分页和筛选。
查询参数:
date- 按指定日期筛选start_date- 范围起始日期end_date- 范围结束日期tool- 按工具名筛选host- 按主机名筛选sender- 按发送者筛选role- 按角色筛选(user/assistant)search- 在内容中搜索limit- 结果数量限制(默认:50)offset- 结果偏移量(默认:0)
获取发送者列表
GET /api/senders
获取所有发送者列表。
查询参数:
host- 按主机名筛选(可选)
获取对话历史
GET /api/conversation-history
获取对话历史。
查询参数:
date- 按日期筛选tool- 按工具名筛选host- 按主机名筛选sender- 按发送者筛选limit- 结果数量限制offset- 结果偏移量
获取对话时间线
GET /api/conversation-timeline/<session_id>
获取对话的消息时间线。
获取对话详情
GET /api/conversation-details/<session_id>
获取指定对话的详细信息。
获取消息计数
GET /api/messages/count
获取符合筛选条件的消息数量。
分析 API (/api/analysis)
批量分析
GET /api/analysis/batch
在单个请求中获取所有分析数据。
查询参数:
start- 开始日期end- 结束日期host- 按主机名筛选
关键指标
GET /api/analysis/key-metrics
获取仪表盘的关键指标。
每小时用量
GET /api/analysis/hourly-usage
获取每小时使用量明细。
查询参数:
date- 指定日期tool- 按工具名筛选host- 按主机名筛选
每日每小时用量
GET /api/analysis/daily-hourly-usage
获取每日和每小时使用模式。
峰值用量
GET /api/analysis/peak-usage
获取峰值使用时段。
用户排名
GET /api/analysis/user-ranking
按 token 使用量获取用户排名。
查询参数:
limit- 前N名用户数量(默认:10)
对话统计
GET /api/analysis/conversation-stats
获取对话统计数据。
用户分群
GET /api/analysis/user-segmentation
获取用户分群数据。
工具对比
GET /api/analysis/tool-comparison
获取工具对比数据。
异常检测
GET /api/analysis/anomaly-detection
获取异常检测结果。
查询参数:
type- 按异常类型筛选severity- 按严重程度筛选
异常趋势
GET /api/analysis/anomaly-trend
获取异常趋势变化。
优化建议
GET /api/analysis/recommendations
获取使用优化建议。
高级分析 API (/api/analytics)
仅管理员可用的高级分析端点。
使用报告
GET /api/analytics/report
生成综合使用报告。
查询参数:
end_date- 结束日期(默认:今天)days- 天数(默认:30)trends- 包含趋势(默认:true)anomalies- 包含异常(默认:true)
用量预测
GET /api/analytics/forecast
获取用量预测。
查询参数:
days- 预测天数(默认:7)
效率指标
GET /api/analytics/efficiency
获取效率指标。
导出分析数据
GET /api/analytics/export
导出分析数据。
查询参数:
format- 导出格式:json或csv(默认:json)days- 天数(默认:30)
治理 API (/api)
审计日志
GET /api/audit/logs
GET /api/audit-logs
GET /api/governance/audit-logs
获取审计日志,支持筛选(仅管理员)。
查询参数:
user_id- 按用户 ID 筛选username- 按用户名筛选action- 按操作类型筛选resource_type- 按资源类型筛选severity- 按严重程度筛选start_date- 开始日期end_date- 结束日期limit- 结果数量限制(默认:100)offset- 结果偏移量(默认:0)
导出审计日志
GET /api/audit/logs/export
导出审计日志(仅管理员)。
查询参数:
start_date- 开始日期end_date- 结束日期format- 导出格式:json或csv
用户活动
GET /api/audit/user/<user_id>/activity
获取用户活动摘要(仅管理员)。
查询参数:
days- 天数(默认:30)
配额状态
GET /api/quota/status
获取当前用户的配额状态。
查询参数:
period- 周期类型:daily或monthly
所有用户配额状态
GET /api/quota/status/all
获取所有用户的配额状态(仅管理员)。
检查配额
POST /api/quota/check
检查用户是否有可用配额。
请求体:
{
"tokens": 1000,
"requests": 1
}
配额告警
GET /api/quota/alerts
获取配额告警(仅管理员)。
确认告警
POST /api/quota/alerts/<alert_id>/acknowledge
确认配额告警(仅管理员)。
内容检查
POST /api/content/check
检查内容中是否包含敏感信息。
请求体:
{
"content": "string"
}
过滤器统计
GET /api/content/filter/stats
获取内容过滤器统计信息(仅管理员)。
过滤规则列表
GET /api/filter-rules
获取所有内容过滤规则(仅管理员)。
创建过滤规则
POST /api/filter-rules
创建新的内容过滤规则(仅管理员)。
请求体:
{
"pattern": "string",
"type": "keyword", // keyword 或 regex
"severity": "medium", // low, medium, high
"action": "warn", // warn, block, review
"description": "string",
"is_enabled": true
}
更新过滤规则
PUT /api/filter-rules/<rule_id>
更新内容过滤规则(仅管理员)。
删除过滤规则
DELETE /api/filter-rules/<rule_id>
删除内容过滤规则(仅管理员)。
安全设置
GET /api/security-settings
PUT /api/security-settings
获取或更新安全设置(仅管理员)。
告警 API (/api/alerts)
告警列表
GET /api/alerts
获取告警列表,支持筛选。
查询参数:
type- 按告警类型筛选severity- 按严重程度筛选unread_only- 仅未读告警(默认:false)limit- 结果数量限制(默认:50)offset- 结果偏移量(默认:0)
未读数量
GET /api/alerts/unread-count
获取未读告警数量。
标记已读
POST /api/alerts/<alert_id>/read
标记告警为已读。
全部标记已读
POST /api/alerts/read-all
标记所有告警为已读。
删除告警
DELETE /api/alerts/<alert_id>
删除告警。
通知偏好设置
GET /api/alerts/preferences
PUT /api/alerts/preferences
获取或更新通知偏好设置。
告警推送流(SSE)
GET /api/alerts/stream
Server-Sent Events 实时告警推送流。
合规 API (/api/compliance)
仅管理员可用的合规报告端点。
报告类型列表
GET /api/compliance/reports
列出可用的报告类型。