OpsNav 运维导航平台
项目名称:OpsNav
核心定位:统一运维门户
📌 一句话介绍
OpsNav 是一款基于 Go + Vue 3 构建的、隐私优先、高颜值的企业级统一运维门户导航平台,旨在为运维与研发团队提供一个清爽、高速、集中的导航中心。
🎯 为什么需要 OpsNav?
在复杂的企业 IT 环境中,运维和研发人员通常面临以下痛点:
- 入口分散:各种监控、日志、代码、发布系统入口各异,查找效率低下。
- 管理混乱:传统书签无法共享,新员工入职需要耗费大量时间熟悉系统分布。
- 视觉枯燥:大多数运维平台界面生硬,缺乏现代感,长期使用易产生视觉疲劳。
- 权限难管控:无法针对不同职能角色精细化展示其所需的系统入口。
OpsNav 不是简单的网址收藏夹,它是企业运维体系的“第一入口”,通过 毛玻璃拟态 设计和 RBAC 权限体系,让查找平台变得前所未有的简单与优雅。
开源仓库
- GitHub: https://github.com/ghl1024/OpsNav
- Gitee: https://gitee.com/ghl1024/OpsNav
- CNB: https://cnb.cool/ghl1024/OpsNav
- 博客:https://hayden.pub
🌐 演示站点:https://opsnav.hayden.pub (账号: admin / 密码: admin123)
🗺️ 功能全景图
1. 极速导航门户
- ✅ 动态分类筛选:支持根据分组实时切换,响应极速。
- ✅ 全局模糊搜索:基于名称、域名、标签及描述的秒级检索。
- ✅ 个人收藏系统:一键收藏常用站点,支持专属的金边发光视觉标识。
- ✅ 地址查重机制:内置 URL 唯一性驱动,杜绝重复申请与冗余收录。
- ✅ 卡片交互动效:超轻量级 hover 浮动与色彩高亮反馈。
2. 视觉与主题系统
- ✅ 高辨识度三系主题:
- 云岚蓝:清新电光感,适合日间高强度办公。
- 青屿绿:森林日光感,主打视觉护眼与呼吸感。
- 深海夜:极地紫质感,适配暗黑开发环境。
- ✅ 极光背景引擎:全屏 A/B 双色调液态流体动效,大跨度全屏巡航。
- ✅ 毛玻璃视觉:全站采用
backdrop-filter柔和渲染,层次分明。 - ✅ 大屏宽屏适配:内容区块自适应 100% 宽度,完美兼容 2K/4K 生产力显示器。
3. 企业级 LDAP/AD 集成
- ✅ 全自动开户同步:域账号首次登录即触发现场开户与角色分配。
- ✅ 分页同步支持:内建 Paged Results 支持,轻松承载过万组织架构。
- ✅ 配置自愈能力:对常见 LDAP 属性自动补全与协议兼容,降低部署门槛。
- ✅ 调度控制中心:支持在 UI 界面实时修改 Cron 同步周期,无需重启服务。
4. 智能通知引擎
- ✅ 多渠道通知:原生支持飞书、钉钉、企业微信机器人。
- ✅ 交互式消息卡片:飞书 Card / 钉钉 Markdown 渲染,包含申请详情与操作人。
- ✅ 一键跳转审批:通知消息内嵌前端直达链接,实现即收即批的极速流程。
- ✅ 地址查重拦截:重复申请在提交瞬间即刻拦截并精准吐回冲突原因。
5. 用户与权限管理 (RBAC)
- ✅ 多层级权限拦截:支持到菜单级、按钮级的粒度控制。
- ✅ 账户源追踪:清晰标记 Local 或 LDAP 来源,支持行内开关控制账号状态。
- ✅ 批量账户管理:支持职能角色的快速分配与回收。
6. 安全与审计中心
- ✅ 全景审计日志:记录 Operator、Method、Path、IP 及耗时。
- ✅ 扁平化展示:专属审计透视图,大屏模式下支持单行紧凑排版。
- ✅ 物理日志切割:基于时间维度的自动切割(按天/按月)与归档清理。
🛠️ 技术架构与版本依赖
本项目采用标准的前后端分离全栈架构,核心依赖项及建议版本如下:
服务端
| 组件/框架 | 建议版本 | 说明/用途 |
|---|---|---|
| Golang | v1.25+ | 强劲的高性能底层支撑 |
| Gin | v1.12 | Web 服务框架,负责快速路由映射 |
| Gorm | v1.31 | ORM 框架,处理数据实体转化与自动建表 |
| Golang-JWT | v5.3 | 鉴权模块,结合中间件构建安全签发 |
| robfig/cron | v3.0 | 定时任务调度,驱动动态任务引擎 |
| go-ldap/ldap | v3.4 | LDAP/AD 协议通信,支撑企业目录集成 |
WEB端
| 组件/库 | 建议版本 | 说明/用途 |
|---|---|---|
| Vue | v3.5.24 | 渐进式 JavaScript 框架 |
| Vite | v6.3.0 | 下一代前端构建工具 |
| Element-Plus | v2.13.0 | UI 组件库,深度定制毛玻璃质感主题 |
| Pinia | v3.0.4 | 轻量化状态管理工具 |
| Vue-Router | v4.6.4 | 官方路由管理器 |
🚀 快速起步 (部署方案)
根据您的使用场景,选择以下三种模式之一进行部署。
💡 模式切换
后端支持通过 APP_ENV 环境变量选择配置文件(对应 configs/config-{APP_ENV}.toml)。
🟢 模式 A:本地源码拉取启动 (适合开发/调试)
如果您需要修改源码并预览效果,请按此步骤执行:
1. 准备工作
- 安装 Go 1.24+ 和 Node.js 18+。
- 准备 MySQL 8.0+ 数据库,执行
backend/migrations/init.sql进行初始化。
2. 启动后端 (Go)
# 安装依赖
cd backend
go mod tidy
# 启动开发环境,使用配置文件为 configs/config-dev.toml
go run cmd/server/main.go --env=dev
# 启动生产环境,使用配置文件为 configs/config-prod.toml
go run cmd/server/main.go --env=prod3. 启动前端 (Vue)
# 安装依赖
cd frontend
npm install
# 启动开发环境,默认访问 http://localhost:3000
npm run dev
# 启动线上环境,结合Nginx将打包后的dist目录放到对应的位置
npm run build:prod4. 登录系统
- 访问:http://localhost:3000
- 用户名密码:
admin/admin123
🔵 模式 B:Docker-Compose 一键启动 (本地编译)
适合在本地环境通过容器化方式完整拉起整个项目。 使用的配置文件为
configs/config-docker.toml使用的docker-compose文件为docker-compose.yml
# 在项目根目录执行
cd OpsNav
docker-compose up -d --build
# 删除服务
docker-compose down -v说明:此命令会根据本地
Dockerfile现场编译前端和后端镜像,耗时取决于您的网络与机器性能。后端会自动处理数据库初始化。
🟣 模式 C:Docker-Compose 一键快速启动 (官方镜像)
适合生产部署或快速拉起。镜像通过 CI/CD 自动构建并推送至阿里云 ACR,无需本地编译。 使用的配置文件为
configs/config-docker.toml使用的docker-compose文件为docker-compose.image.yml
# 使用预编译镜像启动
cd OpsNav
docker-compose -f docker-compose.image.yml up -d
# 删除服务
docker-compose -f docker-compose.image.yml down -v🔴 模式 D:极速体验模式 (无需拉取源码)
- 推荐方案:适合临时体验或快速预览。无需
git clone任何代码,直接使用预编译镜像启动。 - 前提条件:本地已安装
Docker。
方案 1:使用 Docker-Compose (推荐)
通过远程拉取配置文件,一键拉起全套服务(含 MySQL)。
# 1. 下载远程部署配置文件
curl -L https://raw.githubusercontent.com/ghl1024/OpsNav/main/docker-compose.image.yml -o docker-compose.yml
# 2. 一键启动
docker-compose up -d
# 3. 停止并删除服务 (可选)
docker-compose down -v方案 2:纯 Docker 命令启动
如果您不想使用 Docker-Compose,也可以通过纯 Docker 命令手动拉起(需先创建网络):
# 1. 创建专用网络
docker network create opsnav-net
# 2. 启动 MySQL
docker run -d --name opsnav-mysql \
--network opsnav-net \
-e MYSQL_ROOT_PASSWORD=opsnav_password \
-e MYSQL_DATABASE=opsnav \
-e MYSQL_USER=opsnav \
-e MYSQL_PASSWORD=opsnav_password \
registry.cn-beijing.aliyuncs.com/guohailiang/mysql:8.3.0
# 3. 启动后端 (连接到 mysql 容器)
docker run -d --name opsnav-backend \
--network opsnav-net \
-p 8080:8080 \
-e DB_HOST=opsnav-mysql \
-e DB_USER=opsnav \
-e DB_PASSWORD=opsnav_password \
registry.cn-beijing.aliyuncs.com/guohailiang/opsnav-backend:latest
# 4. 启动前端
docker run -d --name opsnav-frontend \
--network opsnav-net \
-p 80:80 \
registry.cn-beijing.aliyuncs.com/guohailiang/opsnav-frontend:latest
# 停止并删除容器 (可选)
docker rm -f opsnav-backend opsnav-frontend opsnav-mysql
docker network rm opsnav-net提示:由于该模式下没有本地
init.sql环境,MySQL 启动后会自动创建空表。首次进入系统(admin/admin123),建议通过“系统管理”完成基础配置。
⚙️ 系统初始化
启动成功后,浏览器访问:http://localhost (模式 B/C) 或 http://localhost:3000 (模式 A)。
🔐 默认超级管理员账号
- 用户名:
admin - 密 码:
admin123
🖼️ 系统预览
1. 核心视觉与主题
注入毛玻璃拟态设计,内置三套精心调配的高级感主题,支持一键无感切换。
| 登录页面 | 导航首页 | 我的收藏 |
|---|---|---|
![]() | ![]() | ![]() |
| 云岚蓝主题 | 青屿绿主题 | 深海夜主题 |
|---|---|---|
![]() | ![]() | ![]() |
2. 导航管理与申请流
支持批量导入与灵活的分组管理,内置完整的申请-审批工作流。
| 导航列表 | 批量添加导航 | 导航申请列表 |
|---|---|---|
![]() | ![]() | ![]() |
| 管理员通过申请 | 管理员驳回申请 |
|---|---|
![]() | ![]() |
3. 系统管理与企业级集成
RBAC 权限控制、账户全生命周期管理及 LDAP/AD 深度集成。
| 用户管理 | 角色管理 | 菜单管理 | LDAP 配置 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
4. 通知中心与安全审计
完美适配主流办公软件机器人,详细记录每一笔操作记录。
| 通用通知配置 | 钉钉通知 | 飞书通知 | 企业微信通知 |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
| 操作历史审计 |
|---|
![]() |
🤝 贡献指南
- Fork 本仓库并 Clone 到您的本地环境。
- 建立您自己的特性分支:
git checkout -b feature/AmazingFeature。 - 提交代码:
git commit -m 'Add some AmazingFeature'。 - 推送分支:
git push origin feature/AmazingFeature。 - 开启一次 Pull Request 供审查。如果您觉得本项目有帮助,别忘了点个 Star ⭐️ 支持作者
ghl1024!
📄 开源协议
本项目基于 MIT 无排他性开源协议,无论个人学习还是内外部企业商用,均可自由使用。


















