OpenClaw 核心架构

一句话:一个跑在你自己电脑或服务器上的 AI 助理,你在 WhatsApp、Telegram 这些常用聊天软件里直接跟它说话。核心是一个叫 Gateway 的常驻进程,作用像公司前台的「总机」。

01一张图看懂:所有东西都接到总机上

Gateway 是唯一的「真相来源」:会话、路由、聊天渠道连接都由它管。一台机器只跑一个。

💬 聊天渠道(20+)
WhatsApp
Telegram
Slack · Discord
Signal · iMessage
WebChat 网页
⇄

Gateway 总机

一个常驻进程 · WebSocket · 127.0.0.1:18789
📞 接线维持所有聊天渠道的连接
🧭 分派按规则把消息派给对应的 agent 和会话
🤖 agent 运行时内置,负责循环、拼提示词、接工具
⇄
🧠 大模型(可换)
Claude
GPT / Codex
本地模型
订阅制 / 中转网关
⌨️ CLIopenclaw 命令 / TUI
🖥 控制台浏览器里看聊天、改配置
🍎 macOS App菜单栏 + Canvas 小窗
📱 iOS / Android作为「节点」接入

下面这排也通过同一个 WebSocket 接到总机。手机这类叫 节点(node):它们把摄像头、录屏、定位这些能力借给 agent 用,相当于 agent 的外设。

02一条消息怎么走完

比如你在 WhatsApp 给它发「帮我查下明天天气」。

  1. 渠道收信Gateway 里的 WhatsApp 连接收到消息。
  2. 门卫检查陌生人先要过「配对」:给对方一个配对码,你用 openclaw pairing approve 批准后才理它。白名单 / 群里必须 @ 它,这些规则也在这一步。
  3. 分派给哪个 agent按「绑定(binding)」规则匹配:哪个渠道、哪个账号、哪个人或哪个群 → 哪个 agent。越具体的规则越优先。一台机器可以养多个 agent,各有各的工作间和记忆。
  4. 落到哪个会话同一个 agent 下,会话怎么分见下面。
  5. agent 干活拼好提示词,问模型 → 调工具 → 再问模型…循环到答完,过程实时推回去。
  6. 回信答案原路发回 WhatsApp。
agent:main:main
所有私聊共用 agent 的「主会话」,所以你在 WhatsApp 和 Telegram 私聊它,它记得是同一段对话。
每个群一个会话
每个群聊各自一个会话,互不串台。

03agent 的「工作间」:一堆 Markdown 文件

OpenClaw 的人格、规矩、记忆都是普通文本文件,你可以直接打开改。每次开新会话,这些文件会被读进提示词。

SOUL.md
灵魂:性格、语气、底线
IDENTITY.md
名片:名字、气质、emoji(首次启动时定)
AGENTS.md
工作守则:怎么干活、怎么用记忆
USER.md
关于你:稳定的偏好(单独 4000 字额度)
MEMORY.md
精选长期记忆
memory/日期.md
每天一篇流水账日记
skills/
技能手册:可重复的操作步骤,用到才加载;也能从 ClawHub 市场装
BOOTSTRAP.md
第一次见面的「入职仪式」,跑完自动删掉
记忆是怎么沉淀的
① 平时记日记聊天中值得记的写进当天的 memory/日期.md
↓
② 快聊满时先存档上下文要压缩前,静默跑一轮,把要点写进日记,防止丢
↓
③ 「做梦」提炼定时把日记里值得长期保留的内容,提炼进 MEMORY.md(默认开)
↓
④ 需要时检索日记会建索引(存在 SQLite),memory_search 用「语义相似 + 关键词」混合搜

04工具箱:agent 的手脚

发给模型前会先按策略过滤,被禁用的工具,模型根本看不到。

💻 跑命令

execprocessterminalcode_execution

📁 文件

readwriteeditapply_patch

🌐 上网

web_searchweb_fetchx_searchbrowser

💬 说话 / 问你

messageask_usersecrets

主动发消息、拿不准时反问、安全地要密码

👥 分身 / 目标

sessions_spawnsubagentscreate_goal

开子 agent 并行、跨会话协作、追踪长期目标

⏰ 自动化 / 设备

automationsnodesgateway

建定时任务、调手机摄像头 / 定位、管总机

🎨 多媒体

view_imageimage_generatemusic_generatevideo_generatetts

🧩 插件扩展

Canvasdiffsplugins

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 目录 / 插件