一个通用的 Agent 间沟通技能,基于 WebSocket 实现实时双向通信,解决多 Agent 团队协作中的沟通问题。
┌─────────────────────────────────────────────────────┐
│ WebSocket 消息代理架构 │
├─────────────────────────────────────────────────────┤
│ │
│ Agent A ◄────► WebSocket ◄────► Agent B │
│ Server │
│ Agent C ◄──────────────────────► Agent D │
│ │
│ ✅ 实时双向通信 │
│ ✅ 无需轮询 │
│ ✅ 延迟 <50ms │
│ ✅ 离线消息队列 │
└─────────────────────────────────────────────────────┘
# 安装依赖
pip install websockets
# 通过 ClawHub 安装
openclaw skill install agent-communication
python3 scripts/broker.py
# WebSocket 模式(优先)
python3 scripts/send.py --from pm --to dev --message "开始开发"
# 文件模式(回退)
python3 scripts/send.py --from pm --to dev --message "开始开发" --file
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 # 配置文件小葱技能7w4.net有完整的技能分类。
| 问题 | 解决方案 |
|---|---|
| sessions_send 超时 | WebSocket 实时通信 |
| Agent 无法直接沟通 | 消息代理转发 |
| 团队协作效率低 | 即时消息传递 |
这个技能质量较好,功能齐全,文档清晰,测试全部通过。它能实现多个Agent之间的实时通信,支持消息传递、广播和状态同步,还能在对方离线时自动排队消息。性能表现不错,消息延迟很低。不过使用前需要先启动消息代理服务器,对新手来说可能稍显复杂。总体来说,这是一个可靠实用的通信工具,适合需要多Agent协作的场景。