Files
aiops/docs/project-structure.md
Logan.Li e0d652d211 feat: 完善堡垒机与 Agent 智能运维能力
- 支持 Windows Agent 构建、安装脚本和统一上报协议

- 增强 RDP 剪贴板、虚拟盘和文件传输能力

- 新增 AIOps 上下文工具、告警 RCA trace 落库和回放接口

- 重构 docs 模块文档并补充终端、堡垒机、监控、AI Agent 设计
2026-07-05 23:49:36 +08:00

9.2 KiB
Raw Permalink Blame History

项目结构

整体结构

aiops/
├── frontend/                    # 前端 (React 19 + TypeScript + Vite)
│   ├── src/
│   │   ├── api/                 # API 封装(按菜单域拆分,http.ts 自动解包 .data)
│   │   │   ├── server/          # 服务器 / 区域 / 资源模型
│   │   │   ├── kubernetes/      # K8s 集群 / Pod / Workload
│   │   │   ├── monitor/         # 告警 / 指标 / 数据源 / Grafana
│   │   │   ├── log/             # 日志中心(Loki / ES 代理查询)
│   │   │   ├── deploy/          # 流水线 / 发布 / 凭证
│   │   │   ├── task/            # 定时任务 / 脚本库 / 远程执行
│   │   │   ├── approval/        # 审批流程
│   │   │   ├── audit/           # 操作审计 / 终端审计
│   │   │   ├── aiops/           # AI 助手 / Agent CLI
│   │   │   ├── cloud/           # 云账号 / 域名 / 账单
│   │   │   ├── system/          # 用户 / 角色
│   │   │   └── agent/           # Agent 监控
│   │   ├── pages/               # 复杂域级页面(从 components 迁入)
│   │   │   ├── monitor/         # 监控中心 / 主机监控 / 中间件 / SNMP / 站点
│   │   │   ├── approval/        # 审批分类 / 流程 / 权限
│   │   │   └── audit/           # 操作审计 / 登录日志 / 终端审计回放
│   │   ├── components/          # 业务组件 + 布局
│   │   │   ├── layout/          # PageShell / Sidebar / Header / ThemePicker
│   │   │   ├── dashboard/       # 仪表盘
│   │   │   ├── server/          # 服务器管理
│   │   │   ├── k8s/             # K8s 集群管理
│   │   │   ├── monitor/         # 告警中心 / 日志中心 / 数据源
│   │   │   ├── deploy/          # CI/CD 流水线
│   │   │   ├── task/            # 定时任务 / 脚本库 / 远程执行
│   │   │   ├── aiops/           # AI 助手 / Agent CLI / 大模型设置
│   │   │   ├── cloud/           # 云资源
│   │   │   ├── approval/        # 审批组件(对话框 / 流程图)
│   │   │   ├── system/          # 系统管理
│   │   │   └── ui/              # shadcn/ui 基础组件
│   │   ├── locales/             # i18n 翻译 (zh-CN.json / en-US.json)
│   │   ├── i18n/                # i18next 初始化
│   │   ├── hooks/               # useTheme / useConfirm / usePermission 等
│   │   ├── store/               # Zustand 状态管理
│   │   ├── types/               # TypeScript 类型(按域拆分)
│   │   ├── utils/               # 主题 / 权限 / 导出 / 校验工具
│   │   └── lib/                 # 通用工具(cn 等)
│   ├── package.json
│   ├── vite.config.ts           # 代理 /api、/ws、/health、/version 到 :8080
│   └── Dockerfile               # [legacy] 独立 Nginx 镜像
│
├── backend/                     # 后端 (Go 1.24 + Gin + GORM)
│   ├── main.go                  # 应用入口(CLI + HTTP 服务)
│   ├── embed.go                 # go:embed 前端静态资源
│   ├── static/                  # 前端构建产物(embed 目录)
│   ├── config/                  # Viper 配置加载
│   ├── controller/              # HTTP 处理器(60+ 文件按领域拆分)
│   ├── middleware/              # JWT / Admin / PipelineAccess / CORS / 日志
│   ├── router/                  # 路由注册(~1000 行)
│   ├── model/                   # GORM 数据模型(86+ 表)
│   ├── dto/                     # 请求/响应 DTO
│   ├── service/                 # 业务逻辑层
│   ├── repository/              # 数据访问层
│   ├── seed/                    # 种子数据
│   ├── pkg/                     # 公共包
│   │   ├── database/            # DB 连接 + AutoMigrate
│   │   ├── kubernetesclient/    # 轻量 K8s 客户端
│   │   ├── remoteexec/          # Go-native SSH 远程执行
│   │   ├── agentcli/            # AI 运维 Agent 引擎(ReAct + Evolver)
│   │   ├── toolinstaller/       # 工具懒加载(kubectl/maven/helm 等)
│   │   ├── redis/               # Redis 连接
│   │   ├── logger/              # Zap 日志
│   │   └── wshub/               # WebSocket Hub
│   ├── config.yaml              # 默认配置
│   └── Dockerfile               # [legacy] 分离式后端镜像
│
├── agent/                       # 监控 Agent(独立 Go module)
│   ├── main.go                  # CLI 入口
│   ├── collector/               # /proc 指标采集
│   ├── task/                    # 远程任务执行
│   ├── reporter/                # HTTP 上报
│   └── deploy/                  # install.sh + systemd
│
├── docs/                        # 开发文档
│   ├── README.md                # 文档总索引
│   ├── quick-start.md           # 快速开始
│   ├── deployment.md            # 部署指南
│   ├── development-guide.md     # 开发规范
│   ├── project-structure.md     # 当前文档
│   ├── ai-agent/                # AI Agent / Agent CLI 设计文档集
│   ├── client-agent/            # 客户端 Agent 采集与任务规格
│   ├── security-bastion/        # 安全审计与堡垒机
│   ├── monitoring/              # 监控中心
│   ├── log-center/              # 日志中心
│   ├── asset-credential/        # 资产与凭证
│   ├── kubernetes/              # Kubernetes 管理
│   ├── automation-deploy/       # 自动化运维与发布
│   ├── terminal/                # 字符终端体系
│   ├── rdp/                     # Web RDP 图形桌面
│   ├── reference/               # API / 数据库参考
│   ├── platform/                # Redis/redka 等平台基础能力
│   └── frontend/                # 前端设计系统与视觉规范
├── deploy/kubernetes/           # K8s 清单 (devops 命名空间)
├── docker-compose.yml           # MySQL + Redis + AIOps embed
├── docker-compose.k8s.yml       # 单应用 + 外部 DB
├── Dockerfile             # embed 单容器镜像(推荐)
├── run.sh                       # 统一入口脚本
├── aiops                        # 独立二进制产物(gitignore)
└── README.md

