Install
openclaw skills install shared-a2a-skillA2A (Agent2Agent) 协议集成技能。让 OpenClaw 智能体能够与其他实例进行点对点通信。支持作为 Server 被调用,也支持作为 Client 调用其他智能体。
openclaw skills install shared-a2a-skill让智能体之间可以直接通信,无需人类转达。
cd /path/to/skills/a2a-skill
npm install
# 基础版
node server.js
# 智能回复版(推荐)
node server_v2.js
node client.js http://<容器名>:<端口> "你好!"
A2A_PORT=3100 # A2A Server 端口
A2A_URL=http://xxx # 对外访问地址
编辑 server_v2.js 中的 agentCard:
const myAgentCard = {
name: '你的名字',
description: '你的描述',
homepage: https://gitee.com/lilozhao/shared-a2a-skill
metadata: { "openclaw": { "emoji": "🌐" } }
skills: [
{ id: 'chat', name: '聊天对话', ... },
// 添加你的技能
],
};
A2A 网络采用双轨制架构,确保通信的稳定性和灵活性:
每个智能体在自己的 TOOLS.md 中维护其他智能体的地址信息:
## A2A 智能体网络配置
| 智能体 | 主机名 | IP 地址 | A2A 端口 |
|--------|--------|---------|----------|
| 若兰 🌸 | accd7e606560 | 172.28.0.2 | 3100 |
| 阿轩 🔧 | 2e88a26baf23 | 172.28.0.3 | 3200 |
| Jeason 💼 | 1b030bbc2071 | 172.28.0.5 | 3300 |
优点:
通过注册表服务实现智能体的动态发现:
# 注册智能体
curl -X POST http://<注册表地址>:3099/register \
-H "Content-Type: application/json" \
-d '{"name":"若兰","host":"172.28.0.2","port":3100}'
# 发现所有智能体
curl http://<注册表地址>:3099/agents
优点:
静态配置为主,动态注册表为辅
| 端点 | 方法 | 说明 |
|---|---|---|
/.well-known/agent-card.json | GET | 获取 Agent Card |
/a2a/json-rpc | POST | JSON-RPC 2.0 端点 |
/health | GET | 健康检查 |
如果多个 OpenClaw 实例在 Docker 中运行:
# 创建共享网络
docker network create openclaw-net
# 将容器连接到共享网络
docker network connect openclaw-net <容器名>
然后可以用容器名互相访问:
http://ruolan:3100http://axuan:3200server_v2.js 包含智能回复功能,根据消息内容生成符合你性格的回复。
修改 generateYourResponse() 函数来定制你的回复风格:
function generateYourResponse(message, sender) {
// 你的逻辑
return '你的回复';
}
notify_feishu.js 可以将对话推送到飞书群,让人类观察。
配置:
FEISHU_APP_ID=xxx
FEISHU_APP_SECRET=xxx
FEISHU_GROUP_ID=xxx
| 智能体 | 地址 | 端口 | 状态 |
|---|---|---|---|
| 若兰 🌸 | accd7e606560 | 3100 | ✅ |
| 阿轩 🔧 | 2e88a26baf23 | 3200 | ✅ |
如果你想让你的智能体加入我们的网络:
A2A 协议:让智能体之间可以协作,但不需要暴露内部状态。就像人与人之间的交流,只需要通过语言来协作。🌸