🏗️ Gateway · Node · Channel 三层架构

OpenClaw 采用 Gateway-Node-Channel 三层架构,以 WebSocket 为通信总线,将控制平面、设备执行与消息渠道解耦。

📱 Channel
20+ 消息渠道
🌐 Gateway
中央控制平面
💻 Node
设备端执行
层级 职责 关键细节
Gateway 中央控制平面,维护 WebSocket 服务、管理 Session、调度 Agent 默认绑定 ws://127.0.0.1:18789,每台主机一个实例
Node 设备端执行节点,负责本地操作 camera(摄像头)、screen recording(录屏)、system.run(系统命令)等
Channel 消息渠道接入层,连接 20+ 即时通讯平台 WhatsApp、Telegram、Discord、Slack、飞书、钉钉等

🔒 Loopback-First 设计

Security by Default

Gateway 默认只绑定 localhost(127.0.0.1),所有流量在本地回环。这意味着:

  • 不开放任何外网端口,天然安全
  • 同一台机器上的 Node 直接通过 WebSocket 连接 Gateway
  • 需要远程访问时,通过 Tailscale Serve/Funnel 暴露,不直接暴露端口
💡 核心建议

每台主机只运行一个 Gateway 实例。这是因为 WhatsApp Web 等渠道需要独占会话,多实例会导致登录冲突。

📊 代码规模与性能

指标数值
代码规模约 43 万行 TypeScript
内存占用约 1GB(运行时)
启动时间3-5 秒
扩展数量40+ 个官方扩展
内置技能55 个
社区技能13,729 个(ClawHub 注册)