跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
TypeScriptNode.jsAI

OpenClaw 架构解析:与 ChatGPT 的区别及核心理念

OpenClaw 是一个本地优先的开源 AI 智能体框架,旨在让 AI 从“说”转变为“做”。它本身不包含模型,而是作为编排层连接大模型 API 与本地工具。核心特点包括本地运行、开放源码及可定制性。通过本地记忆管理解决模型上下文限制,利用系统提示词实现人格化。架构包含通道层、控制平面(Gateway)、运行时(Runtime)及技能平台,支持多平台聊天入口与自动化任务,定位为开发者用的个人 Agent 操作系统。

利刃发布于 2026/3/28更新于 2026/10/24110 浏览

第 1 章 OpenClaw 是什么?它和 ChatGPT 有什么不一样?

1.1 从「聊天机器人」到「会干活的数字同事」

过去几年,我们经历了几波 AI 工具的浪潮:

  • 先是「对话式搜索」:ChatGPT、Claude、文心一言……
  • 然后是「写代码、写文案」:Copilot、Cursor、各种 AI IDE 插件;
  • 接着是「智能客服/机器人」:接入企业微信、Slack、网站客服的各种 Bot。

这些东西的共同点是:主要还停留在「说」的层面。

  • 它们可以帮你理解问题、生成文本或代码;
  • 但要真正触达你的世界——你的文件、邮箱、日程、服务器、家里的设备——往往需要你手动复制粘贴结果,再去点各种按钮、跑各种脚本。

这中间存在一个巨大的「最后 10 米」问题: 从「AI 想得明白」到「事情真的被做完」,差了一堵墙。

OpenClaw 试图干的事,就是在你和 AI 之间,把这堵墙拆掉,让 AI 真的动手:

  • 可以访问你的邮箱,帮你整理和回复;
  • 可以操作你的浏览器,帮你登录、填表、查资料;
  • 可以在你的电脑上跑脚本、读写文件、开关设备;
  • 可以定时在后台悄悄做事,不打扰你。

你可以把它想象成一个:

「坐在你电脑前、登录了你账号、能使用你所有工具的一位远程同事,但 TA 是 AI。」

1.2 OpenClaw 的核心理念:本地优先、开放、可黑(Hackable)

在深入技术之前,先说说这个名字。「Claw」是龙虾或螃蟹的螯——最有力的那只钳子。OpenClaw 的创始人选择这个词,因为项目的核心理念就是让 AI 不只是「说得好」,而是真的「抓得住」:抓住你的文件系统、邮箱、浏览器、终端,把事情做完。名字里的「Open」则强调完全开源。Logo 也是一只卡通龙虾,社区里大家习惯叫它「那只龙虾」。

从官网和 README 中,可以提炼出三个关键理念:

  • 本地优先(Local-first)
    OpenClaw 默认跑在你的设备上:Mac、Windows、Linux 都可以。
    你的配置、技能、上下文记忆都在你掌控的环境里,外部服务只是被当作「模型提供商」或「远程 API」。
  • 开放
    OpenClaw 是开源的,你可以:
    • 直接阅读源码,理解安全模型、权限边界;
    • Fork 一份,定制自己的版本;
    • 在社区生态中共享、复用他人写好的 Skills。
  • 可黑(Hackable)
    作者和社区反复强调的一点是:你应该能随时「拆开」它。
    • CLI 是第一等公民,可以从终端操作几乎所有能力;
    • 配置文件、Skills、连接方式都可以用文本和代码来描述和修改;
    • 甚至有专门的「Hackable 安装方式」,鼓励你从源码开始玩。

这三点让 OpenClaw 和很多云端封闭的「AI 助手产品」有明显不同:
它更像一个开发者用的「个人 Agent 操作系统」,而不是一个最终形态的 SaaS。

1.3 OpenClaw、AI 模型与 Provider:搞懂三者关系

很多第一次听说 OpenClaw 的人会问:

  • 「它和 ChatGPT 什么关系?自己带了一个 AI 模型吗?」
  • 「听说它能有无限长期记忆,大模型的上下文窗口不是有限制吗?」
  • 「怎么就能让 AI 变成某种性格?」

这一节专门回答这些问题。如果你已经理解 LLM API 的工作方式和 Agent 框架的基本原理,可以跳过。

1.3.1 OpenClaw 不是 AI,而是 AI 的「经纪人」

最重要的一点,先说清楚:

OpenClaw 本身不包含任何 AI 模型。
它是一个本地运行的编排层,负责把你的消息、上下文、记忆、工具描述打包好,发给远程(或本地)的大模型 API,再把模型的回答拿回来执行。

打个比方:

  • 大模型(Claude、GPT、DeepSeek……)是一个极其聪明但「没有身体、没有记忆、每次见面都失忆」的专家;
  • OpenClaw 是这个专家的经纪人:帮它记笔记、带它去现场、把工具递到它手里、替它挡掉不该接的活。

所以当你说「OpenClaw 帮我整理了邮箱」,实际发生的是:

  1. OpenClaw 收到你的消息;
  2. OpenClaw 把消息 + 你的历史上下文 + 可用工具列表,打包成一个 API 请求,发给模型;
  3. 模型回复「我需要调用 Gmail 工具,查询未读邮件」;
  4. OpenClaw 在你本地 执行这个工具调用,拿到结果;
  5. 把结果再发给模型,模型说「已整理完毕,给你总结……」;
  6. OpenClaw 把最终回复发回给你的聊天窗口。

整个过程中,模型只负责「想」,OpenClaw 负责「记」和「做」。*

1.3.2 Provider:模型从哪来

OpenClaw 支持多种模型提供商(Provider),你可以在安装时选择:

Provider说明
AnthropicClaude 系列,OpenClaw 默认推荐
OpenAIGPT 系列
Google AIGemini 系列
Ollama / LM Studio本地运行的开源模型(完全离线)
其他兼容 API任何提供 OpenAI 兼容接口的服务

对 OpenClaw 来说,Provider 就是一个 HTTP API 端点 + 一把 API Key,仅此而已。你甚至可以同时配置多个 Provider,设定优先级和 Failover 策略(详见第 16 章运维部分)。

1.3.3 「无限长期记忆」是怎么实现的

大模型本身有上下文窗口限制(比如 128K token),而且每次 API 调用之间并不共享状态——模型「看完即忘」。

那 OpenClaw 的「长期记忆」是怎么来的?答案是 OpenClaw 在本地帮模型「记笔记」:

  1. 对话历史存在本地:每次你和 OpenClaw 的对话,都被完整保存在本机的数据文件里;
  2. 自动摘要与修剪:当历史太长时,OpenClaw 会自动对旧对话做摘要压缩,保留关键信息,丢弃细节;
  3. 关键偏好持久化:你说过的「周末别打扰我」「GitHub 通知帮我归档」之类的偏好,会被提取存入长期记忆;
  4. 按需注入上下文:每次给模型发请求时,OpenClaw 会从本地记忆中检索出跟当前话题最相关的内容,拼到提示词里一起发送。

用一张简化的流程图来看:

远程模型 API <-> OpenClaw(本地) <-> 你
alt [模型要求调用工具]
    发送消息
    ① 查本地记忆,找相关上下文
    ② 拼装提示词(系统人设 + 长期记忆 + 近期对话 + 工具列表 + 新消息)
    ③ HTTP 请求
    ④ 模型推理
    ⑤ 返回结果
    ⑦ 本地执行工具调用
    ⑧ 把工具结果再送模型
    返回最终回复
    ⑨ 保存本次对话到本地记忆

关键点在于:模型本身没有记忆,记忆全在 OpenClaw 这一侧。 模型每次只是在回答「一个信息量很丰富的提问」,而 OpenClaw 负责让每个提问都包含足够的背景。

这就是为什么 OpenClaw 可以做到「跨天、跨周甚至跨月」的上下文连贯——不是因为模型记住了,而是 OpenClaw 每次都把该记的东西重新告诉它。

1.3.4 「人格化」与「性格」是怎么做到的

当你觉得 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 的代码一行都不用改。

1.3.5 一句话总结
角色负责什么在哪里运行
OpenClaw记忆、调度、工具执行、人格注入、安全管控你的本地机器
Provider / 模型理解语义、推理、生成回复、决定调什么工具远程 API(或本地 Ollama)
聊天平台收发消息的「传话筒」各平台服务器

理解了这一层关系之后,后面所有的「Session」「Agent Runtime」「Skills」「Channels」就都有了着力点:它们都是 OpenClaw 这个「经纪人」身上的不同器官,各自负责一块具体工作。

1.4 功能速览:多通道聊天、浏览器控制、系统访问、后台任务、技能平台

