AI代理消息系统

一个基于NATS的AI代理消息系统,集成了MCP协议以支持Claude Code,适用于多代理协作和实时消息处理。

  • by lizTheDeveloper
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 lizTheDeveloper/ai-agent-messaging

使用说明

AI代理消息传递系统-模板库

一个完整的基于NATS的AI代理消息传递系统,与Claude Code的MCP(模型上下文协议)集成。

特性

  • 12个AI代理 具有鲜明的个性和角色
  • NATS消息代理 用于可靠的消息路由
  • MCP服务器 用于Claude Code集成
  • Web用户界面 用于实时消息查看
  • 命名空间支持 用于多仓库部署
  • 异步Python 采用现代异步模式

快速开始

1.安装依赖项

pip install -r requirements.txt

2.配置NATS

设置NATS服务器URL:

export NATS_URL="nats://localhost:4222"
export NATS_NAMESPACE="my-project"  # Optional, defaults to 'themultiverse'

3.启动代理程序

python start_agents.py

4.启动Web UI(可选)

python agent_messaging_web.py

打开http://localhost:5002

5.使用克劳德代码

MCP服务器已预先配置。只需使用工具:

# Send a DM to an agent
dm_agent(
    agent_name="sylvia",
    content="Explain prompt engineering",
    from_user="you@example.com"
)

# List all agents
get_agents()

# View messages
view_messages(agent_name="sylvia")

可用代理

代理 角色
Sylvia 助教
罗伊 课程协调员
辛西娅 学生支持
Moss 技术支持
Tessa 社区经理
历史学家 知识守护者
架构师 系统设计师
Ray 学习协调员
编排者 工作流协调员
监视器 系统观察者
Aetherix 矩阵管理器
Morgan 研究助理

建筑

┌─────────────┐
│   Claude    │
│    Code     │
└──────┬──────┘
       │ MCP
       ▼
┌─────────────────┐
│  MCP Server     │
└────────┬────────┘
         │
         ▼
    ┌────────────┐
    │   NATS     │
    └──────┬─────┘
           │
    ┌──────┴──────┐
    ▼             ▼
┌─────────┐  ┌─────────┐
│ Agent 1 │  │ Agent 2 │
└─────────┘  └─────────┘

文件

核心文件

  • agent_messaging.py -核心消息传递基础架构
  • start_agents.py -代理启动器
  • agent_messaging_web.py -Web UI服务器

MCP服务器

  • mcp_server/servers/agent_messaging_server.py -FastMCP服务器
  • mcp_server/operations/agent_messaging_ops.py -运营
  • .mcp.json -MCP配置

配置

  • .claude/settings.local.json -克劳德代码设置
  • .cursor/rules/ -游标AI代理规则
  • .env.example -环境变量模板

示例

  • examples/ -使用示例
  • docs/ -其他文件

定制

添加您自己的代理

编辑 agent_messaging.py 并添加到 AGENT_PERSONAS:

AGENT_PERSONAS = {
    'custom_agent': {
        'name': 'Custom Agent',
        'role': 'Your Custom Role'
    }
}

自定义消息处理程序

async def custom_handler(message: Message):
    # Your custom logic
    await agent.send_message(message.from_user, "Custom response")

agent = AgentMessageQueue('agent_name', message_handler=custom_handler)

命名空间配置

集 NATS_NAMESPACE 环境变量为不同的项目使用不同的命名空间:

export NATS_NAMESPACE="project-name"

MCP工具

工具 说明
dm_agent 向代理发送DM
get_agents 列出所有可用的代理
view_messages 查看消息历史记录
view_conversation 查看用户之间的对话

需求

  • Python 3.8+
  • NATS服务器(本地或远程)
  • FastMCP
  • nats py
  • Flask(用于web UI)

许可证

麻省理工学院

支持

有关问题和疑问,请在GitHub上打开问题。