多元运维管理平台,让运维更简单
全称 Multi-platform Operations Manager
MOM Platform 是一个功能强大的插件化运维管理平台,采用前后端分离架构,支持多集群 Kubernetes 管理、主机资产管理、多云账号管理、RBAC 权限控制、任务编排、监控告警、SSH/RDP 远程连接、AI 智能运维助手等功能。平台以插件形式组织功能模块,支持一键安装与卸载,可根据实际需求灵活扩展。
插件化架构,按需加载
通过插件系统实现功能模块的解耦,Kubernetes 管理、任务中心、监控中心、AI 智能助手等核心功能均以插件形式提供,团队可根据实际需求选择性启用,降低系统复杂度。
- 功能模块以插件形式存在,支持一键安装/卸载
- 前后端插件系统联动,按需加载
- 完整的插件开发规范,易于扩展
- 内置 Agent + Skills 架构,通过自然语言对话管理运维资源
- 支持多模型接入:OpenAI、DeepSeek、通义千问、豆包、Google Gemini
- 43 个内置 Skills,覆盖主机、网络设备、K8s、任务、监控、审计、云账号、综合分析 8 大类
- 支持主机 / 网络设备 / Pod 的会话型执行能力:需要上下文时自动复用 shell session,不需要时保持单次执行
- Kubernetes 场景支持双通道分流:资源对象操作使用
k8s.kubectl,容器内部排障使用k8s.exec_command - 支持自定义 Skill 上传扩展,可替代或增强内置 Skill
- 高风险操作两步确认机制,安全可控
- AI 操作全程审计,可按模块筛选查看
- 统一管理多个 Kubernetes 集群
- 完整的工作负载管理:Deployment、StatefulSet、DaemonSet、Job、CronJob
- 网络与存储:Service、Ingress、ConfigMap、Secret、PV/PVC
- Web Terminal 终端连接,支持会话录制与回放
- 集群健康巡检,一键生成巡检报告
- SSH 终端连接,支持密码和密钥认证(可拖拽上传密钥文件)
- Windows RDP 远程桌面连接(基于 Guacamole)
- RDP 文件管理:上传/下载,自动清理临时文件
- RDP 虚拟美式键盘
- SSH / RDP 会话录制与回放,操作全程可追溯
- 支持 7 大云厂商:阿里云、腾讯云、华为云、AWS、京东云、百度云、金山云
- 云主机实例查询与一键导入到平台资产
- 统一的云账号生命周期管理
- 平台级 + Kubernetes 级双重 RBAC
- 资产级权限隔离(查看、编辑、删除、SSH 终端、RDP 连接、文件管理)
- 无权限操作提示"无访问权限",而非"连接错误"
- 操作日志完整记录(含 AI 操作审计)
- SSH / RDP 终端会话录制与回放
- 数据变更追溯
- AI 操作按模块分类,支持筛选 AI-Kubernetes、AI-主机管理等
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
| 功能模块 | 描述 |
|---|---|
| 用户管理 | 用户增删改查、密码重置、状态管理 |
| 角色管理 | 角色定义、权限分配、角色继承 |
| 部门管理 | 组织架构管理、部门层级 |
| 岗位管理 | 岗位定义、用户岗位绑定 |
| 菜单管理 | 动态菜单配置、权限绑定、支持插件菜单编辑(隐藏/启用/禁用) |
| 操作审计 | 操作日志、登录日志、数据变更追溯、AI 操作审计 |
| 凭据管理 | SSH 密码/密钥凭据统一管理、密钥支持拖拽上传 |
| 资产管理 | 主机分组、主机管理、标签管理、批量导入导出 |
| 多云账号 | 阿里云、腾讯云、华为云、AWS、京东云、百度云、金山云账号管理 |
| 功能 | 描述 |
|---|---|
| 集群管理 | 多集群接入、集群概览、健康检查 |
| 节点管理 | 节点列表、资源监控、污点/标签管理、Cordon/Drain 操作 |
| 工作负载 | Deployment、StatefulSet、DaemonSet、Job、CronJob 管理 |
| 网络管理 | Service、Ingress、NetworkPolicy 管理 |
| 配置存储 | ConfigMap、Secret、PV/PVC 管理 |
| 自定义资源 | CustomResourceDefinition (CRD) 管理 |
| Helm | Helm Release 管理 |
| 终端审计 | Web Terminal、SSH/RDP 会话录制与回放 |
| 集群巡检 | 一键生成 K8S 巡检报告 |
| 功能 | 描述 |
|---|---|
| 执行任务 | 脚本执行、批量操作、危险命令检测 |
| 模板管理 | 任务模板定义与复用 |
| 文件分发 | 批量文件分发到目标主机 |
| 执行历史 | 任务执行记录与日志查看 |
| 功能 | 描述 |
|---|---|
| 域名监控 | HTTP 状态码、响应时间、SSL 证书监控与到期提醒 |
| 告警管理 | 告警规则配置、多渠道通知、告警汇总分析 |
| 功能 | 描述 |
|---|---|
| 多模型支持 | OpenAI、DeepSeek、通义千问、豆包、Google Gemini,支持自定义 API 端点 |
| 对话管理 | 多会话管理、历史记录、流式输出 |
| Agent + Skills | ReAct 循环架构,AI 自主决策调用合适的 Skill 完成任务 |
| 43 个内置 Skill | 覆盖主机、网络设备、K8s、任务、监控、审计、云账号、综合分析 8 大领域 |
| 自定义 Skill | 支持上传 SKILL.md 包扩展能力,可覆盖内置 Skill |
| Skills 管理 | 启用/禁用/统计、按分类筛选、实时数量统计 |
| 工具调用可视化 | 对话中实时展示 Skill 调用状态与结果 |
| 会话型执行 | host.exec_command、device.exec_command、k8s.exec_command 会在需要时自动复用当前对话中的交互上下文 |
| K8s 智能分流 | 资源对象查询/变更优先 k8s.kubectl,容器内部文件/进程/环境排查优先 k8s.exec_command |
| 高风险确认 | 扩缩容、执行命令、节点管理等高风险操作需用户二次确认后执行 |
| AI 操作审计 | 所有 Skill 执行记录入操作日志,按模块分类,支持筛选 |
内置 Skills 一览:
| 分类 | Skills | 描述 |
|---|---|---|
| 主机管理 | host.list host.detail host.analyze host.collect host.exec_command host.session_status host.close_session host.file_manage host.manage |
查询/分析主机、远程执行命令、主机会话管理、文件管理、主机 CRUD |
| 网络设备 | device.list device.detail device.manage device.test_connection device.exec_command device.session_status device.close_session |
设备查询/详情、CRUD 管理、连接测试、远程命令执行、设备会话管理 |
| Kubernetes | k8s.kubectl k8s.exec_command k8s.session_status k8s.close_session k8s.scale k8s.restart k8s.diagnose k8s.node_manage k8s.log_query k8s.helm_manage |
资源对象操作、容器内部命令执行、Pod 会话管理、扩缩容、重启、诊断、节点管理 |
| 任务中心 | task.execute task.ansible task.history |
Ad-hoc 任务执行、Ansible Playbook、历史查询 |
| 监控告警 | monitor.domain_status monitor.domain_manage monitor.alert_summary monitor.alert_config |
域名监控/管理、告警分析、告警规则配置 |
| 审计分析 | audit.operation_summary audit.login_analysis audit.data_changes audit.session_summary |
操作统计、登录行为分析、数据变更追踪 |
| 云账号 | cloud.list_accounts cloud.list_instances cloud.import_hosts |
云账号查询、实例查询、主机导入 |
| 综合分析 | analysis.infra_report analysis.security_audit analysis.capacity_plan |
基础设施周报、安全态势分析、容量规划 |
Kubernetes Skill 选择规则:
- 查看 Pod / Deployment / Service / Node / PVC 等资源对象状态、事件、标准日志:优先使用
k8s.kubectl - 进入容器内部查看文件、进程、环境变量、目录,或需要
cd/export/source/bash上下文:优先使用k8s.exec_command - 查看 Pod 标准日志(stdout/stderr):优先
k8s.kubectl(action="logs") - 查看容器文件系统中的某个日志文件:使用
k8s.exec_command
| 功能 | 描述 |
|---|---|
| RDP 连接 | 基于 Guacamole 的 Windows 远程桌面连接 |
| 文件管理 | 拖拽上传/下载文件,自动清理临时文件 |
| 虚拟键盘 | 美式键盘布局,解决特殊字符输入问题 |
| 会话录制 | RDP 操作全程录制,支持审计回放 |
| RBAC 权限 | 与 SSH 终端一致的权限控制 |
| 功能 | 描述 |
|---|---|
| 数据库远程终端访问 | MySQL Oracle Pgsql AI助手支持 |
| AI OPS/CI CD | 对接 gitlab Jekins CI ,Argo-cd |
| 技术 | 版本 | 描述 |
|---|---|---|
Go |
1.21+ | 后端开发语言 |
Gin |
1.11+ | 高性能 HTTP Web 框架 |
GORM |
1.31+ | Go 语言 ORM 库 |
client-go |
0.35+ | Kubernetes Go 客户端 |
jwt-go |
5.3+ | JWT 认证 |
zap |
1.27+ | 高性能日志库 |
gorilla/websocket |
1.5+ | WebSocket 支持(AI 流式对话、终端) |
golang-migrate |
4.x | 数据库版本化迁移管理 |
golang.org/x/crypto |
- | SSH 客户端 |
| 技术 | 版本 | 描述 |
|---|---|---|
Vue |
3.5+ | 渐进式 JavaScript 框架 |
TypeScript |
5.9+ | 类型安全的 JavaScript |
Element Plus |
2.13+ | Vue 3 UI 组件库 |
Vite |
5.4+ | 下一代前端构建工具 |
xterm.js |
6.0+ | Web 终端模拟器(SSH) |
marked |
- | Markdown 渲染(AI 对话) |
| 技术 | 版本 | 描述 |
|---|---|---|
MySQL |
8.0+ | 关系型数据库 |
TiDB |
7.5+ | 兼容 MySQL 的分布式数据库(可选) |
Redis |
6.0+ | 缓存 |
Guacamole |
1.5+ | RDP 远程桌面网关 |
┌─────────────────────────────────────────────┐
│ 浏览器客户端 │
│ Vue 3 + Element Plus + TypeScript │
└──────────────────────┬──────────────────────┘
│ HTTP / WebSocket
┌──────────────────────▼──────────────────────┐
│ Gin HTTP Server │
│ JWT Auth │ RBAC │ Audit Middleware │
├─────────┬─────┴──────┬──────────┬───────────┤
│ Core │ Plugins │ AI │ Asset │
│ Module │ Manager │ Agent │ Manager │
├─────────┼────────────┼──────────┼───────────┤
│ User │ Kubernetes │ Model │ Host │
│ Role │ Task │ Adapter │ Credential│
│ Menu │ Monitor │ Tool │ Cloud │
│ Dept │ AI │ Registry │ Account │
├─────────┴────────────┴──────────┴───────────┤
│ GORM / Data Layer / Migrate │
└──────────┬──────────────────────┬───────────┘
│ │
┌──────────▼──────┐ ┌──────────▼──────────┐
│ MySQL / TiDB │ │ K8s API Server │
└─────────────────┘ └─────────────────────┘
- Go 1.21+
- Node.js 18+
- MySQL 8.0+(或 TiDB 7.5+)
- Redis 6.0+
- Guacamole 1.5+(可选,RDP 远程桌面需要)
git clone https://github.com/tengdagg/MOM_Platform.git
cd mommysql -u root -p -e "CREATE DATABASE mom CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"只需创建空数据库,无需手动导入 SQL。应用启动时会通过
golang-migrate自动执行所有迁移(建表 + 初始数据)。
cp config/config.yaml.example config/config.yaml
# 编辑 config.yaml 修改数据库连接、Redis、Guacamole 等配置# 启动后端(首次启动自动完成数据库迁移)
go run main.go server
# 启动前端(新终端)
cd web && npm install && npm run dev- 前端地址:http://localhost:5173
- 后端 API:http://localhost:9876
- Swagger 文档:http://localhost:9876/swagger/index.html
| 用户名 | 密码 |
|---|---|
admin |
123456 |
重要: 生产环境请立即修改默认密码!
进入 AI 助手 > 模型配置,添加一个 LLM 模型:
| 配置项 | 说明 |
|---|---|
| 模型名称 | 自定义名称,如 "DeepSeek" |
| 供应商 | 选择 OpenAI / DeepSeek / 通义千问 / 豆包 / Gemini |
| API 地址 | 模型 API 端点(供应商默认地址或自定义) |
| API Key | 对应供应商的 API 密钥 |
| 模型标识 | 具体模型名,如 deepseek-chat、qwen-turbo、gpt-4o |
配置完成后即可在 AI 助手页面开始对话。
用户:列出所有离线的 Linux 主机
AI :[调用 host.list] 找到 3 台离线主机...
用户:把 nginx Deployment 扩容到 3 个副本
AI :[调用 k8s.kubectl] 这是一个高风险操作,需要您确认...
用户:确认
AI :[调用 k8s.kubectl] 扩容完成,nginx 当前副本数:3
用户:帮我生成本周的基础设施运营周报
AI :[调用 analysis.infra_report] 生成报告...
上传符合 SKILL.md 规范的 zip 包即可扩展 AI 能力:
my-skill/
├── SKILL.md # 必需:包含 YAML 前置元数据 + Markdown 指令
└── scripts/ # 可选:可执行脚本
上传后自动注册到 Skills 管理页面,可随时启用/禁用。
我们提供多种部署方式,请根据实际环境选择:
| 部署方式 | 适用场景 | 复杂度 |
|---|---|---|
| Docker Compose | 快速体验、开发测试 | 简单 |
| Kubernetes | 生产环境、高可用部署 | 中等 |
| 源码部署 | 开发调试、二次开发 | 中等 |
# 克隆项目
git clone https://github.com/tengdagg/MOM_Platform.git
cd mom
# 复制环境变量模板并按需修改
cp .env.example .env
# 启动服务(数据库迁移随后端容器启动自动完成)
docker compose up -d
# 访问系统
# 前端:http://localhost:8080
# 后端:http://localhost:9876.env 中必须填写以下两个 32 字节密钥,否则后端无法启动:
MOM_CREDENTIAL_ENCRYPTION_KEY=0123456789abcdef0123456789abcdef
MOM_K8S_ENCRYPTION_KEY=fedcba9876543210fedcba9876543210| 文档 | 链接 |
|---|---|
| 部署指南 | docs/deployment.md |
| 数据库迁移 | migrations/README.md |
| Kubernetes 插件 | docs/plugins/kubernetes.md |
| 任务中心插件 | docs/plugins/task.md |
| 监控中心插件 | docs/plugins/monitor.md |
| AI 助手架构 | plugins/ai/README.md |
mom/
├── cmd/ # 命令行入口
├── config/ # 配置文件
├── internal/ # 核心模块
│ ├── biz/ # 业务逻辑层
│ │ ├── rbac/ # 用户、角色、部门、菜单
│ │ └── audit/ # 操作日志、登录日志、数据日志
│ ├── data/ # 数据访问层
│ ├── migration/ # golang-migrate 数据库迁移
│ │ └── migrations/ # SQL 迁移文件(embed.FS 嵌入)
│ ├── plugin/ # 插件系统核心
│ ├── server/ # HTTP 服务、中间件
│ │ └── asset/ # 资产管理(主机/凭据/云账号/Guacamole)
│ └── service/ # 服务层
├── plugins/ # 插件目录
│ ├── kubernetes/ # K8S 管理插件
│ ├── task/ # 任务中心插件
│ ├── monitor/ # 监控中心插件
│ └── ai/ # AI 智能助手插件
│ ├── biz/ # Agent 核心(ReAct 循环、对话管理)
│ ├── server/ # API Handler(聊天、模型、Skill 管理)
│ └── skills/ # 43 个内置 Skill 实现 + SKILL.md 定义
├── pkg/ # 公共包
│ ├── ssh/ # SSH 客户端
│ └── util/ # 工具函数
├── migrations/ # 数据库文档与辅助脚本
├── web/ # 前端代码
│ ├── src/
│ │ ├── plugins/ # 前端插件(K8s/Task/Monitor/AI)
│ │ ├── views/ # 页面视图
│ │ └── api/ # API 请求
│ └── package.json
├── docker-compose.yml
├── Dockerfile
└── main.go
本项目基于开源项目 https://github.com/ydcloud-dy/opshub 二次开发本项目采用 MIT License 开源许可证。
如果觉得项目有帮助,欢迎 Star 支持!













