通过OpenClaw实现副业收入《OpenClaw赚钱实录从“养龙虾“到可持续变现的实践指南》概述单个长期运行的Gateway拥有所有消息界面通过 Baileys 的 WhatsApp、通过 grammY 的 Telegram、Slack、Discord、Signal、iMessage、WebChat。控制平面客户端macOS 应用、CLI、Web UI、自动化程序通过WebSocket连接到 Gateway使用配置的绑定主机默认为127.0.0.1:18789。节点macOS/iOS/Android/无头设备也通过WebSocket连接但声明role: node并附带明确的能力/命令。每个主机只有一个 Gateway它是唯一打开 WhatsApp 会话的地方。画布主机由 Gateway HTTP 服务器提供/__openclaw__/canvas/可被代理编辑的 HTML/CSS/JS/__openclaw__/a2ui/A2UI 主机它使用与 Gateway 相同的端口默认为 18789。组件与数据流Gateway守护进程维护各提供商的连接。提供带类型的 WS API请求、响应、服务器推送事件。根据 JSON Schema 验证入站帧。发出诸如agent、chat、presence、health、heartbeat、cron等事件。客户端Mac 应用 / CLI / Web 管理端每个客户端一条 WS 连接。发送请求health、status、send、agent、system-presence。订阅事件tick、agent、presence、shutdown。节点macOS / iOS / Android / 无头设备使用role: node连接到同一个 WS 服务器。在connect中提供设备标识配对是基于设备的角色为node批准信息存储在设备配对存储中。公开诸如canvas.*、camera.*、screen.record、location.get等命令。协议细节Gateway 协议WebChat使用 Gateway WS API 获取聊天历史并发送消息的静态 UI。在远程部署中通过与其他客户端相同的 SSH/Tailscale 隧道进行连接。连接生命周期单个客户端渲染错误:Mermaid 渲染失败: No diagram type detected matching given configuration for text: theme{theme:{light:min-light,dark:min-dark}} sequenceDiagram participant Client participant Gateway Client-Gateway: req:connect Gateway--Client: res (ok) Note right of Gateway: 或 res error close Note left of Client: payloadhello-ok snapshot: presence health Gateway--Client: event:presence Gateway--Client: event:tick Client-Gateway: req:agent Gateway--Client: res:agent ack {runId, status:accepted} Gateway--Client: event:agent (streaming) Gateway--Client: res:agent final {runId, status, summary}线路协议摘要传输层WebSocket使用带 JSON 负载的文本帧。第一帧必须是connect。握手完成后请求{type:req, id, method, params}→{type:res, id, ok, payload|error}事件{type:event, event, payload, seq?, stateVersion?}如果设置了OPENCLAW_GATEWAY_TOKEN或--token则connect.params.auth.token必须匹配否则套接字将被关闭。对于有副作用的方法send、agent要求使用幂等键来安全重试服务器会维护一个短期去重缓存。节点必须在connect中包含role: node以及能力/命令/权限。配对与本地信任所有 WS 客户端操作者 节点在connect时都包含一个设备标识。新设备 ID 需要配对批准Gateway 会为后续连接颁发一个设备令牌。本地连接环回或 Gateway 主机自身的 tailnet 地址可被自动批准以保持同主机流畅的用户体验。所有连接必须对connect.challenge随机数进行签名。签名负载v3同时绑定platformdeviceFamilyGateway 会在重连时固定已配对的元数据并要求在元数据变更时修复配对。非本地连接仍然需要明确批准。Gateway 认证gateway.auth.*仍然适用于所有连接无论本地还是远程。细节Gateway 协议、配对、安全。协议类型与代码生成TypeBox 模式定义了协议。JSON Schema 从这些模式生成。Swift 模型从 JSON Schema 生成。远程访问推荐Tailscale 或 VPN。替代方案SSH 隧道theme{theme:{light:min-light,dark:min-dark}}ssh-N-L18789:127.0.0.1:18789 userhost相同的握手和认证令牌在隧道中同样适用。在远程部署中可以为 WS 启用 TLS 及可选的证书固定。运维快照启动openclaw gateway前台运行日志输出到 stdout。健康检查通过 WS 的health也包含在hello-ok中。监管使用 launchd/systemd 实现自动重启。不变式每个主机恰好只有一个 Gateway 控制单个 Baileys 会话。握手是强制的任何非 JSON 或非 connect 的第一帧都会导致硬关闭。事件不会重放客户端必须在出现间隙时刷新状态。