OpenClaw 核心架构
一句话:一个跑在你自己电脑或服务器上的 AI 助理,你在 WhatsApp、Telegram 这些常用聊天软件里直接跟它说话。核心是一个叫 Gateway 的常驻进程,作用像公司前台的「总机」。
01一张图看懂:所有东西都接到总机上
Gateway 是唯一的「真相来源」:会话、路由、聊天渠道连接都由它管。一台机器只跑一个。
Gateway 总机
openclaw 命令 / TUI
下面这排也通过同一个 WebSocket 接到总机。手机这类叫 节点(node):它们把摄像头、录屏、定位这些能力借给 agent 用,相当于 agent 的外设。
02一条消息怎么走完
比如你在 WhatsApp 给它发「帮我查下明天天气」。
- 渠道收信Gateway 里的 WhatsApp 连接收到消息。
-
门卫检查陌生人先要过「配对」:给对方一个配对码,你用
openclaw pairing approve批准后才理它。白名单 / 群里必须 @ 它,这些规则也在这一步。 - 分派给哪个 agent按「绑定(binding)」规则匹配:哪个渠道、哪个账号、哪个人或哪个群 → 哪个 agent。越具体的规则越优先。一台机器可以养多个 agent,各有各的工作间和记忆。
- 落到哪个会话同一个 agent 下,会话怎么分见下面。
- agent 干活拼好提示词,问模型 → 调工具 → 再问模型…循环到答完,过程实时推回去。
- 回信答案原路发回 WhatsApp。
03agent 的「工作间」:一堆 Markdown 文件
OpenClaw 的人格、规矩、记忆都是普通文本文件,你可以直接打开改。每次开新会话,这些文件会被读进提示词。
memory/日期.md
MEMORY.md(默认开)
memory_search
用「语义相似 + 关键词」混合搜
04工具箱:agent 的手脚
发给模型前会先按策略过滤,被禁用的工具,模型根本看不到。
💻 跑命令
📁 文件
🌐 上网
💬 说话 / 问你
主动发消息、拿不准时反问、安全地要密码
👥 分身 / 目标
开子 agent 并行、跨会话协作、追踪长期目标
⏰ 自动化 / 设备
建定时任务、调手机摄像头 / 定位、管总机
🎨 多媒体
🧩 插件扩展
Canvas:在 macOS 上弹出 agent 画的小部件面板
05它会主动找你:自动化
🔁 主动巡检
装好后默认就有一个「Proactive check」任务:每 30
分钟在主会话里醒一次,有新情况就私信你,没事就回
NO_REPLY 不打扰。以前叫
heartbeat,现在并进了普通自动化任务。
⏰ 定时任务
「每天早上 8 点给我发新闻摘要」这种,用 cron 表达式排程。
🪝 hooks / webhooks
外部事件(比如收到一封邮件、某个服务回调)可以直接唤醒 agent。
06安全:把外来消息当「不可信输入」
🚪 陌生人要配对
能收私信的渠道,默认陌生人先拿配对码,你批了才回。还能设白名单、群里必须 @。
📱 设备也要配对
每个连上总机的客户端 / 手机都有设备身份。本机直连可自动通过;局域网、Tailscale、远程连接都要你明确批准。
📦 沙箱(默认关)
默认工具直接在你电脑上跑。可以开沙箱,把工具执行挪进 Docker(也支持 Podman、SSH 等);总机本身始终留在主机上。
🌍 远程访问
Gateway 默认只听本机 127.0.0.1。要在外面用,推荐 Tailscale / VPN,或 SSH 隧道。
07和你刚看的 Hermes 对比一下
骨架很像:都是「本地常驻网关 + agent 循环 + 工具 + 记忆 + 多渠道」。差别在侧重点。
| OpenClaw | Hermes | |
|---|---|---|
| 技术栈 | TypeScript / Node.js | Python(Desktop 是 Electron) |
| 中枢 | Gateway:WebSocket 控制平面,客户端和手机都连它 | gateway 进程:桌面 App 经 gateway.sock 连它 |
| 手机的角色 | 「节点」:把摄像头、定位、录屏借给 agent | 只作为聊天入口(Telegram 等) |
| 多个 agent | binding 规则把不同渠道 / 人 / 群分给不同 agent | 多 profile(如 default / 工作专用 profile),一个 gateway 服务全部 |
| 记忆 | Markdown 日记 + 定时「做梦」提炼 + 混合检索 | MEMORY.md / USER.md 便签 + 聊天全文搜索 |
| 主动性 | 默认每 30 分钟主动巡检 | cron 定时任务、kanban 派活 |
| 技能市场 | ClawHub | skills 目录 / 插件 |