Назад към всички

agent-communication

// 一个通用的 Agent 间沟通技能,基于 **WebSocket** 实现实时双向通信,解决多 Agent 团队协作中的沟通问题。

$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly

Agent Communication Skill

一个通用的 Agent 间沟通技能,基于 WebSocket 实现实时双向通信,解决多 Agent 团队协作中的沟通问题。

技术架构

🚀 WebSocket 实时通信

┌─────────────────────────────────────────────────────┐
│            WebSocket 消息代理架构                     │
├─────────────────────────────────────────────────────┤
│                                                     │
│   Agent A  ◄────►  WebSocket  ◄────►  Agent B      │
│                     Server                          │
│   Agent C  ◄──────────────────────►  Agent D       │
│                                                     │
│   ✅ 实时双向通信                                    │
│   ✅ 无需轮询                                        │
│   ✅ 延迟 <50ms                                      │
│   ✅ 离线消息队列                                    │
└─────────────────────────────────────────────────────┘

核心功能

  • 🚀 WebSocket 实时通信 - 高性能双向通信
  • 📨 消息传递 - Agent 之间快速发送消息
  • 📢 广播消息 - 一次发送给多个 Agent
  • 🗂️ 共享工作空间 - 文件驱动的协作
  • 🟢 状态同步 - Agent 在线状态检测
  • 💾 离线消息 - 离线 Agent 自动排队

安装

# 安装依赖
pip install websockets

# 通过 ClawHub 安装
openclaw skill install agent-communication

使用方法

1. 启动消息代理(WebSocket 服务器)

python3 scripts/broker.py

2. 发送消息

# WebSocket 模式(优先)
python3 scripts/send.py --from pm --to dev --message "开始开发"

# 文件模式(回退)
python3 scripts/send.py --from pm --to dev --message "开始开发" --file

3. Agent 客户端连接

import asyncio
from websocket_client import AgentClient

async def main():
    client = AgentClient("pm", "ws://localhost:8765")
    
    # 连接并监听
    async def handle_message(msg):
        print(f"收到消息: {msg}")
    
    await client.run(handle_message)

asyncio.run(main())

性能指标

指标文件方案WebSocket 方案
延迟500ms<50ms
实时性轮询即时
CPU 占用
离线支持

文件结构

agent-communication/
├── scripts/
│   ├── broker.py           # WebSocket 消息代理
│   ├── websocket_client.py # Agent 客户端
│   ├── send.py             # 发送消息(智能选择)
│   ├── broadcast.py        # 广播消息
│   ├── status.py           # 状态管理
│   └── workspace.py        # 共享工作空间
├── data/
│   ├── messages/           # 消息存储
│   ├── status/             # Agent 状态
│   └── workspace/          # 共享数据
└── templates/
    └── config.json         # 配置文件

解决的问题

问题解决方案
sessions_send 超时WebSocket 实时通信
Agent 无法直接沟通消息代理转发
团队协作效率低即时消息传递

版本

  • 版本: 2.0.0
  • 更新: WebSocket 实时通信
  • 作者: momoflowers_bot