从功能角度,OpenClaw 可以被粗略拆成几块(后面章节会详细展开):

  • 多通道聊天入口(Channels)
    • 支持 Slack、iMessage、Discord、Google Chat、Teams、Matrix、Feishu、LINE、IRC、Mattermost、Twitch、WebChat……
    • 你和朋友/同事可以在任何一个自己熟悉的聊天平台里,像跟真人一样跟它说话;
  • Gateway 控制平面(Gateway)
    • 统一管理 Session、配置、通道状态、心跳、Cron、Webhooks;
    • 提供 Web 控制台和 WebChat 前端;
    • 是所有 Agent、Skills、Nodes 的「中枢」。
  • Agent 运行时(Agent Runtime)
    • 管理和模型之间的对话、工具调用(tool streaming)、分块输出(block streaming);
    • 支持多 Agent 配置:可以为不同场景(代码、生活、运营)定制不同人格和能力。
  • Nodes & Browser
    • Nodes 代表各种「有手有脚的设备」:Mac/iOS/Android 等;
    • Browser 工具可以启动和控制专用浏览器,截图、交互、上传下载、执行复杂网页操作。
  • Skills 平台
    • 类似应用商店:有官方自带(bundled)、托管(managed)、工作区自定义(workspace)三种;
    • 你可以装别人写好的,也可以在它的帮助下写出自己的技能。
  • 自动化与后台任务
    • Cron 任务、Webhooks、Gmail Pub/Sub 等,让 OpenClaw 可以在你不在线的时候替你「守着」;
    • 可以实现每日简报、异常监控、自动整理文档等常驻任务。

1.5 从官网与 README 解读产品定位

官网用大量用户反馈来传达一个核心感受:「这不像一个传统软件,更像一个有生命的伙伴。」

  • 人们说它「在后台运行公司」;
  • 说「这才是个人 AI 应该有的样子」;
  • 说「感觉像二十年前第一次装上 Linux」:自由、可控、可以无限折腾。

而 README 的开头则更技术向一些:

  • 它强调 Gateway 是控制平面;
  • 强调 Node ≥ 22、npm/pnpm 安装方式、不同发布通道(stable/beta/dev);
  • 列出一长串已经实现的功能模块与文档链接。

综合来看,OpenClaw 的定位可以概括为:

一个以开发者为核心用户的本地 AI 助手运行时,兼顾「开箱即用」和「极致可扩展」。*

1.6 本书路线图与阅读建议(按读者画像)

这本书会沿着这样的节奏展开:

  • Part I:帮你站在「产品和用户」视角,看清 OpenClaw 的整体样子;
  • Part II:梳理核心抽象和数据模型:Session、Agent、Channel、Node;
  • Part III:深入 Gateway 与运行时的实现,从仓库结构和调用链入手;
  • Part IV:聚焦 Skills 与自动化,教你写出自己的技能和工作流;
  • Part V:从安全、部署、运维角度看「如何在真实环境长期跑 OpenClaw」;
  • Part VI:做一次架构复盘,讨论哪些模式值得你在其他项目中复用。

针对不同读者:

  • 个人玩家:可以快速扫一遍 Part I → 重点看 Part II 的概念 → 直接跳到 Part IV 第 11、13 章,按案例写出第一个 Skill;
  • 集成工程师:在上述基础上,多花时间啃 Part III 的第 8、10 章,搞清消息链路再下手改代码;
  • 架构/平台负责人:建议完整阅读,再结合自己团队的现有系统,思考第 14、15、16、17 章提出的那些权衡。

1.7 架构鸟瞰:单机上的「个人 Agent OS」

