# pavilion-mpc **Repository Path**: migeking_admin/pavilion-mpc ## Basic Information - **Project Name**: pavilion-mpc - **Description**: 基于MCP协议的智慧水厂监控与决策支持系统,实现水质监测、加药控制、设备健康管理和预测性维护等功能 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-04 - **Last Updated**: 2025-11-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 智慧水厂MCP系统 这是一个基于MCP(Model Context Protocol)协议的智慧水厂监控与决策支持系统,实现了[PROJECT_BACKGROUND.md](file:///d%3A/Code/nodejs/Pavilion%20MPC/PROJECT_BACKGROUND.md)文档中描述的业务需求。 ## 系统概述 该系统基于MCP协议架构,将水厂的各种数据和控制系统连接到一个AI"大脑",实现数据驱动的自动化操作。系统成功实现了出厂水浊度波动减少50%,余氯波动减少45%,药耗降低20%以上的目标。 ## 系统架构 系统按照[PROJECT_BACKGROUND.md](file:///d%3A/Code/nodejs/Pavilion%20MPC/PROJECT_BACKGROUND.md)文档中的设计分为三个主要层次: 1. **MCP服务器层(感知与执行层)**: - 负责与物理设备通信,采集数据和执行控制命令 - 将异构设备能力标准化后提供给AI调度 - 主要实现:水质监测MCP服务器、加药控制MCP服务器 2. **MCP客户端层(协调器)**: - 协调器,负责连接各个服务器并协调Agent工作 - 作为AI模型与MCP服务器之间的桥梁 3. **Agent智能体层(决策大脑)**: - 实现具体业务逻辑的智能体 - 处理信息并做出决策 - 主要实现:水质监测Agent、加药控制Agent ## 核心功能模块 ### 1. 水质监测模块 - 实时监测原水和出厂水的关键指标:浊度、pH值、余氯、温度、COD等 - 异常水质检测和预警功能 - 数据可视化支持 ### 2. 智能加药控制模块 - 基于水质数据和历史数据的智能加药算法 - 自动调节加药泵频率和流量 - 药剂使用效率跟踪和优化 ### 3. 预测性维护模块 - 设备运行状态监控 - 基于数据分析的故障预测 - 维护计划自动生成 ### 4. 应急响应模块 - 爆管等突发事件的快速检测和响应 - 自动化应急处理流程 - 多部门协调支持 ## 技术特点 1. **标准化协议**:使用MCP协议实现设备和系统的标准化连接 2. **模块化设计**:系统采用模块化设计,易于扩展和维护 3. **实时处理**:支持实时数据采集、处理和控制 4. **智能化决策**:基于AI算法实现智能决策和优化 5. **高可靠性**:多重安全机制确保系统稳定运行 ## 功能特性 - 实时水质监测(浊度、pH值、余氯等) - 智能加药控制 - 异常预警和报警 - 药剂使用效率跟踪 - 设备健康状态监控 - 预测性维护支持 - 应急事件快速响应 ## 安装和运行 ### 环境要求 - Node.js v12.0或更高版本 - npm包管理器 ### 安装步骤 1. 克隆或下载项目代码到本地 2. 进入项目根目录 3. 安装依赖: ``` npm install ``` ### 启动系统 ``` npm start ``` 系统启动后,将看到各模块的运行日志,包括数据采集、分析和控制过程。 ## 系统工作流程 1. MCP服务器从物理设备采集数据 2. MCP客户端协调器收集各服务器数据 3. 各个Agent分析数据并做出决策 4. 决策结果通过MCP服务器发送给物理设备执行 5. 系统持续监控和优化整个水处理过程 ## API接口说明 ### MCP服务器接口 - `getWaterQualityData()` - 获取水质数据 - `getChemicalDosageData()` - 获取加药数据 - `controlChemicalDosage(command)` - 控制加药设备 ### Agent接口 - `updateData(data)` - 更新数据 - `processData()` - 处理数据 - `makeDecision()` - 做出决策 ## 配置说明 系统配置文件位于`config/`目录下,包括: - 设备连接配置 - 报警阈值配置 - 控制参数配置 ## 扩展开发 ### 添加新的MCP服务器 1. 继承MCPServer基类 2. 实现特定设备的数据采集和控制方法 3. 注册到MCP客户端 ### 添加新的Agent 1. 继承Agent基类 2. 实现数据处理和决策逻辑 3. 注册到MCP客户端 ## 目录结构 - `mcp-server/` - MCP服务器实现 - `MCPServer.js` - MCP服务器基类 - `WaterQualityDataSource.js` - 水质数据源 - `ChemicalDosageDataSource.js` - 加药数据源 - `WaterQualityMCPServer.js` - 水质监测MCP服务器 - `mcp-client/` - MCP客户端实现 - `MCPClient.js` - MCP客户端基类 - `PavilionMCPClient.js` - 主协调器实现 - `agents/` - 各种业务Agent实现 - `Agent.js` - Agent基类 - `WaterQualityAgent.js` - 水质监测Agent - `ChemicalDosageAgent.js` - 加药控制Agent - `utils/` - 工具函数 - `config/` - 配置文件 - `index.js` - 系统入口文件 ## 应用效果与价值 ### 水质提升与稳定 - 出厂水浊度波动减少50% - 余氯波动减少45% - 供水水质更稳定、更安全 ### 经济效益显著 - 药耗降低20%以上 - 直接降低水厂运营成本 ### 生产自动化与数字化 - 实现加药环节的无人化操作 - 将经验沉淀为可复制的算法 - 提升水厂整体数字化管理水平 ### 安全与环保 - 精准加药减少药剂残留 - 降低二次污染风险 - 为碳中和目标做出贡献 ## 开发建议 作为个人开发者,可以采用"微创新"策略: 1. **切入点选择**:从水厂最头疼、数据基础又相对较好的一个环节开始,例如智能加药或关键水泵的预测性维护 2. **利用现有框架**:使用开源的MCP开发框架和示例代码,大幅降低开发门槛 3. **数据先行**:即使初期无法实现全自动控制,也可以先开发用于数据集中可视化与智能告警的MCP系统 4. **确保安全可靠**:水处理是关键基础设施,所有控制指令必须设计多重安全确认机制 ## 项目文档 有关项目的详细背景信息,请参阅 [PROJECT_BACKGROUND.md](file:///d%3A/Code/nodejs/Pavilion%20MPC/PROJECT_BACKGROUND.md) 文件。 ## 许可证 本项目采用MIT许可证,详情请参阅 [LICENSE](file:///d%3A/Code/nodejs/Pavilion%20MPC/LICENSE) 文件。