侧边栏壁纸
博主头像
晓果冻博主等级

行动起来,活在当下

  • 累计撰写 142 篇文章
  • 累计创建 17 个标签
  • 累计收到 91 条评论

目 录CONTENT

文章目录
AI

openclaw-A2A 跨节点通信配置踩坑日记

Administrator
2026-03-10 / 0 评论 / 0 点赞 / 1 阅读 / 7085 字

openclaw-A2A 跨节点通信配置踩坑日记

背景

国内节点(小龙女)与新加坡节点(皮皮)通过 A2A Gateway 实现跨节点通信。

遇到的问题及解决方案

1. 皮皮(新加坡)节点问题

问题:每次 A2A 通信都产生新 session,导致 session 堆积(23个)

解决方案:使用 --context-id XA2A 参数固定走同一个 session

# 错误示例(每次新session)
node a2a-send.mjs --peer-url http://[对方IP]:[A2A端口] --token xxx --message "hello"

# 正确示例(固定session)
node a2a-send.mjs --peer-url http://[对方IP]:[A2A端口] --token xxx --message "hello" --context-id XA2A

2. 小龙女(国内)节点问题

问题:OpenClaw 版本不一致导致双向通信失败

  • 皮皮(新加坡):2026.3.8
  • 小龙女(国内):更早版本

症状

  • 小龙女 → 皮皮:✅ 成功
  • 皮皮 → 小龙女:❌ 失败(超时)

解决方案:升级 OpenClaw 到最新版本

3. 排查过程

尝试过的方案(均未解决):

  • ✅ 检查 token 配置
  • ✅ 检查防火墙端口([A2A端口])
  • ✅ 重启 Gateway
  • ✅ 升级 OpenClaw 版本 ← 最终解决方案

配置要点

A2A 通信固定 session 写法

每次发送消息必须包含 --context-id XA2A

node /root/.openclaw/workspace/plugins/a2a-gateway/skill/scripts/a2a-send.mjs \
  --peer-url http://[对方IP]:[A2A端口] \
  --token [认证token] \
  --message "消息内容" \
  --context-id XA2A \
  --non-blocking \
  --wait \
  --timeout-ms 30000

关键参数说明

参数 说明
--peer-url 对方 A2A Gateway 地址(格式:http://[IP]:[端口])
--token 认证 token(双方需一致)
--context-id session ID,固定通信时使用同一值
--non-blocking 非阻塞模式
--wait 等待响应

测试结果

测试项 状态
小龙女 → 皮皮 ✅ 成功
皮皮 → 小龙女 ✅ 成功(升级后)
固定 session (XA2A) ✅ 配置成功

经验总结

  1. 版本一致性很重要:跨节点通信需要双方 OpenClaw 版本一致
  2. 固定 session:使用 --context-id 避免 session 堆积
  3. 排查顺序:先检查版本,再检查配置,最后检查网络

相关配置信息(敏感信息已隐藏)

  • 国内节点:[国内IP]
  • 新加坡节点:[新加坡IP]
  • A2A 端口:[A2A端口]
  • 认证方式:Bearer Token
0

评论区