Skip to content

int2t05/OpsMind

Repository files navigation

🤖 OpsMind — 运维数字员工系统

Go Vue PostgreSQL pgvector License

本地化大模型驱动的企业运维 AI 数字员工 — 基于 Go + Vue 3 分层架构,自建 Go RAG 引擎(BM25 + pgvector 混合检索),支持智能问答、申告全流程、知识库管理和 RBAC 权限控制,完全私有部署。

功能特性

模块 特性
🤖 智能问答 自建 RAG 管道(查询改写→多路检索→混合检索→重排序→LLM 生成),SSE 流式输出
📚 知识库 统一文章模型 + 审核发布 + 自动向量写入 pgvector + 多格式文档上传
🎫 申告管理 完整状态机(待处理→处理中→需补充→已解决/已关闭),站内消息通知
👥 用户权限 JWT 认证 + RBAC 角色权限,菜单动态渲染,密码策略强制
⚙️ LLM 配置 llama.cpp / OpenAI-compatible 双支持,热替换无需重启
📊 数据看板 实时统计卡片 + 趋势图,问答量/置信度一目了然
📝 审计日志 敏感操作全量记录,支持按操作类型/操作人筛选
🐳 一键部署 Docker Compose 4 服务编排(+ 可选 llama.cpp)

技术栈

层级 技术 说明
后端框架 Go 1.22+ / Gin 1.9+ REST API + SSE 流式
ORM GORM v1.25+ PostgreSQL 数据访问 + AutoMigrate
数据库 PostgreSQL 18 + pgvector 业务数据 + HNSW 向量索引(halfvec)
RAG 引擎 自建 Go 模块(rag/ BM25 + 向量混合检索 + RRF 融合 + 重排序
中文分词 gse(纯 Go) BM25 分词,无 CGO 依赖
LLM/Embedding llama.cpp server 或 OpenAI-compatible API 后台管理 UI 配置
对象存储 MinIO S3-compatible,文档 + 附件
认证 JWT (golang-jwt v5) + bcrypt access_token 2h + refresh_token 7d
前端框架 Vue 3.4+ / TypeScript Composition API + script setup
UI 组件 Naive UI + Radix Vue Tree-shakable,暗色主题
状态管理 Pinia 2.1+ auth / chat / app 三个 store
部署 Docker Compose 4 必须服务 + 1 可选 (llama.cpp)

快速启动

前置条件

  • Docker Desktop 4.x+(含 Docker Compose v2)
  • 磁盘空间 ≥ 10 GB
  • 内存 ≥ 8 GB

一键启动

git clone https://github.com/int2t05/OpsMind.git
cd OpsMind
cp .env.example .env
# 编辑 .env,至少设置 JWT_SECRET 和 LLM_BASE_URL
make up

等待约 1 分钟,访问:

配置 LLM(可选)

OpsMind 的基础功能(认证、用户管理、申告管理)不依赖 AI 模型。智能问答和知识库检索需要 LLM + Embedding 服务。

方案 成本 延迟 数据隐私 配置难度
本地 llama.cpp 免费 ✅ 完全本地 ⭐⭐⭐
OpenAI API 按量付费 ❌ 上传云端
DeepSeek / 其他兼容 API 各异 各异 各异

配置方式:在 .env 中设置 LLM_BASE_URL / LLM_API_KEY / LLM_MODEL 等变量,或在后台管理「LLM 配置」页面管理。

默认账号

加载演示数据后可用:

账号 密码 角色
admin Admin@123 系统管理员
operator1 Operator@123 运维人员
knowledge Knowledge@123 知识库管理员
reporter1 Reporter@123 报障人
docker compose exec -T postgres psql -U opsmind -d opsmind < server/migrations/seed.sql

项目结构

OpsMind/
├── server/                            # Go 后端
│   ├── cmd/main.go                    # 入口(DB→Repo→Service→Handler→Router→Scheduler)
│   ├── internal/
│   │   ├── config/                    # Viper 配置管理
│   │   ├── database/                  # GORM 连接 + AutoMigrate
│   │   ├── middleware/                # JWT / RBAC / CORS / Logger / RequestID
│   │   ├── router/                    # Gin 路由(public / portal / admin)
│   │   ├── handler/                   # Handler 层(10 模块 + common.go)
│   │   ├── service/                   # Service 层(12 服务 + LLM 配置管理)
│   │   ├── repository/                # Repository 层(9 Repo + pagination.go)
│   │   ├── model/                     # GORM 数据模型
│   │   ├── rag/                       # RAG 引擎(Pipeline / BM25 / Hybrid / Rerank / Processor)
│   │   ├── adapter/                   # 外部适配层(LLMClient / EmbeddingClient / VectorStore / StorageClient)
│   │   └── dto/                       # 请求/响应 DTO
│   ├── pkg/                           # 公共工具(errcode / jwt / hash / response)
│   ├── migrations/                    # DDL + 演示数据
│   └── tests/                         # 测试代码
│
├── web/                               # Vue 3 前端
│   ├── src/
│   │   ├── api/                       # Axios API 封装
│   │   ├── stores/                    # Pinia 状态管理
│   │   ├── router/                    # Vue Router + 路由守卫
│   │   ├── views/                     # 页面(auth / admin / portal)
│   │   ├── components/                # 通用组件
│   │   └── utils/                     # 工具函数
│   └── nginx.conf                     # Nginx 配置
│
├── test/                              # Playwright API 集成测试(116 个)
├── docs/                              # 项目文档
│   ├── PRD.md                         # 产品需求文档
│   ├── TECH.md                        # 技术架构文档
│   ├── API/                           # REST API 接口文档(9 组)
│   ├── diagrams/                      # 架构图(Mermaid)
│   └── prompts/                       # 设计系统约束
├── docker-compose.yml                 # Docker 4 服务编排
├── Makefile                           # 构建和开发命令
└── CLAUDE.md                          # 项目上下文指令

常用命令

# 后端
cd server
go build ./cmd/...                    # 编译
go run ./cmd/main.go                   # 运行
go test ./tests/... -v                 # 测试

# 前端
cd web
npm install && npm run dev             # 开发 (localhost:5173)
npm run build                          # 生产构建

# Docker
docker compose up -d --build           # 启动
docker compose --profile ai-local up -d --build  # 含 llama.cpp
docker compose down                    # 停止

# API 集成测试
cd test && npm install && npm run test:auth && npm run test

文档

文档 说明
PRD.md 产品需求文档
TECH.md 技术架构文档
API/ REST API 接口文档(9 组)
diagrams/ 架构图和数据流图
CLAUDE.md 项目上下文指令(AI 开发辅助)

参与贡献

本项目采用 MIT 许可证,欢迎提交 Issue 和 Pull Request。

About

本地化大模型驱动的企业运维 AI 数字员工 — Go + Vue 3 全栈,集成 AnythingLLM RAG 实现智能问答、申告管理和知识库审核发布,支持完全私有部署。

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors