OpenClaw只是在Claude Code加了一层?没有那么简单哟
一个普遍的误解
如果你最近关注 AI 编程工具,大概率听说过 OpenClaw 这个名字——GitHub 37 万 stars ,几乎一夜之间从一个开源项目变成了现象级产品。
然后你可能顺手搜了一下,看到有人说:”OpenClaw 就是在 Claude Code 外面包了一层壳,加了点功能。”
我一开始也是这么认为的。毕竟 OpenClaw 仓库里随处可见 CLAUDE.md 文件,它也确实可以调用 Claude Code 来写代码,看起来就是一个”Claude Code 增强版”。
但翻了源码之后,我发现这个认知是完全错误的。
OpenClaw 和 Claude Code 的关系,根本不是”套壳”和”被套壳”。它们从设计出发点开始就是两个完全不同的东西。
先搞清楚:它们到底各自在做什么
一句话说清楚:
Claude Code 是一辆专业赛车——赛道上跑得最快,但它只在赛道上跑。 OpenClaw 是一辆多功能越野车——上路、下田、载人、拉货都行。
越野车不是”精简版赛车加了越野套件”。它们从底盘开始就是不同的设计。
具体来说:
Claude Code 是 Anthropic 官方出品的终端 AI 编程助手。你在终端里打开它,它帮你读代码、改代码、跑测试、提交 PR 。它只做一件事,但做得非常精细。
OpenClaw 是一个多通道的个人 AI 助手基础设施。它可以同时连接 WhatsApp 、 Telegram 、 Discord 、微信等 20 多个消息平台,支持语音输入、图像生成、视频生成、定时任务,还能常驻后台作为守护进程运行。
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
所以第一个认知要校准:它们压根不在同一个赛道上。
Claude Code 在 OpenClaw 里到底是什么地位?
这是最颠覆认知的部分。
很多人以为 OpenClaw 的底层运行着 Claude Code , OpenClaw 只是在它上面加了一层 UI 和渠道适配。
实际上呢? OpenClaw 有自己完整的 Agent Runtime——光 src/agents/ 目录就有 1,782 个 TypeScript 文件,从 prompt 组装、 LLM 调用、上下文压缩到工具执行循环,全是自己实现的。
而且, OpenClaw 的默认模型甚至不是 Claude :
// src/agents/defaults.tsexport const DEFAULT_PROVIDER = "openai";export const DEFAULT_MODEL = "gpt-5.5";
默认用的是 GPT-5.5 。如果 OpenClaw 真是 Claude Code 的封装,默认模型怎么可能是竞争对手的产品?
那 Claude Code 在 OpenClaw 里扮演什么角色?答案是:一个可选的编程外包 Skill。
OpenClaw 有一个叫 coding-agent 的技能模块,专门处理需要写代码的任务。这个模块定义了三个可选的外部编程助手:
requires: anyBins: ["claude", "codex", "opencode"] # 三选一即可
Claude Code 、 OpenAI Codex 、 OpenCode——三选一,谁装了用谁。用完就结束子进程。
这不是”底层基于 Claude Code”,而是”偶尔叫它来帮个忙”。打个比方:你用手机叫了个外卖,不能说你的手机是基于外卖平台构建的。
如果还不信,看看独立进化的铁证
GitHub Issue #58398[1] 里有一段非常有趣的记录:
“With the Claude Code source now public (npm source map leak, March 31 2026), we can see their full compaction implementation…”
翻译一下: 2026 年 3 月 31 日 Claude Code 源码意外泄露后, OpenClaw 的开发者第一次看到 Claude Code 内部的上下文压缩实现,然后说”这几个技术不错,可以借鉴”。
如果 OpenClaw 是基于 Claude Code 构建的,它的开发者怎么可能需要等源码泄露才能看到 Claude Code 的内部实现?
这条 Issue 是最直接的证据: OpenClaw 从一开始就是独立开发的。
那仓库里到处都是 CLAUDE.md 是怎么回事?
这是造成误解的最大原因。打开 OpenClaw 的 GitHub 仓库,几乎每个目录都能看到 CLAUDE.md 文件。
但你 ls -la 看一下就明白了:
$ ls -la openclaw/CLAUDE.mdlrwxr-xr-x CLAUDE.md -> AGENTS.md # 只是符号链接
每一个 CLAUDE.md 都是指向 AGENTS.md 的软链接。
这些文件不是 OpenClaw 产品的一部分——它们是给开发 OpenClaw 这个项目的 AI 编程助手看的。不管开发者用 Claude Code 还是 Codex 来贡献代码,这些文件都会告诉 AI 助手”这个项目的开发规范是什么”。
AGENTS.md 是厂商中立的文件名,CLAUDE.md 链接过去纯粹是为了兼容 Claude Code 的文件读取机制。
OpenClaw 用户真正看到的人设系统
OpenClaw 给终端用户用的是一套完全独立的文件体系,在 src/agents/workspace.ts 里定义:
|
|
|
|
|---|---|---|
SOUL.md |
|
|
IDENTITY.md |
|
|
USER.md |
|
|
AGENTS.md |
|
|
TOOLS.md |
|
|
HEARTBEAT.md |
|
|
BOOTSTRAP.md |
|
|
Claude Code 把所有配置塞进一个 CLAUDE.md, OpenClaw 拆成了 7 个专用文件。
而且不同场景加载不同的文件组合——这是一个很精巧的设计:
// 子 Agent 只需要知道行为规范和工具用法const SUBAGENT_ALLOWLIST = ["AGENTS.md", "TOOLS.md"];// Cron 定时任务需要知道"我是谁"const CRON_ALLOWLIST = [ "AGENTS.md", "TOOLS.md", "SOUL.md", "IDENTITY.md", "USER.md"];
子 Agent 不需要加载人设信息(反正它只执行子任务),定时任务需要知道自己是谁(因为它可能要主动发消息给用户)。这种按需加载既节省 token ,又避免了不必要的角色混淆。
正确的关系图
聊到这里,我们可以画出 OpenClaw 和 Claude Code 的真实关系:
OpenClaw(独立 AI 助手基础设施) │ ├── 自己的 Agent Runtime(1,782 个文件) │ ├── 直接调 OpenAI API(默认 GPT-5.5) │ ├── 直接调 Anthropic API(Claude) │ ├── 直接调 Google API(Gemini) │ ├── 直接调 DeepSeek / Ollama ... 20+ Provider │ └── coding-agent Skill(可选外包) ├── Claude Code CLI ← 仅此处用到 ├── OpenAI Codex CLI └── OpenCode CLI
OpenClaw 是一个独立的系统。它和 Claude Code 在”AI Agent 核心循环”这一层有功能重叠,但 Claude Code 在这一层做得更精细——专用的代码编辑工具、 prompt caching 、深度上下文压缩。
OpenClaw 则在这一层之上和之外,建了更大的东西:多通道消息、多媒体生成、语音交互、设备控制、定时任务、插件生态。
下一篇预告
既然 OpenClaw 不是 Claude Code 的”套壳”,那它到底在 Claude Code 的基础上还多做了哪些事情?编程能力上谁更强?那些看起来很炫的多通道、语音输入、图片生成,技术含量到底有多高?
下一篇,我们来做一个全面的能力对比。
参考链接
[1] #58398: https://github.com/openclaw/openclaw/issues/58398
夜雨聆风