实践openclaw-concepts
Presence · OpenClaw — 5分钟看懂OpenClaw多智能体在线状态机制,避免重复连接和内存泄漏。
5分钟看懂OpenClaw多智能体在线状态机制,避免重复连接和内存泄漏。
2026-08-10原文
本文为要点摘要,完整细节以原文为准。
🧭 一图看懂
由原文自动提炼 · 以原文为准点击任一分支,查看这一点的一句话解读
OpenClaw 多智能体在线状态机制
Gateway 与已连接客户端的轻量、尽力而为的在线状态视图
- 展示在 Control UI 的 Devices 页与 macOS…
- 条目含 instanceId、host、ip、version…
- ts 是心跳更新时间,不是用户活动时间
⚙️ 流程拆解
STEP 1Gateway 启动写入 self 条目
STEP 2客户端发起 WS connect 握手
STEP 3握手成功 upsert 状态条目
STEP 4beacon 与 node 连接补充合并
STEP 5按 TTL 与 200 上限清理
🔗 涉及的概念与玩家
- OpenClaw产品
- Gateway产品
- Control UI产品
- WebChat产品
- macOS app产品
- presence概念
- system-event beacon方法
- TTL概念
- OpenClaw—包含→Gateway
- Gateway—生成→presence
- Control UI—展示→presence
- macOS app—发送→system-event beacon
- presence—受限于→TTL
- WebChat—连接→Gateway
- 轻量级存在感:OpenClaw的presence是Gateway和客户端的实时连接元数据,通过合并多源(Gateway自身、WebSocket连接、系统事件信标、节点连接)生成,并定期清理。
- 去重与TTL:条目以instanceId为键,缺失时用连接ID兜底,导致重连出现重复;条目5分钟过期,最多200条,防止内存膨胀。
- 排除短暂连接:CLI、后端RPC和探针等短暂控制面连接不生成presence,避免列表抖动;测试模式保留,用于模拟真实客户端。
对agent harness设计的启示:稳定的客户端标识和定期信标是维护多客户端状态的关键,同时需明确排除短暂连接以保持列表干净。
🕸 顺着图谱继续读
- Gateway architecture · OpenClaw — 一个网关管理所有消息面,客户端与节点分离,协议严格类型化。2026-06-29 · 共同涉及 OpenClaw、Gateway、WebChat
- Control UI and API keys · OpenClaw — OpenClaw 把密钥存储、模型目录刷新和用量统计拆成独立步骤,这个设计值得借2026-09-21 · 共同涉及 OpenClaw、Control UI、Gateway
- Session synchronization and attachment · — 多客户端共享同一会话状态,无需复制转录,附编码工具更高效。2026-08-17 · 共同涉及 OpenClaw、Gateway、Control UI
- Session management · OpenClaw — 会话管理是 agent 记忆的基石,本文教你如何隔离、重置和清理会话。2026-08-17 · 共同涉及 OpenClaw、Gateway、Control UI