# sysom2.0-for-Ubuntu **Repository Path**: wangdong_cmcc/sysom2.0-for-Ubuntu ## Basic Information - **Project Name**: sysom2.0-for-Ubuntu - **Description**: 致力于打造一个集主机管理、配置部署、监控报警、异常诊断、安全审计等一系列功能的自动化运维平台。 探索创新的sysAK、ossre诊断工具及高效的LCC(Libbpf Compiler Collection)开发编译平台和netinfo网络抖动问题监控系统等, 实现系统问题的快速上报、分析与解决,提升集群的全自动运维效率,构建大规模集群运维生态链。--打造智能诊断助手 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 137 - **Created**: 2026-05-12 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SysOM 2.0 — AI 智能平台 面向 Linux 服务器的**轻量级 AI 智能平台**。核心能力由 AI 智能助手(EVA)和本地知识库问答驱动,提供自然语言交互式的运维体验。 ## 架构概览 ``` 浏览器 → Nginx (端口 80) → 微服务 ``` | 服务 | 端口 | 框架 | 职责 | |------|------|------|------| | **sysom-api** | 7001 | Django 3.2 + DRF | 用户认证、登录、JWT 鉴权 | | **sysom-eva** | 7024 | FastAPI | EVA AI 智能助手(LLM 对话 + 命令执行) | | **sysom-knowledge** | 7015 | FastAPI | 本地知识库(文件管理 + RAG 问答) | ### 请求流程 ``` 前端页面 (/home, /eva/chat, /knowledge/search) │ ▼ Nginx 反向代理 (端口 80) │ ├── /api/v1/eva/ → sysom-eva :7024 ├── /api/v1/knowledge/ → sysom-knowledge :7015 └── /api/v1/ → sysom-api :7001 ``` ## 部署 ### 前置依赖 - Python 3.8+ - Node.js 16+ - MySQL 8.0+ - Redis 4.0+ - Nginx ### 快速部署 ```bash # 1. 克隆项目 git clone && cd sysom2.0 # 2. 一键部署(root 执行) bash script/deploy/deploy.sh [/usr/local/sysom] [SERVER_IP] [PUBLIC_IP] [PORT] # 3. 启动所有服务 bash script/sysom.sh start all # 4. 单独部署知识库问答功能(安装额外依赖) sudo bash script/deploy_knowledge_qa.sh ``` ### 开发环境 ```bash # 前端 cd sysom_web && yarn install && yarn start # EVA 微服务(独立开发模式) cd sysom_server/sysom_eva python3 -m venv .venv && source .venv/bin/activate pip install -r ../../script/server/sysom_eva/requirements.txt SYSOM_CONF="../../conf/config.yml" python dev_start.py # 知识库微服务 cd sysom_server/sysom_knowledge python3 -m venv .venv && source .venv/bin/activate pip install -r ../../environment/0_env/requirements.txt SYSOM_CONF="../../conf/config.yml" python dev_start.py ``` ### 配置 全局配置统一管理于 `conf/config.yml`,各微服务独立配置位于各自的 `conf/` 目录。 关键环境变量: | 变量 | 默认值 | 说明 | |------|--------|------| | `EVA_LLM_MODE` / `KB_LLM_MODE` | `cloud` | LLM 模式:`cloud`(DeepSeek API)/ `local`(Ollama) | | `EVA_BASE_URL` / `KB_BASE_URL` | `https://api.deepseek.com/v1` | LLM API 地址(local 模式默认 `http://localhost:11434/v1`) | | `EVA_MODEL_NAME` / `KB_MODEL_NAME` | `deepseek-v4-flash` | 模型名称(local 模式默认 `qwen2.5:7b`) | | `EVA_API_KEY` / `KB_API_KEY` | — | API 密钥(local 模式下留空) | ## 功能亮点 ### 🤖 EVA AI 智能助手 - **自然语言运维**:通过对话执行服务器 Shell 命令,降低运维操作门槛 - **SSE 流式输出**:逐 token 实时展示 AI 回复,支持思维链可视化 - **工具调用闭环**:AI 自主规划 → 执行命令 → 返回结果 → 继续推理,最大 10 轮工具调用 - **安全审查**:危险命令执行前经过 LLM 安全审查,Web 环境支持用户确认 - **会话管理**:多会话隔离,JSON 文件持久化,支持记忆压缩防止 Token 溢出 ### 📚 本地知识库问答 - **文件即知识**:上传文档即完成知识入库,支持 TXT / Markdown / CSV / JSON / YAML / Excel / PDF 格式 - **RAG 智能问答**:关键词检索 Top-5 相关片段 → LLM 基于上下文回答,并标注来源文件 - **纯本地部署**:关键词倒排索引(jieba 分词),无需向量数据库和嵌入模型 - **邻域扩展**:匹配块的前后邻居也纳入结果,提升上下文完整性 ### ☁️↔️🖥️ 双模式 LLM 切换 - **Cloud 模式**:调用 DeepSeek API,适合有公网访问的环境 - **Local 模式**:调用本地 Ollama 服务(如 qwen2.5:7b),数据不出服务器 - 通过环境变量一键切换,无需修改代码 ### 🎨 前端 - React 17 + Umi.js 3 + Ant Design 4 暗色主题 - CMG 服务发现驱动的动态菜单:服务在线自动显示菜单项 - 流式 SSE 解析,实时渲染 AI 回复 ### ⚙️ 运维 - Supervisor 进程管理,Gunicorn + UvicornWorker 高并发 - Nginx 反向代理,统一端口对外暴露 - 统一 `sysom.sh` 管理所有微服务生命周期 ## 目录结构 ``` ├── conf/ # 全局配置 │ └── config.yml ├── deps/ # 依赖组件配置 │ ├── 0_mysql/ │ └── 2_nginx/ ├── docs/ # 设计文档 │ ├── eva_design.md │ ├── knowledge_design.md │ ├── eva_comparison.md │ ├── knowledgebase_comparison.md │ └── issues.md ├── environment/ # Python 环境依赖 │ ├── 0_env/ # 通用 Python 依赖 │ └── 1_sdk/ # SDK 包 ├── script/ # 部署与运维脚本 │ ├── deploy/ │ ├── server/ │ └── sysom.sh ├── sysom_server/ # Python 微服务 │ ├── sysom_api/ # Django 认证服务 (7001) │ ├── sysom_eva/ # EVA 智能助手 (7024) │ └── sysom_knowledge/ # 知识库问答 (7015) ├── sysom_web/ # React 前端 │ ├── config/ │ └── src/ ├── script/deploy_knowledge_qa.sh # 知识库问答独立部署脚本 └── CLAUDE.md ```