项目简介
AInfrastructure 是一个开源的 AI 驱动的 IT 基础设施监控与管理平台。它将传统的基础设施监控功能与先进的 AI 能力相结合,帮助组织更好地理解、维护和优化其 IT 环境。该平台的核心是通过灵活的插件系统,将各种设备和服务的功能标准化地暴露给大型语言模型 (LLM) 客户端,使其能够通过自然语言与基础设施进行交互。
主要功能点
- 统一设备监控: 在一个集成仪表盘中追踪和管理您的全部基础设施。
- AI助手: 直接通过聊天与您的设备交互,获取信息或执行命令。
- 强大的插件系统: 支持定义自定义设备类型和其特定操作,几乎可以监控和管理任何设备。
- 实时数据监控: 监控性能指标,接收潜在问题的警报。
- 自动化报告: 生成关于基础设施状态的综合报告。
- 可定制仪表盘: 创建个性化视图以展示最重要的指标。
安装步骤
要运行 AInfrastructure,您需要安装 Python 及其依赖,并设置前端。
-
安装 Python 依赖: 在项目根目录下打开终端,运行:
pip install -r requirements.txt -
配置 Report Service: 进入 'report_service' 目录,复制 '.env.example' 文件并重命名为 '.env':
cd report_service mv .env.example .env您可以选择在 '.env' 文件中添加您的 OpenAI API 密钥以启用 AI 助手功能。即使不配置 API 密钥,项目核心功能也能运行。
-
设置前端: 进入 'ainfrastructure-frontend' 目录:
cd ainfrastructure-frontend安装前端依赖:
npm install然后启动前端开发服务器(通常在新的终端窗口中运行):
npm run dev -
启动后端服务: 回到项目根目录:
cd ..在终端中运行主后端服务:
python main.py在另一个独立的终端窗口中,进入 'report_service' 目录并启动报告服务:
cd report_service python main.py
确保两个后端服务 ('main.py' 和 'report_service/main.py') 都已成功启动。
服务器配置
AInfrastructure 通过 MCP (Model Context Protocol) 接口向 LLM 客户端暴露能力。根据项目的实现,它主要通过 HTTP 协议提供此接口。
对于支持通过执行命令启动 MCP 服务器进程的 LLM 客户端,您可以参考以下配置信息(这假定客户端可以通过标准输入/输出与服务器通信,具体取决于 'fastapi-mcp' 库的实现及其运行环境):
{ "server name": "AInfrastructure MCP Server", "command": "python", "args": ["main.py"], // 可选参数,取决于您的LLM客户端和AInfrastructure部署方式 // "env": { ... }, // 可能需要的环境变量,如OPENAI_API_KEY // "cwd": "/path/to/AInfrastructure/root" // 项目根目录路径 // 如果LLM客户端支持通过HTTP连接MCP服务器,则配置可能不同 // 例如: // "type": "http", // "url": "http://localhost:8000/mcp" // 默认HTTP地址和MCP路径 }
配置说明:
- 'server name': 在您的 LLM 客户端中显示的服务器名称。
- 'command': 执行 AInfrastructure 主后端服务的命令(这里是 Python 解释器)。
- 'args': 传递给 'command' 的参数(这里是主后端服务的入口文件 'main.py')。
- 其他配置(如 'env', 'cwd', 'type', 'url')取决于您的 LLM 客户端的能力和您部署 AInfrastructure 的方式。如果作为 HTTP 服务运行,客户端通常需要配置 'type' 为 'http' 和相应的 'url'。
请参考您的 LLM 客户端文档,了解如何配置通过执行命令连接的 MCP 服务器。
基本使用方法
一旦 AInfrastructure 的后端服务和前端都已启动,您可以:
- 通过浏览器访问前端界面(通常是 'http://localhost:5173' 或类似的 Vite 开发服务器地址)。
- 在界面中添加和管理您的 Windows、Linux 标准服务器或自定义设备。
- 浏览设备的实时状态和详细统计信息。
- 如果连接了 LLM 客户端并通过 MCP 配置了 AInfrastructure 服务,您可以使用自然语言与设备进行交互、执行插件定义的动作或生成报告。
信息
分类
桌面与硬件