Gateway 是 OpenClaw 最核心的后台常驻进程,是整个系统的"中枢调度器"。可以把 Gateway 理解为一个永远在后台运行、负责协调所有内外交互的本地服务器进程——它不直接"思考"(推理由 Agent 完成),但负责决定"消息从哪里来、发给谁、是否允许执行"。
Gateway 默认绑定在 127.0.0.1:18789(本地回环地址,仅本机可访问),也可以通过配置对外开放(需配合认证令牌,否则存在严重安全风险)。
1. 消息接入与路由 Gateway 通过"适配器(Adapter)"对接各类消息平台(WhatsApp、Telegram、Discord、企业微信、QQ 等)。每个适配器负责将对应平台的消息格式转换为 OpenClaw 内部统一格式,然后 Gateway 根据消息来源(私聊/群聊/频道)将消息路由到对应的 Agent 会话。
2. 身份认证与访问控制 Gateway 在接收消息时,会检查发送者是否被允许与这个 OpenClaw 实例交互。访问控制策略包括:
3. 会话生命周期管理 Gateway 维护所有活跃会话的状态,包括对话历史、当前任务执行进度、上下文窗口使用情况等。当同一个用户在不同平台(如同时用 WhatsApp 和 Telegram)发送消息时,Gateway 可以将这些消息合并到同一个会话中,保持上下文连贯。
4. 工具执行审批与审计 当 Agent 决定调用某个工具(如执行 Shell 命令、读写文件、发送邮件)时,请求会先经过 Gateway 的安全策略检查。如果工具被标记为"需要人工审批",Gateway 会暂停执行并等待用户确认。所有工具调用记录都会写入审计日志,便于事后追溯。
5. 事件广播与多客户端同步 Gateway 通过 WebSocket 向所有已连接的客户端(CLI 工具、Web 控制面板、macOS/iOS/Android 应用)推送实时事件,包括:Agent 状态变化、任务执行进度、系统健康检查、心跳(Heartbeat)提醒等。这让用户可以在手机上实时看到 OpenClaw 正在做什么。
6. 提供 HTTP/WebSocket API 服务 Gateway 对外暴露类型化的 API 接口,第三方工具或自定义脚本可以通过这些接口与 OpenClaw 集成。例如,通过 ws://127.0.0.1:18789 发送 agent 类型请求,即可让 OpenClaw 执行指定任务并获取结果。
可以用一个类比来理解:Gateway 就像公司的"前台+项目经理",负责接收需求、分配任务、监督进度、汇报结果;而 Agent 是"一线工程师",负责真正动脑解决问题。两者解耦设计的好处是:即使 Agent 因模型调用异常而卡住,Gateway 依然稳定运行,可以响应健康检查、紧急停止指令等管理操作。
在腾讯云上部署 OpenClaw 时,Gateway 的安全配置尤为关键: