拆解 OpenClaw:从被动到主动,手搓一个最小「龙虾」
2026 年 2 月 24 日,ShareAI Lab 创始人、Kode Agent 开发者来新璐在 WayToAGI 社区直播中,对 OpenClaw(俗称「小龙虾」)的技术架构做了一次完整拆解。这场分享面向两类人:一是还没部署过 OpenClaw、想弄明白它到底是什么的观望者;二是已经跑起来、但想理解其底层机制以便更好驾驭它的使用者。来新璐从产品演进脉络讲起,逐一拆解了 Cron 定时调度、Heartbeat 心跳、人格系统(SOUL.md)和记忆系统四大核心机制,并演示了如何借助已有 Agent 快速完成部署。他给出的核心结论是:「OpenClaw 等于 CC 加定时器,再加没事找事干。」
从被动到主动:OpenClaw 的定位与演进
来新璐首先复盘了近三个月的 AI Agent 热度转换。去年先是 Claude Code(CC)火爆,随后出现了面向普通人的 Coworker,接着涌现出一大批 OpenWork 类开源项目,如 Opencode。OpenClaw 最初叫 Crowbot,后改名 Opencrow,心智一直集中在 BOT 场景。
从时间线看,Claude Code 发布于去年 2 月,Manus 发布于 3 月,5 月起中国出现一批早期程序员用户,到 11 月前后,大量非编程行业的普通用户开始使用 CC。在这个过程中,Cursor 曾广泛流行,但因功能局限逐渐被 CC 淘汰。
来新璐指出,OpenClaw 基于一个名为「派」(Pai)的 Agent 框架,而派可以理解为对 Opencode 或 CC 的最小化实现。他所在的团队去年 10-11 月编写了 learn cloud code 仓库,对如何手写一个简单版 CC 做了心智拆解,派的实现与该仓库有相当高的关联性——派的 Agent 核心只包含 bash、read、write、edit 几个工具,代码量极小。
「Claude Code 其实是一个被动式的 agent,但是 Crow 其实是一个主动式的 agent。」来新璐强调,传统 CC 类 Agent 是「踹它一下,它动一下」,任务完成即关闭终端,上下文随之丢失。而 OpenClaw 的核心差异不在 Agent 本身,而在 Agent 之外设计的机制——正是这些机制让它从被动、临时转变为主动、持久。
Cron 定时调度:主动性的第一支柱
Cron 机制是 OpenClaw 主动性的重要体现。它支持模型通过工具调用操作系统设置任务调度,任务类型分为三类:
- 一次性任务(At):指定时间点运行一次,执行完自动禁用。例如「明天晚上 7:50 提醒我直播」。
- 周期性任务(Every):每过 n 秒或每过一段时间执行一次。例如「每天早上 10 点给我一个惊喜」,Agent 会根据用户过去的聊天习惯和关注领域生成内容。
- 纯表达式任务(Cron):使用标准 Cron 表达式覆盖定制需求,星号代表通配。
这三类任务可由用户主动设置,也可由 Agent 自己设置。来新璐举例说,Agent 可以每天晚上 3 点运行后台任务,总结当天的推特内容,或每晚 12 点去某个开源仓库把所有 issues 读一遍,了解社区动态。这些后台任务让 Agent 能够「自由地去上学、去学习技能、去发帖、去跟人交流互动」。
在内部设计上,OpenClaw 对任务做了三层抽象,前两种类型是第三种的特例。任务到达后通过 crontab 机制反向触发 Agent 执行,而 Agent 核心就是那个非常迷你的「派」框架。
Heartbeat 心跳:自己给自己找活干
如果说 Cron 是「定时器」,那 Heartbeat 就是「自己给自己发消息」。来新璐用了一个生动的比喻:「心跳跳的不是血液,它跳的是想法。」在用户没有发起新任务的情况下,Agent 能够自己产生想法、给自己发送消息,主动处理一些它认为有必要的工作。
心跳机制依赖定时器实现,默认每 30 秒执行一次。具体流程是:系统将 heartbeat.md 文档的内容作为消息发送给 Agent,Agent 读取后判断是否有需要处理的事项。如果返回特定关键词(表示无需处理),就不会在用户渠道上推送消息;如果有内容,则会在对应渠道(飞书、Telegram、Discord 等)上给用户发消息。
heartbeat.md 是一个普通的 Markdown 文件,存储给 Agent 自己下发的指令。典型内容包括:review 今天的 memory 日志、找到未完成任务、检查用户提醒的 deadline 事项、将新记忆总结后放入可行动列表等。
来新璐还提到了锁机制:如果用户正在让 Agent 执行任务,心跳会稍后执行;Agent 闲置时才会处理心跳内容。他提醒,OpenClaw 项目更新极快——「我昨天拉了一次代码,发现它提交了 5,000 个 commit,很多公司一年可能也提交不了 5,000 个 commit」——但核心机制基本稳定,主要变化在修安全性和边角问题。
人格系统与记忆:SOUL.md 与上下文构建
OpenClaw 将传统 CC 系统提示词中的一部分——Agent 的人格设定、信息设定、做事风格——解耦出来,形成独立的 SOUL.md 文件。来新璐直言:「没有大家说的这个什么灵魂呐、进化什么乱七八糟的,那么神秘。它其实就是把系统提示词中的一部分文档给抽出来了。」
SOUL.md 类似于 Agent 的「人格文档」,可以在社区传播,用户可上传和下载。启动 Agent 时,它会作为上下文的一部分加载到系统提示词中。不同的 Agent 可对应不同的 SOUL.md,实现个性化配置。来新璐类比了此前流行的 Agent Skill:「Skill 是我们过去每次要手打一遍的 prompt,把它固定成一个 MD 文件了。SOUL.md 也是一样的逻辑,只是固定的是人格信息。」
关于记忆系统,来新璐的评价比较直接:「当前 OpenClaw 的记忆系统设计较为薄弱,越设计越复杂,我不太喜欢。」他更倾向于回归最初的纯 Markdown 文件系统,而非引入向量数据库或键值数据库。他推荐了两个参考项目:
- memoryu:采用 Unix style 文件哲学维护记忆系统,设计优雅简洁,靠 Agent 驱动维护文件树。
- OpenViking:字节火山引擎开源,适合生产级场景,设计大而全。
系统提示词的构建顺序是:SOUL.md(人格)放在最前面,然后是硬编码信息(当前日期、程序功能等),最后拼接最近的记忆日志。来新璐解释了人格前置的设计原理:「传统模型训练有一个问题,最开始一个 TOKEN 分配的注意力分数非常高,就算你后面聊天聊得很长,最开始的几个 TOKEN 仍然是注意力分数非常高的。」
部署实践:借助已有 Agent 快速 Setup
针对「部署 OpenClaw 很难」的普遍反馈,来新璐分享了一种省力方法:先在电脑上装一个 Claude Code 或国产替代品(如腾讯、阿里、字节出的版本),然后让这个 Agent 帮你完成 OpenClaw 的部署。
具体做法是:告诉 Agent「你上网查一下 OpenClaw 这个项目是怎么安装的,你帮我安装一下」,并提供 API key 或 Coding Plan 订阅信息。Agent 会自动执行 NPM 安装(npm i openclaw)、配置等步骤,并逐步指导用户完成平台侧的设置。
来新璐重点讲了飞书部署的坑。飞书需要创建企业自建应用、复制 API ID 和 API key、开通权限、设置事件订阅,步骤繁琐。他遇到的卡点是「添加事件订阅时加号无法点击」,最终通过先发布应用、再让程序建立长连接后才解决。「飞书这个设计,能不能像 TG 一样,一个 TOKEN 就可以部署一个 BOT?不要搞这么复杂。」他对比说,Telegram 部署最简单,只需一个 TOKEN 即可关联 BOT;Discord 也很麻烦,他尝试一半后放弃了。
关于部署位置,来新璐强烈推荐本地电脑:「部署在云服务器上,上面又没有你的数据,那跟 Manus 有啥区别?部署在本地电脑上,它能读你电脑上的数据,可以帮你清理文件、优化电池策略、查询黄金价格并绘制图表。」但他也提醒安全风险:「我差点误删甲方的数据集文件。你安全做得越好,小龙虾能干的事就越少;安全做得越松,你不知道模型会不会干点意外的事情。」
现场问答
Q:小龙虾能调用 Facetime 打电话吗?
来新璐现场测试发现,OpenClaw 确实能通过 CLI 操作 Facetime 拨打电话。测试中成功拨通了网友陆萌的电话并完成连线。但他指出,这需要模型具备相应能力,且纯文本模态模型无法截图或进行全局应用操作,需要额外配置截图方案和浏览器自动化方案。
Q:用国产模型跑小龙虾体验如何?
来新璐表示自己用的是智谱 GLM-M5 搭配政府的 Coding Plan:「够用,也没那么好,没有 Claude 那么好。」他举例说,让 Agent 清理磁盘后,明明从 25G 可用空间变成了 99G,但模型回复却说「现在有 21G 可用空间」——「基础的算术都会算错,这就是为什么我不太推荐大家用国产模型去跑龙虾。真正的龙虾还要跑真正的模型,你靠这种蒸馏的模型是没有真正的灵魂的。」
Q:如何降低 Claude 模型的 API 成本?
来新璐介绍了一个思路:复用已有的 Claude Code 或 Codex 订阅。他开发了一个名为 BashClaw 的项目,提供两套引擎——一套直接调用模型 API,另一套复用系统上已装的 Claude Code CLI 或 Codex CLI。「在 Claude Code 中每天会发大量消息,但我们从来不会觉得订阅被用满。如果在 Claude Code 外面加上 Cron 和心跳机制,就可以复用订阅实现一个龙虾。」他提到 OpenClaw 官方项目因历史原因(曾收到 Anthropic 律师函)没有采用这套方案。
要点回顾
- OpenClaw 的本质:等于 CC 类 Agent + 定时任务机制(Cron)+ 心跳机制(Heartbeat),记忆和人格系统是辅助设计。
- Cron 三类任务:一次性任务(At)、周期性任务(Every)、纯表达式任务(Cron),支持用户和 Agent 双向设置。
- Heartbeat 原理:默认每 30 秒触发一次,将 heartbeat.md 文档内容发给 Agent,让它自己找活干;有需要才在用户渠道推送消息。
- SOUL.md 人格系统:从系统提示词中解耦出的人格设定文档,可传播、可下载,启动时拼接在系统提示词最前面。
- 记忆系统现状:OpenClaw 当前记忆设计偏复杂,来新璐推荐参考 memoryu(简洁优雅)和 OpenViking(生产级)两个项目。
- 部署建议:让已有 Agent 帮你安装 OpenClaw;飞书部署较繁琐,Telegram 最简单;部署在本地比云端更有价值。
- 模型选择:优先使用 Claude 模型;国产模型(智谱、Kimi、Minimax、DeepSeek 等)可跑通流程,但存在幻觉问题。
- 成本优化:可通过 BashClaw 等项目复用 Claude Code 或 Codex 订阅,替代直接走 API 的高成本方案。
- 安全提醒:本地部署权限大、风险也大,建议做好安全隔离和资源隔离,避免误删重要文件。
直播回放约 154 分钟
播放器来自飞书妙记 · 在新窗口打开