Files
ai-ops/docs/EXECUTION_BOARD.md
2026-05-12 17:48:22 +08:00

92 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI-Ops Phase 1 代码开发执行板
> 状态:开发中
> 最后更新2026-05-11
> 负责人:小龙(统筹)
---
## 一、Phase 1 范围
| 模块 | 功能点 | 工期 | 状态 |
|------|--------|------|------|
| 1.1 监控首页 | 首页布局 + 实时指标 + 供应商数 + 告警数 + 指标下钻 | 5 人天 | 骨架完成 |
| 1.2 日志查询 | 查询页 + 表格展示 + 分页 + CSV 导出 + 超时 + Redis 缓存 | 3 人天 | 骨架完成 |
**总计8 人天**
---
## 二、任务清单
### 模块 1.1:监控首页
| 任务 ID | 任务 | 产出物 | 状态 | 备注 |
|---------|------|--------|------|------|
| C1-01 | 项目初始化go mod + 目录结构) | go.mod + 目录树 | 完成 | 21 个 Go 文件 |
| C1-02 | 基础设施config、database、redis、errors、response | internal/{config,database,redis}/ + pkg/ | 完成 | 待 go mod tidy 下载依赖 |
| C1-03 | Domain 层models + repository 接口) | internal/domain/{model,repository}/ | 完成 | 3 model + 3 interface |
| C1-04 | Infra 层PostgreSQL 实现) | internal/infra/repository/pg_*.go | 完成 | 3 个 repository |
| C1-05 | Service 层metrics + log 业务逻辑) | internal/service/*.go | 完成 | 含 CSV 导出、Redis 缓存 |
| C1-06 | Handler 层HTTP API | internal/handler/*.go | 完成 | 7 个 API 端点 |
| C1-07 | Middlewareauth、logging、recovery | internal/middleware/*.go | 完成 | JWT + API Key 双鉴权 |
| C1-08 | 首页路由 /ops/dashboard | dashboard_handler.go | 完成 | 内联模板,待优化为文件模板 |
| C1-09 | 实时指标 API /api/v1/ai-ops/metrics/realtime | metric_handler.go | 完成 | 查询 ai_ops_metrics 表 |
| C1-10 | 供应商数量 API /api/v1/ai-ops/metrics/suppliers/count | metric_handler.go | 完成 | 基于 supplier_health 指标 |
| C1-11 | 告警数量 API /api/v1/ai-ops/alerts/open/count | metric_handler.go | 完成 | 查询 ai_ops_alerts 表 |
| C1-12 | 指标下钻 API /api/v1/ai-ops/metrics/query | metric_handler.go | 完成 | 支持时间范围过滤 |
| C1-13 | 前端模板优化 | web/templates/*.html | 待办 | 当前为内联模板 |
### 模块 1.2:日志查询
| 任务 ID | 任务 | 产出物 | 状态 | 备注 |
|---------|------|--------|------|------|
| C2-01 | 日志查询页路由 /ops/dashboard/logs | dashboard_handler.go | 完成 | 内联模板 |
| C2-02 | 日志查询 API /api/v1/ai-ops/logs | log_handler.go | 完成 | 支持分页 + 多维度筛选 |
| C2-03 | CSV 导出 /api/v1/ai-ops/logs/export | log_handler.go | 完成 | 上限 10000 条 |
| C2-04 | 查询超时逻辑 | log_service.go | 完成 | 3 秒超时 |
| C2-05 | Redis 缓存5 分钟 TTL | log_service.go | 完成 | 基于筛选条件构建缓存键 |
| C2-06 | 日志表 migration | tech/migrations/000002_create_request_logs.up.sql | 完成 | 7 个索引 |
### 通用任务
| 任务 ID | 任务 | 产出物 | 状态 | 备注 |
|---------|------|--------|------|------|
| C0-01 | 基础测试service + handler mock 测试) | *_test.go | 完成 | 2 个测试文件 |
| C0-02 | 编译验证 | go build | 阻塞 | 缺少 go.sum需运行 go mod tidy |
| C0-03 | 性能测试脚本k6 | test/perf/ | 待办 | Phase 1 功能清单未要求,可延后 |
| C0-04 | 配置示例 | config.yaml | 完成 | 支持环境变量覆盖 |
---
## 三、API 端点清单
| 方法 | 路径 | 说明 | 状态 |
|------|------|------|------|
| GET | /ops/dashboard | 监控首页 | 完成 |
| GET | /ops/dashboard/logs | 日志查询页 | 完成 |
| GET | /api/v1/ai-ops/metrics/realtime | 实时指标QPS/延迟/P99/错误率) | 完成 |
| GET | /api/v1/ai-ops/metrics/suppliers/count | 活跃供应商数量 | 完成 |
| GET | /api/v1/ai-ops/alerts/open/count | 未关闭告警数量 | 完成 |
| GET | /api/v1/ai-ops/metrics/query | 指标下钻查询 | 完成 |
| GET | /api/v1/ai-ops/logs | 日志查询(分页) | 完成 |
| GET | /api/v1/ai-ops/logs/export | 日志导出 CSV | 完成 |
| GET | /health | 健康检查 | 完成 |
---
## 四、阻塞项
| 阻塞项 | 影响 | 解决方案 | 负责人 |
|--------|------|----------|--------|
| go.sum 缺失 | 无法编译运行 | 运行 `go mod tidy` 下载依赖并生成 go.sum | 用户/运维 |
---
## 五、下一步行动
1. **编译验证**:运行 `go mod tidy` + `go build ./...` 解决依赖和编译错误
2. **模板分离**:将内联 HTML 模板提取到 `web/templates/` 目录
3. **集成测试**:补充数据库集成测试(使用 testcontainers 或内存 PostgreSQL
4. **Phase 1 验收**:所有 API 可访问,日志查询响应 <1sCSV 导出正常