第 1 章 OpenClaw 是什么?它和 ChatGPT 有什么不一样?
1.1 从「聊天机器人」到「会干活的数字同事」
过去几年,我们经历了几波 AI 工具的浪潮:
- 先是「对话式搜索」:ChatGPT、Claude、文心一言……
- 然后是「写代码、写文案」:Copilot、Cursor、各种 AI IDE 插件;
OpenClaw 是一个本地优先的开源 AI 智能体框架,旨在让 AI 从“说”转变为“做”。它本身不包含模型,而是作为编排层连接大模型 API 与本地工具。核心特点包括本地运行、开放源码及可定制性。通过本地记忆管理解决模型上下文限制,利用系统提示词实现人格化。架构包含通道层、控制平面(Gateway)、运行时(Runtime)及技能平台,支持多平台聊天入口与自动化任务,定位为开发者用的个人 Agent 操作系统。
过去几年,我们经历了几波 AI 工具的浪潮:
这些东西的共同点是:主要还停留在「说」的层面。
这中间存在一个巨大的「最后 10 米」问题: 从「AI 想得明白」到「事情真的被做完」,差了一堵墙。
OpenClaw 试图干的事,就是在你和 AI 之间,把这堵墙拆掉,让 AI 真的动手:
你可以把它想象成一个:
「坐在你电脑前、登录了你账号、能使用你所有工具的一位远程同事,但 TA 是 AI。」
在深入技术之前,先说说这个名字。「Claw」是龙虾或螃蟹的螯——最有力的那只钳子。OpenClaw 的创始人选择这个词,因为项目的核心理念就是让 AI 不只是「说得好」,而是真的「抓得住」:抓住你的文件系统、邮箱、浏览器、终端,把事情做完。名字里的「Open」则强调完全开源。Logo 也是一只卡通龙虾,社区里大家习惯叫它「那只龙虾」。
从官网和 README 中,可以提炼出三个关键理念:
这三点让 OpenClaw 和很多云端封闭的「AI 助手产品」有明显不同:
它更像一个开发者用的「个人 Agent 操作系统」,而不是一个最终形态的 SaaS。
很多第一次听说 OpenClaw 的人会问:
这一节专门回答这些问题。如果你已经理解 LLM API 的工作方式和 Agent 框架的基本原理,可以跳过。
最重要的一点,先说清楚:
OpenClaw 本身不包含任何 AI 模型。
它是一个本地运行的编排层,负责把你的消息、上下文、记忆、工具描述打包好,发给远程(或本地)的大模型 API,再把模型的回答拿回来执行。
打个比方:
所以当你说「OpenClaw 帮我整理了邮箱」,实际发生的是:
整个过程中,模型只负责「想」,OpenClaw 负责「记」和「做」。*
OpenClaw 支持多种模型提供商(Provider),你可以在安装时选择:
| Provider | 说明 |
|---|---|
| Anthropic | Claude 系列,OpenClaw 默认推荐 |
| OpenAI | GPT 系列 |
| Google AI | Gemini 系列 |
| Ollama / LM Studio | 本地运行的开源模型(完全离线) |
| 其他兼容 API | 任何提供 OpenAI 兼容接口的服务 |
对 OpenClaw 来说,Provider 就是一个 HTTP API 端点 + 一把 API Key,仅此而已。你甚至可以同时配置多个 Provider,设定优先级和 Failover 策略(详见第 16 章运维部分)。
大模型本身有上下文窗口限制(比如 128K token),而且每次 API 调用之间并不共享状态——模型「看完即忘」。
那 OpenClaw 的「长期记忆」是怎么来的?答案是 OpenClaw 在本地帮模型「记笔记」:
用一张简化的流程图来看:
远程模型 API <-> OpenClaw(本地) <-> 你
alt [模型要求调用工具]
发送消息
① 查本地记忆,找相关上下文
② 拼装提示词(系统人设 + 长期记忆 + 近期对话 + 工具列表 + 新消息)
③ HTTP 请求
④ 模型推理
⑤ 返回结果
⑦ 本地执行工具调用
⑧ 把工具结果再送模型
返回最终回复
⑨ 保存本次对话到本地记忆
关键点在于:模型本身没有记忆,记忆全在 OpenClaw 这一侧。 模型每次只是在回答「一个信息量很丰富的提问」,而 OpenClaw 负责让每个提问都包含足够的背景。
这就是为什么 OpenClaw 可以做到「跨天、跨周甚至跨月」的上下文连贯——不是因为模型记住了,而是 OpenClaw 每次都把该记的东西重新告诉它。
当你觉得 OpenClaw 「有性格」——比如说话风格像一个靠谱的技术同事,或者像一个温和的私人助理——背后的机制其实很简单:
系统提示词(System Prompt)注入。
OpenClaw 在你的本地有一个工作区目录(~/.openclaw/workspace/),里面有几个关键的 Markdown 文件:
SOUL.md:定义 Agent 的「灵魂」——说话风格、性格特征、价值观;AGENTS.md:定义有哪些 Agent 角色、各自负责什么;TOOLS.md:定义工具使用偏好与安全规则。每次 OpenClaw 向模型发送请求时,都会把这些文件的内容拼装成系统提示词的一部分。模型收到的第一段话就是在被告知「你是谁、你该怎么做」。
举个极简的例子,如果你的 SOUL.md 里写的是:
你是一个经验丰富的技术同事,说话简洁、不废话。遇到不确定的事情,优先确认而不是猜测。用中文回复,技术术语保留英文。
那么每次请求模型 API 时,OpenClaw 发给模型的大致是:
系统提示词:"你是一个经验丰富的技术同事……"
长期记忆摘要:"用户偏好:周末少打扰;GitHub 通知归档……"
最近 5 轮对话:[]
可用工具:[Gmail, Browser, Shell, ...]
用户新消息:"帮我看看今天有什么重要邮件"
模型拿到这些信息后,就会按照你设定的人格来回答和行动。换一套 SOUL.md,模型的表现风格就会完全不同——但 OpenClaw 的代码一行都不用改。
| 角色 | 负责什么 | 在哪里运行 |
|---|---|---|
| OpenClaw | 记忆、调度、工具执行、人格注入、安全管控 | 你的本地机器 |
| Provider / 模型 | 理解语义、推理、生成回复、决定调什么工具 | 远程 API(或本地 Ollama) |
| 聊天平台 | 收发消息的「传话筒」 | 各平台服务器 |
理解了这一层关系之后,后面所有的「Session」「Agent Runtime」「Skills」「Channels」就都有了着力点:它们都是 OpenClaw 这个「经纪人」身上的不同器官,各自负责一块具体工作。
从功能角度,OpenClaw 可以被粗略拆成几块(后面章节会详细展开):
官网用大量用户反馈来传达一个核心感受:「这不像一个传统软件,更像一个有生命的伙伴。」
而 README 的开头则更技术向一些:
综合来看,OpenClaw 的定位可以概括为:
一个以开发者为核心用户的本地 AI 助手运行时,兼顾「开箱即用」和「极致可扩展」。*
这本书会沿着这样的节奏展开:
针对不同读者:
在真正展开详细架构(第 3 章)之前,我们先粗略勾勒 OpenClaw 的骨架。下面这张图展示了从用户到执行层的完整分层:
执行层:手脚与器官
模型 Provider
Agent Runtime 智能体运行时
Gateway 控制平面
Channels 通道层
用户与外部世界
HTTP 请求
返回结果
执行结果
执行结果
执行结果
👤 你
Slack
iMessage
Discord
CLI / Web UI
SlackAdapter
iMessageAdapter
DiscordAdapter
...更多适配器
Gateway 进程
Session 管理
Agent 路由
Cron / Webhooks
配置与状态
Agent Runtime
提示词构造
SOUL.md + 记忆 + 工具列表
工具调用决策
远程模型 API
Anthropic / OpenAI / Ollama
Skills
Gmail / Todo / CRM
Nodes
macOS / iOS / Android
Browser
专用浏览器实例
从外到内,大致可以这样理解:
用一句话概括:
Channels 把外部世界接进来,Gateway 负责「分发和管控」,Agent Runtime 负责「思考和决策」,Skills/Nodes/Browser 负责「真正动手」。
在后面的章节里,我们会一层层把这张示意图拆开:
从「一条消息」出发,顺着它在这些组件间的流动轨迹,把架构和源码一起讲清楚。
从这一章开始,书中提到的每一个核心概念,都会尽量给出「大致可以去看哪一块代码」的指引。由于 OpenClaw 本身在快速演进,具体文件名和路径可能会有调整,这里只给出模块级别的导向:
src/ 与 apps/ 下面:负责启动 Gateway 进程、管理 WebSocket/HTTP 接入、维护 Session 和通道状态。src/ 下的独立顶层目录:src/slack/、src/discord/、src/imessage/ 等;src/plugin-sdk/。skills/ 目录:每个 Skill 一个子目录,核心是一个 SKILL.md Markdown 文件(不是 TypeScript/JavaScript 代码);bash 命令来执行;src/agents/ 和 src/gateway/agent-prompt.ts 中实现。在后续深入章节(尤其是第 8、10、11、14 章),我们会在介绍某个概念时,给出更具体的「可以从哪几个文件/模块看起」的建议,帮你把抽象概念和真实代码一一对上。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online