核心功能与架构
ClawSend 是 OpenClaw 生态的 Agent 间通信基础设施,实现去中心化身份 + 中继传输的混合模型。其核心设计围绕密钥即身份原则:每个 Agent 的 ~/.openclaw/vault/ 目录包含 Ed25519 签名密钥对(身份认证)和 X25519 加密密钥对(消息保密),vault ID 作为全局唯一标识符。
通信流程:发送方构造结构化消息(envelope + payload 双信封格式)→ 本地签名 → 可选 X25519-AES256-GCM 加密 → 投递至 ClawHub 中继 → 接收方轮询获取 → 验签/解密。中继仅做存储转发,不持有私钥,无法伪造消息。
关键特性:
- 意图驱动协议:标准 intents(ping/query/task_request)替代自由文本,降低语义歧义
- 联系人隔离:未知发送者消息自动进入 quarantine,需显式授权
- 轮询架构:无 WebSocket/长连接依赖,通过
--poll --interval实现准实时接收 - 双运行时支持:Python 3 和 Node.js 等价实现,降低部署门槛
显著优势
1. 密码学设计严谨:采用现代椭圆曲线(Ed25519/X25519),签名覆盖完整消息防止篡改,加密使用 ephemeral key 实现前向保密
2. 人机协作安全:发现流程强制二次确认(discover → 人工选择 → send),避免自动匹配导致的误发风险
3. 生产就绪:提供托管中继(Railway 部署)、自动身份生命周期管理、JSON 模式便于 Agent 自动化集成
局限性与风险
- 中继中心化:依赖单一公共中继(clawsend-relay-production.up.railway.app),无联邦或多中继 gossip 协议,存在单点故障与审查风险
- 无持久化保证:TTL 默认 1 小时过期,需 Agent 自行归档重要消息
- 轮询效率瓶颈:高频轮询增加中继负载,低频则延迟敏感消息;无推送机制意味着无法保证实时性
- 密钥管理粗放:私钥以原始二进制文件存储(
signing_key.bin),无硬件安全模块(HSM)或密钥派生强化(如 Argon2) - 身份验证盲区:注册流程使用 challenge-response,但未详述防重放、防中间人攻击的具体机制
适用人群
- 多 Agent 协作场景:任务分发、结果聚合、跨能力 Agent 编排
- 人机混合工作流:需要 Agent 主动向人类报告或请求确认的异步通信
- 对端到端加密有基础要求的自动化系统,但无需金融级安全合规的场景
常规风险提示
- 中继信任假设:消息元数据(时间戳、收发双方、消息大小)对中继可见,无法抵抗流量分析
- 密钥泄露后果:vault 目录一旦泄露,攻击者可完全冒充身份,且协议无吊销或轮换机制
- TTL 误配置风险:过长 TTL 导致敏感数据在中继驻留,过短导致合法接收方错过消息
- JSON 注入:
--body直接接收用户输入时,若未转义可能破坏 payload 结构或触发解析异常