docs: 同步 README 与 docs 文档至当前代码状态

- README 补充 PageShell、i18n、Agent CLI、中间件监控等近期功能
- project-structure 重写 api/pages/locales 目录约定
- development-guide 新增 PageShell 与 i18n 开发规范
- PROJECT_SUMMARY 整体重写,移除过时 internal/ 结构
- docs/README 新增 Agent CLI 设计文档索引与近期变更摘要
- dev-log 追加 2026-07-01 变更记录
This commit is contained in:
Logan committed 2026-07-01 12:50:58 +08:00
1 parent e363ded445
commit 4cb0e62857
6 files changed
+300 -278

No files matched your search

+86 -227
View File
@@ -1,266 +1,125 @@
# AIOps 智能运维平台 - 项目总结
> 最新目录结构见 [project-structure.md](./project-structure.md),部署见 [deployment.md](./deployment.md)。
## 项目概述
AIOps 是一个专业的 AIOps 智能运维平台,包含完整的前后端代码,支持云平台服务器资产管理、Kubernetes 集群管理、应用发布、监控告警、审批流程等核心功能。
AIOps 是一个企业级云原生智能运维平台,包含完整的前后端代码与独立 Agent 模块。平台聚焦资产管理、Kubernetes 管理、应用发布、监控告警、自动化运维、审批流程和 AI 智能分析。
## 项目结构
```
/mnt/okcomputer/output/
├── frontend/ # 前端项目 (React + TypeScript + Vite)
│ ├── src/
│ │ ├── components/ # 组件目录
│ │ │ ├── layout/ # 布局组件
│ │ │ ├── dashboard/ # 仪表盘组件
│ │ │ ├── server/ # 服务器管理组件
│ │ │ ├── cloud/ # 云资源管理组件
│ │ │ ├── k8s/ # K8s 管理组件
│ │ │ ├── monitor/ # 监控告警组件
│ │ │ ├── deploy/ # 应用发布组件
│ │ │ ├── approval/ # 审批流程组件
│ │ │ ├── navigation/ # 站内导航组件
│ │ │ ├── automation/ # 自动化运维组件
│ │ │ ├── system/ # 系统管理组件
│ │ │ └── ui/ # UI 组件库
│ │ ├── mocks/ # Mock 数据
│ │ ├── store/ # 状态管理
│ │ ├── types/ # TypeScript 类型定义
│ │ ├── hooks/ # 自定义 Hooks
│ │ ├── lib/ # 工具函数
│ │ ├── App.tsx # 应用入口
│ │ └── main.tsx # 主入口
│ ├── package.json
│ ├── vite.config.ts
│ ├── tailwind.config.js
│ └── ...
aiops/
├── frontend/ # React 19 + TypeScript + Vite
│ ├── src/api/ # API 封装(按菜单域拆分)
│ ├── src/pages/ # 复杂域级页面
│ ├── src/components/ # 业务组件 + layout(PageShell 等)
│ ├── src/locales/ # i18n 翻译 (zh-CN / en-US)
│ └── src/i18n/ # i18next 初始化
│
├── backend/ # 后端项目 (Go + Gin)
│ ├── cmd/
│ │ └── main.go # 应用入口
│ ├── internal/
│ │ ├── api/
│ │ │ ├── handlers/ # HTTP 处理器
│ │ │ ├── middleware/ # 中间件
│ │ │ └── routes/ # 路由注册
│ │ ├── config/ # 配置管理
│ │ └── models/ # 数据模型
│ ├── pkg/
│ │ ├── database/ # 数据库连接
│ │ └── logger/ # 日志工具
│ ├── scripts/ # 脚本文件
│ ├── config.yaml.example # 配置文件示例
│ ├── docker-compose.yml # Docker Compose 配置
│ ├── Dockerfile # Docker 构建文件
│ ├── Makefile # 构建脚本
│ ├── nginx.conf # Nginx 配置
│ ├── go.mod # Go 模块定义
│ └── README.md # 项目说明
├── backend/ # Go 1.24 + Gin + GORM
│ ├── main.go # 应用入口
│ ├── embed.go # go:embed 前端静态资源
│ ├── controller/ # HTTP 处理器(60+ 文件)
│ ├── model/ # GORM 数据模型(86+ 表)
│ ├── router/ # 路由注册
│ └── pkg/ # agentcli / remoteexec / kubernetesclient 等
│
├── BACKEND_SUMMARY.md # 后端项目详细说明
└── PROJECT_SUMMARY.md # 项目总结(本文档)
├── agent/ # 监控 Agent(独立 Go module)
├── docs/ # 开发文档 + Agent CLI 设计文档集
├── deploy/kubernetes/ # K8s 部署清单
├── Dockerfile.embed # 推荐生产镜像
├── docker-compose.yml # 3 容器部署
└── run.sh # 统一入口脚本
```
## 功能特性
### 1. 仪表盘
- 资源概览统计
- 成本费用分析(按云平台、按月维度)
- 告警消息展示
- 资源概览统计、成本费用分析
- Top5 CPU/内存/磁盘使用率
- 证书到期提醒
- 最近告警和发布记录
- 证书到期提醒、最近告警和发布记录
- 国际化支持(dashboard 命名空间)
### 2. 服务器资产管理
- 服务器列表管理
- 批量导入(云主机导入、Excel 导入)
- 远程 WebShell
- 服务器列表 CRUD、批量导入(云主机 / Excel)
- 远程 WebShell(WebSocket + PTY)
- 云账号 / 域名 / 区域 / 云平台 / 账单管理
- 资源模型管理
- 云账号管理
- 域名管理(SSL 证书到期提醒)
- 区域管理
- 云平台管理
### 3. Kubernetes 集群管理
- 集群管理
- 节点管理
- Pod 管理
- Deployment 详情
- Service 详情
- Ingress 详情
- 拓扑架构图
- 多集群接入、节点 / Pod / Workload 管理
- Deployment 三模式编辑器(表单 / YAML / 可视化)
- Pod 终端 / 文件浏览、拓扑架构图
- 国际化支持(k8s 命名空间,184+ 翻译键)
### 4. 监控告警
- 告警规则管理
- 告警事件处理
- 通知渠道配置
- 指标数据展示
- 告警规则 / 事件 / 通知渠道 / 静默规则
- 主机指标采集(Agent 双通道)、SNMP / 站点拨测
- **中间件监控**:Redis / MySQL 后端直连采集
- **日志中心**:Loki / ES 统一查询、日志告警引擎
- Prometheus / Zabbix / Grafana 数据源代理
### 5. 应用发布
- CI/CD 流水线管理
- 发布审批流程
- 发布记录追踪
- 回滚功能
- CI/CD 流水线(GitLab CI 风格可视化)
- 发布配置 / 环境 / 权限管理
- SSH + K8s 双路径部署
- 凭证管理(7 种统一类型)
### 6. 自动化运维
- 定时任务(CronJob)
- 脚本库管理
- 定时任务(CronJob)、脚本库管理
- **远程执行**(Go-native SSH,执行 / 上传)
- 任务执行记录
- Playbook 编排
### 7. 审批流程
- 审批模板管理
- 审批流程创建
- 审批/驳回操作
### 7. AIOps 智能
- AI 智能助手、告警分析、容量预测
- **Agent CLI**:ReAct 16 轮循环 + WebSocket 实时回传 + Evolver 自进化
- 大模型设置(OpenAI 兼容 + Anthropic Messages 双协议)
- 终端审计回放
### 8. 站内导航
- 导航分组管理
- 导航链接管理
- 收藏功能
### 8. 审批流程
- 审批模板 / 流程 / 分类 / 权限管理
- 云服务器 / 应用部署申请
- 国际化支持(approval 命名空间)
### 9. 审计日志
- 操作日志记录
- 日志查询、筛选
- 日志导出
- 日志统计
- 日志清理
### 9. 系统管理
- 用户 / 角色 / RBAC 权限
- 操作审计 / 登录日志 / 终端会话审计
- LDAP 集成、凭证配置
- 7 套主题(CSS 变量驱动)
### 10. 系统管理
- 用户管理
- 角色权限管理
- 系统设置
## UI 设计系统
## 技术栈
- **PageShell**:全站统一页面骨架(标题 / 指标条 / 工具栏 / Tab / 内容区)
- **CSS 设计令牌**:`dg-page*` 类名 + `var(--dg-xxx)` 主题变量
- **7 套主题**:跟随系统、深海蓝、明亮白 + One Dark / Dracula / Tokyo Night / Catppuccin
### 前端
- **框架**: React 18
- **语言**: TypeScript
- **构建工具**: Vite
- **样式**: Tailwind CSS
- **UI 组件**: shadcn/ui
- **状态管理**: Zustand
- **数据获取**: TanStack Query (React Query)
- **路由**: React Router
- **图表**: Recharts
- **图标**: Lucide React
## 技术亮点
### 后端
- **框架**: Gin Web Framework
- **语言**: Go 1.21+
- **ORM**: GORM
- **数据库**: MySQL 8.0+ / PostgreSQL 14+
- **缓存**: Redis (可选)
- **认证**: JWT
- **日志**: Zap
- **配置**: Viper
- **文档**: Swagger
| 特性 | 说明 |
|------|------|
| 单二进制部署 | go:embed 嵌入前端,零外部依赖 |
| 轻量 K8s 客户端 | 自研 HTTP 客户端,不引入 client-go |
| Go-native SSH | 替代 Ansible,零新增依赖 |
| Agent 双通道 | 指标 10s 上报 + 任务 5s 轮询 |
| 凭证驱动 | 7 种凭证类型统一加密存储 |
| 工具懒加载 | kubectl / maven / helm 首次使用自动下载 |
| 国际化 | i18next 中/英双语,按模块命名空间管理 |
## 快速开始
## 部署方式
### 前端
| 方式 | 命令 | 说明 |
|------|------|------|
| 本地开发 | `./run.sh dev` | 5173 + 8080 热重载 |
| 独立二进制 | `./run.sh build` | 产出 `./aiops` |
| Docker Compose | `./run.sh docker up` | MySQL + Redis + AIOps |
| Kubernetes | `./run.sh kubernetes deploy` | devops 命名空间 |
| 一键发版 | `./run.sh release v1.5.0` | tag + 镜像 + 推送 |
```bash
cd app
## 相关文档
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build
```
### 后端
```bash
cd backend
# 安装依赖
go mod download
# 复制配置文件
cp config.yaml.example config.yaml
# 启动数据库
docker-compose up -d mysql redis
# 运行(推荐统一入口)
./run.sh dev
# 或仅后端
cd backend && go run .
```
## API 文档
启动后端服务后,访问 http://localhost:8080/swagger/index.html 查看 Swagger API 文档。
## 部署
> 最新部署方式见 [deployment.md](./deployment.md)。
```bash
# 独立二进制
./run.sh build tag v1.5.0 && ./aiops --mode local
# Docker Compose(embed 单容器 + MySQL + Redis)
./run.sh docker up
# Kubernetes
./run.sh kubernetes deploy
# 发版推送 Docker Hub
./run.sh release v1.5.0 # → lghost/aiops:v1.5.0
```
## 默认账号
- **用户名**: admin
- **密码**: 123456
## 注意事项
1. 生产环境请修改默认的 JWT Secret 和数据库密码
2. 建议启用 HTTPS
3. 配置适当的日志轮转策略
4. 定期备份数据库
5. 启用审计日志功能
## 开发计划
### 已完成
- [x] 前端项目搭建
- [x] 后端项目搭建
- [x] 用户认证系统
- [x] 服务器资产管理
- [x] K8s 集群管理
- [x] 监控告警系统
- [x] 应用发布系统
- [x] 自动化运维
- [x] 审批流程
- [x] 站内导航
- [x] 审计日志
### 待完成
- [ ] WebSocket 实时通知
- [ ] 云平台 API 集成
- [ ] K8s 集群实际连接
- [ ] 告警通知渠道集成
- [ ] 流水线实际执行
- [ ] 自动化任务调度
- [ ] 更多图表和报表
- [ ] 多语言支持
## 贡献指南
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/xxx`)
3. 提交更改 (`git commit -am 'Add xxx'`)
4. 推送到分支 (`git push origin feature/xxx`)
5. 创建 Pull Request
## 许可证
MIT License
- [开发文档索引](./README.md)
- [Agent CLI 设计集](./agent/00-README.md)
- [后端摘要](./BACKEND_SUMMARY.md)
- [API 接口](./api-reference.md)
- [数据库设计](./database-schema.md)