01 · 为什么 AI 需要一个家
从无状态聊天出发,解释 OpenClaw 为什么需要 Gateway、Memory、Channel 和 Agent 这几个基础概念。
你打开一个聊天 AI,让它帮你写代码。它写得不错,你复制结果,关掉浏览器。
现在问一个更底层的问题:那个 AI 还在吗?
不是模型服务还在不在。模型当然还在云端。这里问的是:刚才帮你理解项目、修代码、做判断的那个“助手”还在不在工作。它会不会继续盯服务器日志?会不会在凌晨三点发现故障?会不会主动从 Telegram 或 Slack 找你?
答案很简单:不会。
大多数聊天 AI 是一次请求、一次回复、一次结束。它可以很聪明,但它不是一个常驻工作实体。OpenClaw 要解决的,就是从“会聊天的模型”到“能常驻工作的 AI 助手”之间缺失的基础设施。
这一篇先建立一个底层直觉:模型提供智力,Gateway 提供常驻运行,Memory 提供长期事实,Channel 提供真实入口。
1. 先分清模型、聊天窗口和助手
新手最容易把三个东西混在一起:模型是生成文本、推理和调用工具的大脑,不是长期存在的员工;聊天窗口是你和模型交互的界面,不是运行时,也不是记忆系统;AI 助手是能长期工作、记住背景、被多个入口触达的实体,不能只靠一次对话成立。
这三个东西的差异,决定了 OpenClaw 为什么不是另一个聊天 UI。
flowchart TD
User[用户] --> Chat[聊天窗口]
Chat --> Model[模型]
Model --> Reply[回复]
Reply --> End[对话结束]
End --> Gone[助手状态消失]
这张图里没有后台进程、没有长期记忆、没有外部渠道入口。它能回答问题,但很难成为助手。
2. 无状态不是小问题
LLM 本身是无状态的。每次请求带着一段上下文进去,模型生成结果出来,调用结束。下一次请求如果没有把旧信息重新塞进去,模型就不知道之前发生过什么。
很多产品会做“记忆”功能,但它通常只是把部分偏好或摘要重新注入到新会话。它能减少重复解释,却不能直接变成一个 24 小时工作的实体。
| 你期待的助手能力 | 单纯聊天窗口能不能自然做到 | 缺什么 |
|---|---|---|
| 你睡觉时继续值班 | 不能 | 常驻进程 |
| 记住项目规则和长期偏好 | 很弱 | 可检查、可沉淀的记忆系统 |
| 从手机消息里随时叫它 | 不能 | 多渠道入口 |
| 主动提醒异常或结果 | 很弱 | 心跳、定时任务、事件机制 |
| 多个身份分工协作 | 很弱 | Agent 和路由边界 |
所以问题不是“模型够不够聪明”。模型再聪明,如果没有运行时和状态层,也只能在每次对话里临时出现。
聪明的模型只能回答当下问题;常驻助手还需要进程、状态、入口和权限边界。
3. 真正的助手需要三件基础设施
做一个思想实验:你想让 AI 在凌晨巡检服务器,异常时先按规则处理,再从 Telegram 通知你。这个场景至少需要三个能力。
flowchart LR
Process[24 小时进程] --> Assistant[AI 助手]
Memory[持久记忆] --> Assistant
Channel[多渠道入口] --> Assistant
Assistant --> Action[发现问题 / 执行动作 / 汇报结果]
3.1 没有 24 小时进程,就只能被动响应
如果 AI 只在你打开网页时存在,它就不能等你不在线时做事。
- 定时任务没人触发。
- 突发事件没人响应。
- 外部消息没人接收。
- 长任务没有稳定运行位置。
这就是 Gateway 出现的原因。OpenClaw 官方文档把它定义为一个 self-hosted gateway:你在自己的机器或服务器上运行一个 Gateway 进程,它连接聊天渠道、控制端、节点和 Agent runtime。
3.2 没有持久记忆,每次都像新人上班
你告诉 AI 项目背景、部署规则、沟通偏好。如果这些只留在聊天记录里,长会话压缩或新会话开始后就可能消失。
OpenClaw 的记忆不是神秘黑箱。官方记忆文档的核心很明确:模型只“记得”写到磁盘上的东西。默认 workspace 里有 MEMORY.md 和 memory/YYYY-MM-DD.md 这类 Markdown 文件,长期事实、日常观察和回忆线索都可以落到文件。
这就是“文件即真相”的价值:你能打开、检查、修改、版本控制。
3.3 没有多渠道入口,助手很难融入工作流
如果 AI 只能在一个网页里聊天,你每次都要专门打开它。OpenClaw 的 Channel 让同一个 Gateway 连接 Telegram、Discord、Slack、WhatsApp、Matrix、WebChat 等入口。
渠道不是“多几个聊天 App”这么简单。它还带来几个系统能力:
- 不同入口可以路由到不同 Agent。
- 私信、群组、线程可以有不同 session。
- 入口可以做 pairing、allowlist 和 mention gating。
- Agent 可以在你真实使用的地方出现,而不是留在单独工具里。
4. Gateway、Memory、Channel、Agent 的关系
把这几个概念合起来看,OpenClaw 的基本形状就清楚了。
flowchart TD
subgraph Host[你的机器或服务器]
Gateway[Gateway 常驻进程]
AgentA[Agent A]
AgentB[Agent B]
Workspace[Agent workspace]
Memory[MEMORY.md / memory 日志]
end
Telegram[Telegram] --> Gateway
Slack[Slack] --> Gateway
WebChat[WebChat / Control UI] --> Gateway
Gateway --> AgentA
Gateway --> AgentB
AgentA --> Workspace
Workspace --> Memory
| 概念 | 可以怎么理解 | 主要职责 |
|---|---|---|
| Gateway | 常驻控制面 | 管渠道连接、WebSocket 控制面、session、事件、Agent 调度 |
| Agent | 具体干活的人 | 根据身份、规则、记忆和工具执行任务 |
| Workspace | Agent 的工作实体边界 | 放 AGENTS.md、SOUL.md、TOOLS.md、MEMORY.md 等文件 |
| Memory | 长期可检查的记忆层 | 保存事实、偏好、决策、每日观察和可搜索线索 |
| Channel | 外部消息入口 | 连接聊天平台,处理 sender、group、thread、pairing 和路由 |
一句话:Gateway 让 AI 活着,Memory 让 AI 记得,Channel 让你找得到它,Agent 负责真正做事。
如果只记一句话:OpenClaw 不是把模型包装成聊天框,而是给 Agent 一个能长期运行的家。
5. OpenClaw 不是另一个 ChatGPT
把 OpenClaw 当成“自建 ChatGPT”会误解它。
ChatGPT 是产品:模型、界面、账号、托管服务都由平台提供。OpenClaw 是 self-hosted gateway:它负责把你选择的模型、Agent runtime、workspace、渠道和控制面组织起来。
| 对比项 | ChatGPT 这类聊天产品 | OpenClaw |
|---|---|---|
| 核心定位 | 对话产品 | 自托管 Agent Gateway |
| 运行位置 | 平台托管 | 你的机器或服务器 |
| 模型来源 | 平台内置 | 连接你配置的 provider 或 runtime |
| 工作方式 | 打开对话再使用 | Gateway 常驻,渠道随时可触达 |
| 记忆形态 | 产品内部能力 | workspace 文件和 memory 系统 |
| 适合问题 | 直接问答、写作、分析 | 长期助手、多入口、工具执行、个人工作流 |
所以 OpenClaw 的重点不是“换一个聊天界面”,而是给 AI 一个可长期工作的运行环境。
6. 为什么不是直接用 LangChain 或 CrewAI
LangChain、CrewAI 这类框架更像开发工具箱。它们帮助开发者构建 AI 应用,但你仍要自己处理进程常驻、渠道连接、记忆存储、权限、session、部署和排障。
OpenClaw 的定位不同:它先给你一个能运行的个人 AI 助手容器,再让你通过配置和 workspace 文件去塑造 Agent。
| 你要做的事 | 用通用框架通常要自己处理 | OpenClaw 提供的默认层 |
|---|---|---|
| 接 Telegram 或 Slack | Bot API、webhook、消息格式、重试 | Channel 配置和 Gateway 路由 |
| 24 小时运行 | 进程管理、服务守护、日志 | Gateway 进程和 daemon/runbook |
| 长期记忆 | 数据库、索引、摘要策略 | workspace Markdown、memory tools、memory backends |
| 多 Agent 分工 | 路由、上下文隔离、权限分层 | Agent 配置、binding、session key |
| 安全入口 | allowlist、pairing、group policy | Channel policy 和 Gateway 安全配置 |
这不是谁替代谁的问题。想写自己的 AI 应用,用框架。想在自己机器上跑一个长期助手,用 OpenClaw 更接近目标。
7. 三个关键设计取舍
OpenClaw 的设计明显偏向个人可用性和可检查性。
7.1 单个 Gateway 优先
官方架构文档强调一个 host 上由一个长期 Gateway 拥有渠道连接和控制面。这样做牺牲了一些企业级拆分想象,但换来更低的部署复杂度和更清楚的运行边界。
如果一个 WhatsApp session、一个 Telegram bot、多个控制端都抢同一份状态,个人用户很快就会陷入排障地狱。一个 Gateway 做主,行为更可预测。
7.2 文件可见优先
记忆和身份文件放在 workspace 里,意味着 Agent 的长期行为不是藏在某个看不见的产品数据库里。你可以打开 SOUL.md 看它的决策框架,打开 MEMORY.md 看长期事实,打开每日日志看最近发生了什么。
这不是性能最强的方案,但它适合个人掌控。
7.3 嵌入式优先
Agent 运行在 Gateway 管理的 runtime 里,不需要每个 Agent 都变成一套复杂服务。对个人用户来说,少一个服务、少一个数据库、少一个消息队列,就是更高的成功率。
这三个取舍可以压成一句话:控制面选择一个 Gateway 主控,放弃多服务自由拆分,换来部署简单和排障集中;记忆选择文件和 workspace 可见,放弃完全黑箱托管,换来用户能检查和迁移;Agent 运行选择 Gateway 管理 runtime,放弃每个 Agent 独立服务,换来个人机器更容易跑起来。
8. 常见误解
常见误解可以按这组边界校正:
- OpenClaw 不是模型。它连接模型和 Agent runtime,本身是 Gateway 和运行环境。
- OpenClaw 不是聊天 UI。UI 只是入口之一,核心是常驻 Gateway。
- 有记忆功能不等于有状态助手。记忆只是状态的一部分,还需要进程、渠道、任务和权限。
- 多渠道不是多接几个 App。渠道还包含 sender、group、thread、session、allowlist 和路由。
- 多 Agent 不是越多越高级。只有记忆、权限、模型或职责需要隔离时才拆。
理解这些误区,比记住命令更重要。命令可以查,系统边界想错了,后面每一步都会乱。
9. 怎么验证自己真的理解了
你可以用 6 个问题检查:
- 为什么聊天窗口关掉后 AI 不算还在工作?合格答案要包含“没有常驻进程和持续 session”。
- Gateway 解决什么问题?合格答案要包含“渠道连接、控制面、事件、Agent 调度和长期运行”。
- Memory 为什么要落文件?合格答案要包含“模型无隐藏长期状态,文件可见、可查、可迁移”。
- Channel 为什么不是简单聊天入口?合格答案要包含“sender、group、thread、routing、allowlist”。
- Agent 和 Gateway 为什么要分开理解?合格答案要包含“Gateway 是基础设施,Agent 是具体工作角色”。
- OpenClaw 和 LangChain 的差异是什么?合格答案要包含“一个是运行环境,一个偏应用开发工具箱”。
如果你能不用背定义,把这些问题解释给别人听,这一篇就读懂了。
10. 给 Agent 的实践任务
如果你已经安装了 OpenClaw,可以把下面这段交给 Claude Code、Codex 或其他本地 Agent:
请帮我检查本机 OpenClaw 的三个基础层:
1. Gateway 是否在运行,先看 openclaw status 和 openclaw gateway status。
2. workspace 在哪里,列出 AGENTS.md、SOUL.md、TOOLS.md、MEMORY.md 是否存在。
3. 当前配置里启用了哪些 channel,只列渠道名称和安全策略,不打印 token。
最后用三句话总结:Gateway 是否活着、Memory 是否有沉淀、Channel 是否可触达。如果你还没安装,就先不要让 Agent 猜本地状态。改成让它阅读官方教程中文版的安装和 Gateway 架构两页,给你列出需要准备的环境。
11. 本章自检
- 为什么“模型很强”不等于“助手能长期工作”?
- Gateway、Memory、Channel 分别解决哪一个缺口?
- OpenClaw 为什么不是另一个 ChatGPT?
- 文件即真相对个人用户有什么价值?
- 什么时候应该先读官方教程,而不是继续读原理文章?
12. 接下来去哪
02 · 一条消息的旅程
继续看一条 Telegram 或 Slack 消息如何经过 Channel、binding、session、context、Agent loop。
官方教程:安装
如果还没安装,先回到官方安装流程,确认运行前置条件。
官方教程:Gateway 架构
对照官方架构页继续理解 Gateway、Control UI、CLI、Nodes 和 WebChat。