OpenManager Vibe V4
OpenManager Vibe V4 是一个基于自然语言的服务器分析和监控系统。当管理员用简单的语言询问服务器状态问题时,系统会自动分析并提供结果。
分发链接
项目结构
MCP 链接流
前端与 MCP Lite 服务器集成如下:
- 前端:用户以自然语言输入有关服务器状态的问题
- API 调用:前端向 MCP 服务器的
/query
端点发送问题和上下文信息。 - 后端处理:MCP 服务器将问题与上下文文件进行匹配并生成适当的响应。
- 显示结果:响应传递到前端并以可视方式显示给用户。
在演示环境中:
- 大部分逻辑在前端执行,并使用虚拟数据。
- MCP服务器起着次要的作用,只提供简单的自然语言处理功能。
- 在真实环境中,MCP 服务器可以扩展以将真实监控数据与高级 LLM 链接起来。
主要特点
- 基于自然语言的查询:允许管理员使用日常语言询问有关服务器状态和问题的问题
- 自动分析:系统分析问题并提供相关服务器列表和问题的原因。
- 直观的仪表板:直观显示服务器状态和性能指标
- 详细报告:生成包括问题原因和解决方案的分析报告。
- 数据过滤:能够按时间、服务器类型和位置进行过滤
技术堆栈
前端
- HTML5/CSS3/JavaScript(原始)
- Bootstrap UI 框架
- Chart.js(数据可视化)
- Font Awesome/Bootstrap 图标(图标)
后端
- Node.js
- Express.js
- 基于文件的上下文管理系统
🏗 系统架构:大型AI代理与本项目(基于MCP)
🧠 真正的基于 LLM 的 AI 代理架构
- **数据流向:**实时监控日志 → 收集器(Kafka/Fluentd等) → 分析引擎
- 自然语言处理:
- 与 LLM API(OpenAI、Claude 等)集成
- 基于 Python/Java 的后端
- 包括高级查询解释和上下文理解功能
- 分析引擎:
- 与时间序列/搜索引擎(如 InfluxDB 和 Elasticsearch)集成
- 基于事件的模式分析、警报触发
- UI集成:
- 完全集成的仪表板
- 对话界面+使用历史学习
⚙️ 本项目(基于 MCP 的轻量级演示系统)
该项目包含多层自主研发的“AI代理”逻辑,无需LLM(大型语言模型)即可提供类似AI的功能。每个组件都扮演着特定的角色,并协同工作,为用户提供智能的服务器分析和监控体验。
- **前端:**采用纯 HTML/JS 构建,部署到 Netlify。大多数复杂的AI代理逻辑都包含在这里。
- **MCP 服务器(后端):**基于 Node.js,部署到 Render。主要负责简单的问答和统计分析功能。
多层“无 LLM AI 代理”组件
- 简单的 MCP 服务器(
mcp-lite-server/server.js
中的/query
端点):- **作用:**根据
context/
文件夹中的文本文件内容提供基本的关键字匹配查询回答功能。 - **工作原理:**通过检查用户查询中的单词是否包含在上下文文件中的特定行中来做出响应。
- **局限性:**简单的字符串匹配可能会导致上下文理解不佳,并可能返回不相关的信息。
- **作用:**根据
- 后端 AI 代理(
mcp-lite-server/ai_agent.js
和/api/ai/query
端点):- **作用:**通过对服务器指标数据进行统计分析(例如 Z 分数)来检测异常,并为某些类型的问题生成简单的、基于模式的自然语言答案。
- **工作原理:**分析数值数据以识别统计异常值并使用预定义的响应模板。
- **局限性:**仅能应对有限的场景和问题类型。
- 前端 AI 处理器(
frontend/ai_processor.js
):- **角色:**在当前系统中执行最复杂的无 LLM 代理逻辑。负责定义详细的基于规则的问题模式,分析用户自然语言查询(简单NLU),分析原因并提出解决方案,生成动态报告内容。
- **工作原理:**根据
problemPatterns
中定义的规则和条件分析服务器数据,通过analyzeQuery
识别用户问题的意图,并通过各种generate...Response
函数提供定制信息。 - **特点:**大部分智能逻辑在前端JavaScript代码中实现。
这种方法的优点和局限性
- 优点:
- 无需法学硕士 (LLM) 即可像 AI 一样工作(低成本/高效率)
- 只需添加文档即可扩展响应(适用于简单的 MCP 服务器)
- 低引入和维护成本(无外部 LLM API 依赖和成本)
- 可以设置针对特定域优化的规则(服务器监控)
- 利润:
- 问题解释能力有限(没有上下文理解,自然语言理解深度有限)
- 不适合大规模实时分析
- 性能取决于规则和模式的复杂程度,并且难以灵活地响应新的问题类型或问题(尤其是前端AI处理器)。
- 由于核心逻辑集中在前端,可扩展性和可维护性可能会受到限制。
🤖 开发方法(基于Vibe Coding)
该项目是通过将提示输入基于 GPT 的工具并使用 Cursor来指导 AI 编码而开发的。
开发阶段流程
步骤1:初步规划和特征定义(使用GPT)
- 项目结构提案
- 定义 MCP 服务器的角色和基于上下文的响应方法
- 设定技术栈和UI基本方向
第二步:实现功能及前端集成(使用Cursor)
- 前端JS代码配置
- MCP 请求获取处理
- Markdown 响应渲染
步骤 3:高级和文档模式响应(光标 + GPT 协作)
- context 扩展多文档响应结构
- 设计自动报告模板
- 按故障类型设计响应文档并进行分支处理
📐 开发指南
✅ 用户界面和设计
index.html
和 UI 样式应保持最新(建议保留 90% 或更多)- 仅允许在不破坏用户体验流程的范围内进行更改。
✅ MCP 后端
- 通过扩展和添加上下文结构可以自由地改进服务器功能。
- 上下文文档结构遵循基于文本的
.txt
或.md
- 扩展API时建议使用RESTful结构
开发指南
在开展项目时,请遵循以下准则:
UI 和设计相关(基于提交 ad03d5f)
- 索引文件和用户界面:必须彻底保留当前的 UI/UX 设计。
index.html
和外部可见的用户界面组件应保留至少 90% 的当前样式。- 除非绝对必要,否则不要修改前端设计。
后端开发
- 后端功能改进:服务器端功能改进和扩展可以自由进行。
- 改进的数据处理逻辑
- 添加并优化 API 端点
- 努力提高性能并增强可扩展性
安装并运行
前端
后端服务器
部署环境
- 前端:Netlify( https://openvibe3.netlify.app )
- 后端:Render.com( https://openmanager-vibe-v4.onrender.com )
未来发展计划
- AI集成:真正的自然语言处理LLM链接
- 实时数据:与真实服务器监控系统集成(Prometheus、Zabbix等)
- 扩展可视化:多样化的数据分析图形和图表
- 通知系统:发生故障时自动通知和报告传输
开发者信息
该项目是使用 Vibe Coding 基于 Claude、GPT 和 Gemini 等各种 AI 模型开发的。
执照
该项目是为了内部开发目的而创建的,没有为其指定单独的许可证。
最新改进(发布 v4.1.0)
1. 轻量级NLU结构的改进与一致性
- 我们在前端和后端都实现了轻量级 NLU(自然语言理解)架构。
- 始终将用户查询分为意图和实体。
- 意图:CPU_STATUS、MEMORY_STATUS、DISK_STATUS、INCIDENT_QUERY、SERVER_STATUS 等。
- 实体:server_type、threshold、time_range、severity 等。
2.改进前后端查询处理逻辑
- 前端
process_query.js
新增与后端兼容的 NLU 分析函数。 - 改进后端 API 响应结构,以明确向前端提供意图和实体信息。
- 我们改进了错误处理,以确保所有 API 端点的错误处理一致。
3. 改进上下文处理
- 利用对话上下文为后续问题提供更准确、更符合情境的回答。
- 示例:在询问有关特定服务器的问题后,通过询问“解释为什么?”之类的后续问题来保持上下文。
- 记住前面对话中提到的指标类型(CPU、内存等),并在后续问题中使用它们。
4. 提升开发者体验
- 通过保持一致的 API 响应结构,前端开发变得更加容易。
- 为所有 API 添加了错误处理逻辑以提高稳定性。
- 通过改进后端代码结构提高了可维护性。
未来改进计划
- 构建上下文文件 - 将当前基于文本文件的上下文转换为 JSON/YAML 格式。
- 增强的 NLU 功能 - 增加了对更多意图和实体的识别
- 前端 UI 改进 - 直观地表达上下文感知功能
- 后端性能优化 - 提升处理大规模指标数据的性能
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
基于自然语言的服务器分析和监控系统,可自动处理用户关于服务器状态的查询,并以可视化的方式提供详细的响应。
Related MCP Servers
- -securityAlicense-qualityA JVM monitoring and control platform server based on Arthas that provides a Python interface for monitoring and analyzing Java processes with capabilities for thread analysis, memory monitoring, and performance diagnostics.Last updated -59PythonMIT License
- -securityAlicense-qualityA lightweight server that provides real-time system information including CPU, memory, disk, and GPU statistics for monitoring and diagnostic purposes.Last updated -PythonMIT License
- AsecurityAlicenseAqualityA server monitoring and inspection tool collection that provides remote utilities for checking network interfaces, service statuses, and firewall configurations on servers.Last updated -1930PythonMIT License
- -securityAlicense-qualityA file monitoring server that tracks filesystem events and provides real-time notifications to AI assistants, enabling them to automatically respond to file changes without manual updates.Last updated -14PythonMIT License