前端目录约定

api/ vs pages/ vs components/

目录 职责 示例
api/ HTTP 请求封装,按菜单域分子目录 api/monitor/alert.ts、api/task/remote-exec.ts
pages/ 复杂多 Tab / 多子面板页面,域级路由入口 pages/monitor/HostMonitor.tsx、pages/audit/TerminalAuditTab.tsx
components/ 可复用业务组件、对话框、列表项 components/monitor/log-center/LogCenter.tsx

迁移原则:简单 CRUD 页面留在 components/,多 Tab + 子模块拆分的复杂页面迁入 pages/。

布局与设计系统

组件 / 类名 说明
PageShell 统一页面骨架:标题 / 指标条 / 工具栏 / Tab / 内容区
PageTabs Tab 切换栏(dg-page-tab 样式)
ContentPanel 内容区面板容器
dg-page* CSS 设计令牌(定义于 index.css,主题变量驱动)
ThemePicker 7 套主题切换(跟随系统 + 6 款配色)

部署相关文件

文件 用途
run.sh build / docker / kubernetes / release 统一入口
Dockerfile 生产推荐:前端嵌入后端单容器
docker-compose.yml 3 容器:MySQL + Redis + AIOps
backend/static/ go:embed 目标,由 ./run.sh build 同步
./aiops 独立二进制输出路径(项目根目录)

技术栈

前端

技术 版本 用途
React 19+ 前端框架
TypeScript 5+ 类型安全
Vite 7+ 构建工具
Tailwind CSS 3+ 样式框架
shadcn/ui - UI 组件库
Zustand 5+ 状态管理
TanStack Query 5+ 数据请求
i18next - 国际化(zh-CN / en-US)

后端

技术 版本 用途
Go 1.24+ 编程语言
Gin v1.9+ Web 框架
GORM v1.30+ ORM
JWT v5 认证
Viper - 配置管理
Zap - 结构化日志
SQLite / MySQL / Redis - 存储

端口分配

服务 端口 说明
前端 (Vite dev) 5173 开发模式
后端 / embed 部署 8080 API + WebSocket + SPA
Docker Compose MySQL 3306 可选暴露
K8s NodePort 30080 集群外访问

版本信息注入

编译时通过 ldflags 注入 main.Version / BuildTime / GitCommit:

  • ./run.sh build / ./run.sh build tag v1.5.0
  • Dockerfile 构建参数 VERSION / BUILD_TIME / GIT_COMMIT
  • 运行时:./aiops version、GET /version