背景
就在3月2号,爆发刚2个月的OpenClaw已经超越了所有GitHub开源软件项目的星标数(Star),包括Linux内核,正式加冕史上最受欢迎开源项目!
OpenClaw(原名 Clawdbot/Moltbot,因 Anthropic 商标争议数次更名)是 2025 年 11 月由奥地利开发者 Peter Steinberger 发起的开源个人 AI 助手项目。
现在OpenClaw几乎几天就发布一个版本,活跃度非常高,生态圈也火热。
OpenClaw是什么
从本质上讲,OpenClaw是一个能够自主运行和持续工作的AI Agent助手。它的核心特征:
- **自主决策:**根据用户需求自动规划任务、执行操作
- **本地运行:**作为TypeScript CLI应用,运行在你的本地机器上
- 持续运行:不像chatGPT等会对话式AI每次需要唤醒,OpenClaw像是一个7×24小时待命的数字员工。
核心能力
一、多渠道网关
**传统Agent方案:**当想要同时支持微信、飞书、如流等多个通信渠道时,传统Agent开发方案的架构是这样的:
┌─────────────────────────────────────────────────────────┐
│ 设备层 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 微信 App │ │ 飞书 App │ │ 如流 App │ ← 客户端 │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │微信服务器│ │飞书服务器│ │如流服务器│ ← 后端服务器 │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │微信Agent │ │飞书Agent │ │如流Agent │ ← Agent │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────┘
问题显而易见:
-
每个渠道都需要部署独立的 Agent 服务器
-
同一个用户的状态和上下文在不同渠道之间难以同步
-
重复的业务逻辑代码和维护工作,提高运维的成本
OpenClaw是怎么解决这些问题的呢?
┌─────────────────────────────────────────────────────────┐
│ 设备层 │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ 微信 App │ │ 飞书 App │ │ 如流 App │ ← 客户端 │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │微信服务器│ │飞书服务器│ │如流服务器│ ← 后端服务器 │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
└───────┼─────────────┼─────────────┼─────────────────────┘
└─────────────┼─────────────┘
▼
┌─────────────────┐
│ OpenClaw 服务器 │
│ (本地/远端进程实例)│
└────────┬────────┘
│
▼
┌─────────────────┐
│ 统一消息处理 │
└──────── ────────┘
OpenClaw 采用了渠道插件 的设计模式,改变了多渠道接入的方式,核心在于两个精妙的组件设计:
1、渠道适配器
- **消息格式统一:**将不同平台的消息字段映射到内部统一格式
- **内容长度处理:**针对不同平台的消息长度限制进行特殊处理
- **消息类型适配:**将消息类型转换成该平台可支持的消息格式发送
2、gateway网关
所有渠道消息经过网关层,网关层实现五大功能:
- 请求解析
- 认证授权
- 请求路由
- 限流降级:
- 并发控制
通过这五大功能,OpenCla实现了一个服务器实例处理多个渠道的并发请求。
二、记忆上下文
作为助理,从人的视角来看,我们是怎么记住工作中的任务和安排的呢?
- 昨天和今天刚安排的任务 -> 短期记忆(记得非常清楚)
- 上个月聊过的工作内容 -> 长期记忆(可能需要查看记事本搜索)
OpenClaw借鉴了这个思路,也维护了短期记忆和长期记忆:
短期记忆:完整的对话记录
-
格式:采用JSONL格式,纯文本,易于处理
-
内容:当前会话的每一个细节,每行一个JSON事件(用户消息、工具调用、AI回复等)
-
保存位置: memory/ 日期.md
-
总结:完整性高,可追溯;但是长对话时会浪费Token
-
示例说明:
{"timestamp": "2026-03-15T10:30:00.123Z", "type": "session_start", "session_id": "sess_abc123", "user": "test_user", "topic": "data_generation"}
长期记忆:记忆文件与向量检索
- 格式:采用markdown格式
- 检索方法:采用混合方案,既有向量检索,又有关键词匹配
- 保存位置:MEMORY.md
- 总结:自动记忆刷新、总结
那么,短期记忆什么时候会变成长期记忆呢?
1、HEATBEAT心跳机制会定期维护
2、用户关键词主动触发记忆
并且在对话中,OpenClaw会从“发生了什么”提炼出“学到了什么/记住了什么”,包括
1、Significant events(重要事件)
2、Lessons(教训)
3、Insights(洞察)
4、Decisions(决策)
5、Opinions(观点)
6、Things worth keeping long-term(值得长期保留的事)
当长期记忆越来越多时,OpenClaw会怎么处理呢?
1、HEARTBEAT 定期维护
2、合并相似内容
3、提炼压缩
三、Agent智能体
消息通过网关后路由到Agent智能体中,开启了处理流程:
消息到达
↓① 消息路由
↓② 选择 LLM → 冷却机制
↓③ 组装 System Prompt
↓④ 检查 Token 窗口
↓⑤ 打包 → 调用 LLM
↓返回结果
- LLM 选择
OpenClaw不绑定某一个AI模型,支持随时切换,你可以在不同的Sub-agent上配置不同的AI模型处理。当某个AI模型无法使用时,会触发冷却机制,然后自动切换到下一个可用的AI模型。
- System Prompt
在每次会话开始时,由 OpenClaw 系统动态生成并注入System Prompt。包括:可用的工具、可用的技能、安全约束、个性化文件配置、memory记忆上下文等
四、文件结构设计
~/.openclaw/
openclaw.json # 主配置文件(心跳间隔、支持模型、gateway配置)
skills/ # 全局技能目录
agents/ # Agent 会话和状态数据
logs/ # 日志
workspace/ # 工作区
cron/ # 定时任务(jobs)
memory/ # 记忆
每一个Agent的工作区结构,详细如下:
workspace/
AGENTS.md # 定义了openClaw的工作规范流程,包括每个文件的作用
IDENTITY.md # Agent角色信息,更个性化定制
MEMORY.md # 长期记忆
SOUL.md # 定义了Agent角色信息 who you are
USER.md # 定义了对话的用户信息
HEARTBEAT.md # 心跳,主动巡检
memory # 短期记忆
skills # 技能skill.md,项目成员可共享
TOOLS.md # 记录个人的特定信息,比如常用服务器等,私用
五、Token消费
使用AI大模型,我们绕不开token消耗的这个现实问题。
首先,我们都知道token的计算基准:
-
1 个英文字符 ≈ 0.3 个 token;
-
1 个中文字符 ≈ 0.6 个 token
其次,了解OpenClaw是怎么优化token的消耗的呢?
- System Prompt:每次对话动态组装,精简非必要信息。
- 工具调用:对于工具如浏览器的输入输出提取关键结果
- 记忆上下文:短期记忆+长期记忆混合检索
- 超出限制自动压缩:OpenClaw对于接入的LLM,在对话的过程中发现已经超过LLM上下文token限制时,就会对当前的上下文进行优化,比如压缩、删除旧内容。
不过对于用户而言,在使用过程中也建议:
- 通过减少定制化的信息,比如IDENTITY.md中关于Agent的角色信息、USER.md中用户信息等。
- 定期去清理过期的Memory内容等方式。
- 让OpenClaw只需维护有用的信息,“忘记”琐碎的信息。
六、安全机制
openClaw在用户运行的范围内给尽可能多的自主性,不同于“为了安全完全禁用”的系统,openClaw信任用户的判断,将决策权交给用户,这样导致openClaw的安全机制的守门人是用户的警惕,你要了解你在做什么以及你要做什么。
所以了解框架才能更好的知道改如何选择,OpenClaw有三种执行环境:
- Sandbox(沙盒):Docker容器,默认是最安全的,容器内的操作无法访问宿主机。并且提供多层防御,如从执行环境隔离、文件系统隔离、网络隔离或进程隔离等
- 宿主机:直接运行在电脑中,最灵活但风险大
- 远程设备:通过SSH链接远程服务器执行
各大云服务厂商现在都提供了远程的云服务器来进行部署,这样隔离的沙盒环境也能让主机环境更为安全,但同样也会受到厂商的一些限制。
使用场景
以下的两种使用场景,是目前我使用频率最高的:
场景1:定时任务
这是OpenClaw区别于其他AI Agent最实用的功能之一。当你对OpenClaw说:
每天早上10:30夸夸我
这时候在cron/cron.json文件就会创建一个任务:
"name": "每日夸奖",
"schedule": {
"expr": "30 10 * * *",
"kind": "cron",
},
"payload": {
"kind": "agentTurn",
"message": "现在是早上10:30,请给用户发送一条温暖、真诚、有创意>>
的夸奖消息,让他开心地开始一天的工作。夸奖要具体、个性化,可以是关于他的能
力、态度、努力、成就或任何值得肯定的地方。"
},
场景2:浏览器自动化
OpenClaw 内置了浏览器控制工具,可以打开网页、填表、点击按钮(需要搭配工具)。并且可以通过VNC打开沙箱浏览器,使用OpenClaw Browser Relay插件,让OpenClaw通过CDP协议控制你的浏览器默认人访问浏览器的行为,更好的访问一些网页资源。比如你对OpenClaw说:
每天早上8点,打开https://xxx网页,点击xx位置,帮我确认预约。
写在最后
OpenClaw让AI真正融入了日常工作流程中,所以它的爆火不是偶然。当我们越来越深入地了解OpenClaw,明白我们到底需要它帮我们做什么的时候,才能更好地培养出一个属于我们个人的"AI助手"。
在研究的过程中,对于个人开发者来说,token成本问题是我们无法避免的现实问题,只有当收益大于成本时,才能体现OpenClaw真正的价值