架构:基于通道的任务流水线
OpenClaw 遵循“核心极小、分层清晰”的设计哲学,所有用户指令的处理都遵循标准化的流水线流程,从消息接收至结果返回,共分为5个技术环节,环环相扣且职责明确:
1. Channel Adapters:消息标准化入口
作为 OpenClaw 与外部交互的第一道关口,负责接收来自 Telegram、WhatsApp、飞书、Discord 等各类 IM 工具的消息,核心做两件事:标准化预处理(将不同 IM 的消息格式统一,规避格式差异带来的解析问题)+附件提取(自动识别并提取图片、文档、音频等附件内容)。每个 IM 软件都有专属的 Adapter,保证不同渠道的消息能被系统统一识别,这是 OpenClaw 实现多渠道适配的基础。
2. Gateway:系统中枢,指令分发与结果回传核心
网关(Gateway):一个 WebSocket 服务器,连接各种聊天平台和控制界面,把收到的消息派发给 Agent 运行时处理。
设计亮点:
- 采用基于通道 (Channel) 的命令队列,默认序列化执行,每个会话都有专属执行通道,保证单个会话的操作有序进行,从根源规避传统 async/await 异步嵌套带来的状态冲突、调试困难等问题;
- 支持灵活的任务运行模式,低风险、可并行的任务可显式声明并行运行,兼顾执行有序性和效率;
- 默认 WebSocket 端点:
ws://127.0.0.1:18789,是各类客户端与 Gateway 的统一通信入口。
3. Agent Runner:推理引擎,AI 决策与工具调度核心
Agent Runner 是 OpenClaw 的推理执行核心,相当于 AI 的思考与行动中枢,包含三个模块:LLM、tools、skills,主要负责以下四个功能:
a. 动态拼接系统提示词:将会话历史与核心配置文件 AGENT.md拼接为完整提示词,传递给 LLM,让大模型掌握上下文和行为规则;
b. 智能模型选择:根据 API 配置选择适配模型,高流量场景可自动启动备用模型,保证服务稳定性;
c. 模型推理与工具调用:LLM 接收提示词后,判断是否需要调用工具,工具执行结果实时返回给 LLM,再由 Agent 通过 Gateway 回传至对应 channel;
d. 上下文窗口维护:当上下文接近模型阈值时,自动对上下文进行压缩,或终止无效请求,避免 Token 浪费和推理失败。
OpenClaw 支持多 Agent 模式,各个 Agent 互相独立,拥有专属配置和记忆,可同时处理不同任务。
4. Agent Loop:任务执行闭环,基于 ReAct 范式的自主推理
反复循环(默认上限 20 次)
5. Memory 持久化记忆:会话数据留存,保证任务连贯性
任务执行结果会通过原渠道回传到对应的 IM 软件中,同时系统会将 全量会话数据(包含工具调用记录、执行结果、对话内容等)以 .jsonl格式持久化存储,既方便用户回溯任务过程,也为后续的上下文理解、记忆检索提供数据支撑,这是 OpenClaw 实现长任务连贯性的基础。
配置:7 个 Markdown 文件,定义 Agent 的灵魂与规则
安装 OpenClaw 后,在 ~/.openclaw/workspace目录下能看到 7 个核心 Markdown 文件,这 7 个文件是 OpenClaw 的配置文件,定义了 Agent 的身份、行为准则、记忆规则、工具配置等关键信息,也是 Agent 能按规则工作的基础:
- AGENTS.md:OpenClaw的核心指南,定义了Agent的行为规范、会话流程、内存管理(日常日志+长期记忆)、安全规则、群聊参与原则、工具使用说明,以及心跳机制的配置方式,是Agent的操作手册;
- BOOTSTRAP.md:首次启动时的引导文件,用于与用户对话确定Agent的身份(名称、性格、风格、表情符号),并更新IDENTITY.md和USER.md,完成引导后可删除;
- HEARTBEAT.md:定期检查清单,用于配置周期性任务(如邮件查收、日历提醒、天气查询、服务器状态检测),Agent会在心跳轮询时执行这些任务;
- IDENTITY.md:Agent的身份证,记录名称、类型、风格、表情符号和头像路径,定义Agent的外在标识;
- SOUL.md:Agent的“灵魂内核”,定义核心价值观和行为准则,强调真诚帮助、有主见、主动解决问题,同时明确边界和隐私保护原则,拒绝“讨好型AI”;
- TOOLS.md:环境特定的工具配置信息,记录本地可调用工具的具体参数、运行环境等;
- USER.md:用户专属档案,记录用户基本信息、关心事项、项目背景、操作偏好等,帮助Agent更精准地理解和服务用户。
OpenClaw的底层:Pi内核,轻量且稳定的推理引擎
OpenClaw的底层并非传统的Web应用,而是一个基于TypeScript开发的命令行应用(CLI),运行在Node.js环境下(喜欢敲命令的人可以用命令行控制一切),其底层核心是Pi内核——这是理解OpenClaw轻量、稳定、可扩展的关键:
1. Pi内核(open claw里的底层 Agent 执行引擎)的定位
Pi是一个通用轻量推理引擎,负责模型抽象、流式推理、Agent Loop和工具执行等底层机制,其设计遵循“极简主义”:将核心能力收敛到几个底层原语(read、write、edit、bash),保证核心引擎的稳定性,同时预留丰富的扩展接口,让上层架构(OpenClaw)能在此基础上构建复杂的工具栈。
2. OpenClaw与Pi内核的融合方式
OpenClaw通过SDK方式将Pi内核嵌入到Gateway架构中,Gateway 实时拦截并接管 Pi 的状态流,通过会话映射和推理拦截,实现了对推理生命周期的精细化掌控。这种设计确保了底层的 Pi 内核可以保持极度轻量与纯粹(专注于原子化推理),而复杂的业务逻辑、状态持久化和多租户隔离则由上层的 Gateway 统一调度。
这种解耦设计的优势:底层推理引擎不会因上层业务逻辑的增加而臃肿,同时让算法工程师开发新Skills时,无需关心底层工具调用逻辑,专注于业务场景即可,大幅提升开发效率。
五大设计亮点
OpenClaw 能成为爆款开源项目,核心在于其围绕 “本地运行、自主执行、稳定可靠” 设计的一系列特性,涵盖记忆机制、系统操作能力、插件 机制、心跳机制、安全机制五大核心:
1. 记忆机制:混合检索 + 上下文管理,保证长任务连贯性
OpenClaw 的记忆系统分为短期记忆 + 长期记忆两层,搭配混合检索和上下文压缩策略,从根源避免长任务失忆:
- 短期记忆:以 memory/YYYY-MM-DD.md 文件存储,仅追加每天的上下文日志,会话开始时自动读取当天和昨天的日志,保证近期任务的连贯性;
- 长期记忆:以 MEMORY.md 文件存储,持久化保存关键聊天内容、用户偏好、重要决策,跨会话长期保留;
- 混合检索:将短期和长期记忆切分为 chunk,采用向量检索 + 关键词匹配的混合方式,快速精准调取相关记忆;
- 上下文压缩:当上下文接近模型阈值时,先执行 Memory Flush,强制 Agent 将关键状态写入硬盘文件,再进行压缩总结,确保长任务不因上下文修剪而丢失关键信息。
2. 技术护栏:强大的本地系统操作能力
这是 OpenClaw 区别于传统云端 AI 的优势,能直接操作本地电脑,支持四种能力,覆盖绝大多数自动化场景:
-
Shell 命令执行:通过 exec 工具支持三种运行环境,兼顾灵活性和安全性 —— 沙箱(Docker 容器,高风险任务)、本地宿主机(常规任务)、远程设备(跨设备操作);
-
文件系统操作:支持读、写、编辑各类格式文件,实现本地文件的自动化管理;
-
浏览器工具:基于 Playwright 开发,抛弃传统 AI 的图像截图识别,采用语义快照(Semantic Snapshot)技术,基于页面可访问性树生成文本化表征;
- ✨ 优势:文本表征大小不足 50KB(截图通常为 5MB 级),极大节省 Token 消耗,且模型能通过
[ref=1] button "Sign In"这类标识精准定位页面元素;
- ✨ 优势:文本表征大小不足 50KB(截图通常为 5MB 级),极大节省 Token 消耗,且模型能通过
-
进程管理:可创建、终止本地进程,控制电脑运行状态,实现全流程自动化。
3. 通过插件实现可扩展性
OpenClaw 怎么让别人在不改核心代码的情况下,扩展新功能?
OpenClaw 的设计哲学是开放扩展,不改核心。
你可以通过插件(Plugin)在四个方向上扩展:
- 渠道插件(Channel Plugin):添加新的聊天平台,比如 飞书、钉钉等
- 记忆插件(Memory Plugin):换一种存储后端,比如用向量数据库代替默认的 SQLite
- 工具插件(Tool Plugin):添加自定义能力,比如除了内置的命令行、浏览器、文件操作之外的新工具
- 模型提供商插件(Provider Plugin):接入自定义的 AI 模型或自己部署的模型
插件代码放在 extensions/ 目录下,系统会自动扫描、发现和加载。
4. 心跳机制:从被动响应到主动自治,实现定时任务
在 HEARTBEAT.md 中进行设置,通过类似 Cron 的定时机制定义周期性任务(如每 4 小时检查一次服务器状态、每天早上推送天气提醒)。这使得 Agent 能够从被动响应转变为主动自治,具备了 7×24 小时运行的能力,也是 OpenClaw 能成为数字员工的关键。
5. 多 Agent 路由
比如你想让:
- Discord 服务器的 Bot 用 Claude Sonnet,性格像个友好的版主
- Telegram 的客服私聊用 GPT-4,语气更正式,工具权限不同
通过配置就能搞定,每个 Agent 实例有自己的工作空间、模型和行为设定。
这带来了很多玩法:
- 不同社区用不同人设
- 不同场景开放不同工具
总结
OpenClaw 的原理,总结来说就是:
- 定位是本地算力 + 大模型自动化的开源智能体,解耦推理引擎与执行环境;
- 所有指令遵循 Channel Adapters → Gateway → Agent Runner → Agent Loop → Memory 持久化 的流水线处理;
- 底层依赖 Pi 轻量内核,实现推理与业务的解耦;
- 五大关键设计(记忆、系统操作、插件、心跳、安全)让其能落地为实用的本地数字员工。