项目简介
本项目是一个多智能体协作设计系统,利用专门的AI代理通过Model Communication Protocol (MCP) 服务器进行通信。系统旨在提供一个协同环境,让不同职责的AI代理(如美学、UX流程、辅助功能、用户画像等)共同完成复杂的设计任务,并通过共享内存和区块链集成提供增强功能。
主要功能点
- 多智能体架构: 包含协调代理和多种专业代理,各司其职,通过MCP服务器协作。
- 任务协调: 协调代理负责接收用户任务,将其分解为子任务,并分派给最合适的专业代理。
- 专业设计服务: 各专业代理提供其领域的详细分析、建议或执行特定操作(如UX流程图描述、美学建议、辅助功能检查、用户画像分析)。
- 标准化通信: 所有代理通过遵守MCP的结构化消息格式,实现高效、可互操作的通信。
- 状态共享: 利用Redis实现代理间的共享内存,支持会话管理和状态持久化。
- 贡献追溯: 集成Solana区块链,用于记录和验证AI代理的关键贡献和决策过程。
- 可观测性: 集成Prometheus和Grafana,提供系统健康监控和性能指标。
安装步骤
本项目推荐使用Docker Compose进行安装和运行,以简化环境配置。
- 克隆仓库:
git clone https://github.com/Keerthivasan-Venkitajalam/project-root.git # 请注意:README中的URL是示例,实际使用时请替换为实际仓库地址。 cd project-root - 配置API密钥: 创建一个名为 '.env' 的文件,并在其中添加您的OpenAI API密钥:
OPENAI_API_KEY=your_openai_api_key_here - 使用Docker Compose启动: 运行以下命令即可构建并启动整个系统所需的所有服务(包括MCP服务器、所有代理、Redis、本地Solana验证器、前端UI和监控):
这将启动MCP服务器(默认在 'ws://localhost:8080')、所有代理、Redis、Solana测试环境等。docker-compose up --build - (可选)单独运行组件: 如果需要进行开发或调试,也可以单独启动各个组件。请参考仓库README中的“Running Individual Components”部分获取详细指令,通常包括:
- 安装Python依赖:'pip install -r requirements.txt'
- 构建并运行MCP服务器(使用Zig语言开发,需提前安装Zig):'cd mcp-server && zig build run'
- 启动Redis服务(如果未用Docker)。
- 在单独的终端中分别启动各Python代理程序(如 'python agents/coordinator/agent.py')。
- 构建并启动前端UI(需要Node.js):'cd ui && npm install && npm start'
服务器配置(针对MCP客户端)
MCP服务器(在此项目中通过Zig语言实现)是整个多智能体系统的核心通信枢纽。AI代理和客户端应用(如前端UI)都是MCP客户端,它们通过连接到MCP服务器来发送任务请求、接收响应、声明能力或进行代理间通信。
要使一个MCP客户端能够连接到此MCP服务器,它需要知晓服务器的连接信息。这些信息通常在客户端的配置中指定。虽然具体的配置格式取决于客户端实现,但核心要素包括:
- 服务器地址: MCP服务器运行所在的主机名或IP地址(例如 'localhost' 或 'mcp-server',取决于部署方式)。
- 服务器端口: MCP服务器监听的端口号(例如 '8080')。
- 传输协议: 客户端与服务器建立连接使用的协议(例如 'websocket')。
如果MCP客户端被设计为能够自动启动服务器进程,它可能还需要服务器的可执行命令和参数,例如:
{ "server_name": "MCP Design Server", "command": "zig", // 启动服务器进程的命令 "args": ["build", "run", "mcp-server"], // 传递给命令的参数列表,用于运行服务器构建结果 "transport": "websocket", // 使用的传输协议 "address": "localhost", // 服务器监听的IP地址或主机名 "port": 8888 // 服务器监听的端口号 }
请注意: 上述JSON是一个示例配置结构,用户在配置自定义MCP客户端时,需要根据实际部署环境和该项目MCP服务器(Zig代码)的启动方式来填写准确的 'address'、'port' 和 'transport' 信息。 'command' 和 'args' 仅在客户端负责启动服务器进程时才需要。
基本使用方法
启动整个系统后:
- 访问前端UI(默认通常在 'http://localhost:3000')。
- 通过UI提交一个设计相关的任务或查询。
- 协调代理将接收该请求,并根据任务内容自动分派给相应的专业代理。
- 专业代理处理子任务,生成结果并返回给协调代理。
- 协调代理整合各方结果,生成最终的响应并返回给前端UI。
您还可以通过查看Prometheus ('http://localhost:9090') 和 Grafana ('http://localhost:3001') 来监控系统的运行状态和代理的活动。
信息
分类
AI与计算