OpenClaw 工作原理:Gateway 网关如何连接聊天软件与智能体
理解 OpenClaw 的所有配置项之前,先看清一条消息的完整旅程。这是整个项目最核心的设计,后面的渠道、配对、群组、心跳全部建立在这张图上。
四层结构
- 聊天应用层:你的 Telegram、WhatsApp、Discord、Slack、飞书、iMessage 等。每个应用对应一个「渠道」(channel),渠道负责收发消息,本身不思考。
- Gateway 网关层:一个常驻进程,监听本地端口(默认 18789)。它是会话、路由和渠道连接的唯一事实来源——哪条消息进哪个会话、回复发回哪个渠道,都由它裁决。
- 智能体运行时:网关内置的智能体运行时,负责调用模型、执行工具(浏览器、命令行、文件、联网搜索)、维护上下文。
- 记忆与工作区:磁盘上的纯 Markdown 文件(MEMORY.md、每日笔记、SOUL.md 等),模型只记得写进文件的内容。
一条消息的旅程
- 你在 Telegram 里给机器人发「帮我看看今天的日程」。
- 渠道适配器把消息规范化成统一信封(含发送者、群组、回复引用等元数据),交给网关。
- 网关按路由规则找到目标会话——可能是主会话,也可能是按发送者或群组隔离的独立会话。
- 智能体运行时组装上下文:系统提示词 + 工作区引导文件 + 符合条件的技能清单 + 这条消息,然后调用你配置的模型。
- 模型如需动手(查日历、跑命令、开浏览器),在工具循环里完成,再生成最终回答。
- 回答被路由回 Telegram——路由是确定性的,从哪来就回哪去,模型不决定投递渠道。
为什么「网关」是关键词
- 一个进程服务所有渠道:渠道可以随时增删,网关不动。
- 多智能体路由:同一个网关可以按工作区或发送者隔离出多个智能体,各自独立会话(见 多智能体)。
- 手机是节点不是网关:Android/iOS 应用是「配套节点」,提供摄像头、麦克风、通知这些设备能力,网关永远跑在电脑或服务器上(见 Android 配对)。
无配置也能跑
不写任何配置时,OpenClaw 用内置运行时以 RPC 模式运行,并为每个发送者创建独立会话;想收紧权限,再从渠道的白名单和群组提及规则开始改配置。官方文档特别强调:先限制「谁能发消息」,再开放「它能做什么」,顺序不要反。