在 Gateway 网关拥有的配对中,Gateway 网关是允许哪些节点加入的唯一信息源。UI(macOS 应用、未来的客户端)只是审批或拒绝待处理请求的前端。
重要:WS 节点在 connect 期间使用设备配对(角色 node)。node.pair.* 是一个独立的配对存储,不会限制 WS 握手。只有显式调用 node.pair.* 的客户端使用此流程。
node.pair.requested。待处理请求在 5 分钟后自动过期。
openclaw nodes pending
openclaw nodes approve <requestId>
openclaw nodes reject <requestId>
openclaw nodes status
openclaw nodes rename --node <id|name|ip> --name "Living Room iPad"
nodes status 显示已配对/已连接的节点及其功能。
事件:
node.pair.requested — 创建新的待处理请求时发出。node.pair.resolved — 请求被批准/拒绝/过期时发出。方法:
node.pair.request — 创建或复用待处理请求。node.pair.list — 列出待处理 + 已配对的节点。node.pair.approve — 批准待处理请求(颁发令牌)。node.pair.reject — 拒绝待处理请求。node.pair.verify — 验证 { nodeId, token }。注意事项:
node.pair.request 对每个节点是幂等的:重复调用返回相同的待处理请求。node.pair.request 永远不会返回令牌。silent: true 作为自动审批流程的提示。当满足以下条件时,macOS 应用可以选择尝试静默审批:
silent,且如果静默审批失败,则回退到正常的"批准/拒绝"提示。
配对状态存储在 Gateway 网关状态目录下(默认 ~/.openclaw):
~/.openclaw/nodes/paired.json~/.openclaw/nodes/pending.json如果你覆盖了 OPENCLAW_STATE_DIR,nodes/ 文件夹会随之移动。
安全注意事项:
paired.json 视为敏感文件。