Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

int2t05/OpsMind

Repository files navigation

🤖 OpsMind — 运维数字员工系统

Go Vue PostgreSQL pgvector Docker License Tests

私有部署的 AI 运维助手 — 自建 Go RAG 引擎,BM25 + 向量混合检索,SSE 流式问答,申告全流程管理,一体 Docker Compose 部署。

为什么选择 OpsMind

大多数 AI 运维方案要么把数据交给云端,要么拼凑多个开源组件却无法协同。OpsMind 提供了一条不同的路径:

  • 数据不出机房 — 本地 LLM + 本地 Embedding + 本地向量库,所有数据完全私有
  • 自建 RAG,不依赖 LangChain — 纯 Go 实现的完整检索增强管道,零外部 RAG 框架依赖
  • 开箱即用make up 一条命令启动 4 个服务,5 分钟内开始使用
  • 生产就绪 — 208 条 TODO 已在 docs/TODO.md 中按优先级审计追踪

功能特性

模块 特性
🤖 智能问答 自建 RAG 管道(查询改写→多路检索→BM25+向量混合→RRF融合→重排序→LLM生成),SSE 流式输出
📚 知识库 统一文章模型 + 审核→发布工作流 + 自动向量写入 pgvector + PDF/DOCX/MD/TXT 异步处理
🎫 申告管理 完整状态机(待处理→处理中→需补充→已解决/已关闭),站内消息通知,自动过期关闭
👥 RBAC 权限 JWT 双令牌认证 + 角色权限控制 + 菜单动态渲染 + bcrypt 密码策略
⚙️ LLM 配置 llama.cpp / OpenAI / DeepSeek 等多提供商支持,atomic.Value 热替换无需重启
📊 数据看板 实时统计卡片 + 趋势图,问答量/置信度/申告量一目了然
📝 审计日志 敏感操作全量记录,支持按操作类型和操作人筛选
🐳 一键部署 Docker Compose 编排(PostgreSQL+pgvector / MinIO / Server / Web + 可选 llama.cpp)

技术栈

层级 技术 说明
后端框架 Go 1.22+ / Gin 1.9+ REST API + SSE 流式,分层架构
ORM GORM v1.25+ PostgreSQL 数据访问 + AutoMigrate
数据库 PostgreSQL 18 + pgvector 业务数据 + halfvec 向量 / HNSW 索引
RAG 引擎 自建 Go(rag/ 包) BM25 + 向量混合检索 + RRF 融合 + 重排序
中文分词 gse(纯 Go) BM25 分词,无 CGO,跨平台
LLM / Embedding llama.cpp / OpenAI / DeepSeek UI 配置,热切换,独立 URL 和 API Key
对象存储 MinIO S3-compatible,文档上传 + 异步解析
认证 JWT(golang-jwt v5)+ bcrypt access_token 2h + refresh_token 7d
前端 Vue 3.4+ / TypeScript Composition API + Naive UI 暗色主题
部署 Docker Compose + Makefile 4 必须服务 + 1 可选(llama.cpp),支持 profile

快速启动

前置条件

  • 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 分钟:

地址 说明
http://localhost:5173 前端(Vite)
http://localhost:8080 后端 API
http://localhost:9001 MinIO 控制台

LLM/Embedding 服务是可选的——基础功能(认证、用户管理、申告管理)不依赖 AI 模型。在 .env 中配置 LLM_BASE_URL 或在后台「LLM 配置」页面管理。

# 加载演示数据(含预置账号)
docker compose exec -T postgres psql -U opsmind -d opsmind < server/migrations/001_init.sql

预置账号:

账号 密码 角色
admin Admin@123 系统管理员
operator1 Operator@123 运维人员
knowledge Knowledge@123 知识库管理员
reporter1 Reporter@123 报障人

本地开发

依赖服务(Docker)

make dev # 启动 PostgreSQL + MinIO

后端

cd server
go mod tidy
go run ./cmd/main.go # :8080,GORM AutoMigrate
make seed # 加载演示数据

前端

cd web
npm install
npm run dev # :5173,自动代理 /api → :8080

运行测试

# Go 测试(12 包,需 PostgreSQL + pgvector)
cd server
go test ./tests/... -v -tags=integration -p 1
# API 集成测试(Playwright,129 个)
cd test
npm install && npm run test

项目结构

OpsMind/
├── server/ # Go 后端(分层架构)
│ ├── cmd/main.go # 入口
│ ├── internal/
│ │ ├── handler/ # HTTP Handler(10 模块)
│ │ ├── service/ # 业务逻辑(12 服务)
│ │ ├── repository/ # 数据访问(9 Repo)
│ │ ├── model/ # GORM 模型
│ │ ├── rag/ # 自建 RAG 引擎(Pipeline/BM25/Hybrid/Processor)
│ │ ├── adapter/ # LLM/Embedding/Vector/Storage 适配层
│ │ ├── middleware/ # JWT/RBAC/CORS/Logger
│ │ └── router/ # Gin 路由注册
│ ├── pkg/ # 公共工具(errcode/jwt/hash/response)
│ └── tests/ # Go 集成测试(12 包)
│
├── web/ # Vue 3 前端
│ └── src/{api,stores,router,views,components,utils}/
│
├── test/ # Playwright API 测试(129 个)
├── docs/ # 文档(PRD/TECH/API/TODO)
├── docker-compose.yml
├── Makefile
└── CLAUDE.md

改进路线

从 76 个源文件审计出 208 条改进项,详见 docs/TODO.md。概要:

优先级 数量 聚焦领域
🔴 P0 58 并发安全、事务原子性、静默错误、配置安全
🟡 P1 107 架构对齐、context 传播、RAG 管道优化、API 规范
🟢 P2 43 代码风格、单元测试、工具函数提取

文档

文档 说明
PRD.md 产品需求文档
TECH.md 技术架构文档
API/ REST API 接口文档(9 组)
TODO.md 代码改进清单(208 条)
CLAUDE.md 项目上下文指令

许可证

MIT — 可自由使用、修改和分发。

About

私有部署的 AI 运维数字员工 — 自建 Go RAG 引擎(BM25+向量混合检索+RRF融合), SSE 流式问答,申告全流程管理,知识库审核发布。PostgreSQL+pgvector+MinIO, Docker Compose 一键部署。支持 llama.cpp / OpenAI / DeepSeek。

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /