跳转至

目录结构

分层

每个模块内部严格三层:

Controller(HTTP handler):参数解析校验、调用 Service、组装响应
    → Service(业务逻辑):编排 Repository 与系统资源、事务边界
    → Repository(GORM):纯数据访问,不写业务

目录组织

opsmini/
├── cmd/
│   └── agent/main.go          # 主程序入口
├── internal/
│   ├── router/                # 路由注册、API 版本
│   ├── middleware/            # 认证、权限、审计、限流、安全入口
│   ├── api/v1/                # Controller(按模块分包)
│   ├── service/               # Service(按模块分包)
│   ├── repository/            # Repository(按模块分包)
│   ├── model/                 # GORM 数据模型
│   ├── config/                # 配置加载
│   └── pkg/                   # 通用工具(jwt/response/store)
├── web/                       # Vue3 前端(构建后 embed)
│   ├── index.html             # SPA 入口
│   └── static/                # echarts/vue/xterm 等静态库
├── configs/                   # 默认配置示例
├── docs/                      # 文档
└── install/                   # 一键安装脚本

关键模块

模块 职责
auth 登录 / 退出、会话、2FA、RBAC
setting 面板配置、主题、菜单显隐、语言
dashboard / monitor 指标聚合、时序采集、告警规则
website / database / appstore 网站、数据库、软件商店
container Docker 容器 / 镜像 / 卷 / 网络
system / file / terminal 系统资源、文件、Web 终端
cron / log 计划任务、日志
ai LLM 接入、上下文、NL 执行
security 基线、FIM、威胁、防火墙、登录安全
agent 对外 REST API(/agent/v1)