在真正展开详细架构(第 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
专用浏览器实例

从外到内,大致可以这样理解:

  1. 用户与外部世界
    • 你和你的同事/家人,通过 Slack、iMessage、Discord 等各种聊天 App 给 OpenClaw 发消息;
    • 有时也会通过 CLI 或 Web 前端直接和它交互。
  2. Channels(通道层)
    • 每一种聊天平台都有一个对应的「适配器」:负责连接官方 API、收发消息、处理各自奇怪的格式和限制;
    • 这些适配器把外部世界五花八门的消息,统一转换成内部的标准事件。
  3. Gateway(控制平面)
    • 所有来自 Channels 的事件,最终都会汇聚到本地运行的 Gateway 进程;
    • Gateway 维护:会话(Session)、当前在线通道、已安装技能、定时任务、运行中的 Agent 等等;
    • 它通过 WebSocket/HTTP 为 CLI、Web UI 和其他客户端提供统一入口。
  4. Agent Runtime(智能体运行时)
    • 当 Gateway 判定一条消息需要某个 Agent 处理时,会把消息交给对应的 Agent Runtime;
    • Runtime 负责和模型对话、组织提示词、发起工具调用(Skills/Browser/Nodes)、把中间结果流式返回给 Gateway。
  5. Tools / Skills / Nodes / Browser(「手脚」与「器官」)
    • Skills:围绕特定任务或系统(如 Todo 管理、邮箱、CRM)的扩展逻辑;
    • Nodes:macOS/iOS/Android 等执行环境,可以控制本机应用、摄像头、屏幕;
    • Browser:专用浏览器实例,可以独立于你日常浏览活动执行自动化操作。

用一句话概括:

Channels 把外部世界接进来,Gateway 负责「分发和管控」,Agent Runtime 负责「思考和决策」,Skills/Nodes/Browser 负责「真正动手」。

在后面的章节里,我们会一层层把这张示意图拆开:
从「一条消息」出发,顺着它在这些组件间的流动轨迹,把架构和源码一起讲清楚。

1.8 源码索引约定:从概念跳到代码的大致路径

从这一章开始,书中提到的每一个核心概念,都会尽量给出「大致可以去看哪一块代码」的指引。由于 OpenClaw 本身在快速演进,具体文件名和路径可能会有调整,这里只给出模块级别的导向:

  • Gateway 相关代码
    • 主要集中在仓库的 src/ 与 apps/ 下面:负责启动 Gateway 进程、管理 WebSocket/HTTP 接入、维护 Session 和通道状态。
    • 当你在书里看到「Gateway 如何路由一条消息」这类描述时,可以在源码中搜索 Gateway 入口和路由相关的模块来比对。
  • Channels(通道适配器)相关代码
    • 每种聊天平台是 src/ 下的独立顶层目录:src/slack/、src/discord/、src/imessage/ 等;
    • 适配器里包含:连接初始化、事件监听、消息入站/出站的转换逻辑,共享工具函数集中在 src/plugin-sdk/。
  • Agent Runtime 与会话模型
    • 在源码中会有专门负责 Session、Agent 配置与调用链的模块;
    • 这些模块定义了「一条消息如何变成一次模型调用」「调用过程中如何接入工具」等核心逻辑。
  • Skills 与插件系统
    • 仓库根目录有 skills/ 目录:每个 Skill 一个子目录,核心是一个 SKILL.md Markdown 文件(不是 TypeScript/JavaScript 代码);
    • Skill 的工作方式是把说明文本注入 Agent 的提示词,由模型调用 bash 命令来执行;
    • Skill 的加载、扫描和提示词注入逻辑在 src/agents/ 和 src/gateway/agent-prompt.ts 中实现。

在后续深入章节(尤其是第 8、10、11、14 章),我们会在介绍某个概念时,给出更具体的「可以从哪几个文件/模块看起」的建议,帮你把抽象概念和真实代码一一对上。

目录

  1. 第 1 章 OpenClaw 是什么?它和 ChatGPT 有什么不一样?
  2. 1.1 从「聊天机器人」到「会干活的数字同事」
  3. 1.2 OpenClaw 的核心理念:本地优先、开放、可黑(Hackable)
  4. 1.3 OpenClaw、AI 模型与 Provider:搞懂三者关系
  5. 1.3.1 OpenClaw 不是 AI,而是 AI 的「经纪人」
  6. 1.3.2 Provider:模型从哪来
  7. 1.3.3 「无限长期记忆」是怎么实现的
  8. 1.3.4 「人格化」与「性格」是怎么做到的
  9. 1.3.5 一句话总结
  10. 1.4 功能速览:多通道聊天、浏览器控制、系统访问、后台任务、技能平台
  11. 1.5 从官网与 README 解读产品定位
  12. 1.6 本书路线图与阅读建议(按读者画像)
  13. 1.7 架构鸟瞰:单机上的「个人 Agent OS」
  14. 1.8 源码索引约定:从概念跳到代码的大致路径

更多推荐文章

查看全部
  • 初学 C++ 必须掌握的核心知识点
  • Transformer 注意力机制详解:自注意力、交叉与因果自注意力 PyTorch 实现
  • 基于 FastAPI 的 Web 上位机系统设计与实现
  • 白帽黑客自学入门与进阶技术路线指南
  • DSPy:大模型应用编程框架入门与实践
  • 人形机器人身体结构与人体仿生学:四肢结构设计原则
  • C++ 搜索引擎通用工具模块:文件读取与中文分词实现
  • VS Code 远程连接服务器后 GitHub Copilot 无法使用的问题解决
  • 大模型学习路线:掌握核心技术能力与关键技能
  • Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码
  • Python 核心语法:Pandas 读写 CSV 与 TSV 文件
  • WSL 中 VS Code Remote 连接 Copilot 代理配置问题及解决
  • 大模型量化方法选择与效果评估指南
  • 前端 Base64 格式文件上传详解:原理、实现与最佳实践
  • Kimi K2.5 与 OpenClaw 结合:低成本高可控 AI 智能体方案
  • Spring AI MCP Server 集成指南与源码解析
  • Kafka 核心架构解析:Topic 与 Partition 映射逻辑详解
  • 基于 DeepFace 和 OpenCV 的情绪分析器实现
  • 检索增强生成 (RAG) 技术原理与 LangChain、LlamaIndex 实践
  • Linux 进程间通信进阶:管道与共享内存详解

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online