Claude Code vs OpenClaw 架构对比分析报告
研究任务:深度分析 Claude Code 泄露源码中的可借鉴设计
研究Agent:Agent 4 - 架构对比
日期:2026-04-02
执行摘要
Anthropic 的 Claude Code 于 2026年3月31日意外泄露了 51.2 万行源码,揭示了其内部架构和大量未发布功能。本报告对比 Claude Code 与 OpenClaw 的架构差异,提取可借鉴的设计模式,并给出实施优先级建议。
核心发现:
- Claude Code 采用 三层记忆架构(MEMORY.md索引 → Topic文件 → 原始转录),OpenClaw 采用 文件+向量混合架构
- Claude Code 有 40+ 内置工具,OpenClaw 采用 Skills插件系统 扩展工具
- Claude Code 使用 Ink + Bun 技术栈,OpenClaw 使用 Node.js + Gateway 架构
- Claude Code 隐藏了 KAIROS/ULTRAPLAN 多Agent协调系统,OpenClaw 已实现 subagent 架构
1. Claude Code 核心特性梳理
1.1 BUDDY 终端宠物系统
Claude Code 源码中最令人惊喜的发现是一个完整的 Tamagotchi 风格终端宠物系统。
技术实现:
// buddy/companion.ts
Species (18 total, hidden via String.fromCharCode()):
- duck, dragon, axolotl, capybara, mushroom, ghost, nebulynx...
Rarity tiers:
- Common > Uncommon > Rare > Epic > Legendary
- 1% shiny chance
Stats:
- DEBUGGING / PATIENCE / CHAOS / WISDOM / SNARK
Determined by:
- Mulberry32 PRNG seeded from userId hash + salt 'friend-2026-401'
- 同一用户始终获得相同物种(确定性生成)
设计理念: 在严肃的编程工具中注入人格化元素,增强用户情感连接。
1.2 Undercover Mode(卧底模式)
一个争议性功能,在向开源代码提交 PR 时自动移除所有 Anthropic 相关信息。
// 代码中的提示词明确写到:
"让AI伪装成人类"
争议点: 这可能违反开源社区的透明度原则。
1.3 Dream / KAIROS 记忆系统
四层记忆整合管道:
Layer 1: MEMORY.md
→ 轻量级索引指针(每条约150字符)
→ 始终加载在上下文中
→ 存储位置而非数据
Layer 2: Topic Files
→ 实际项目知识,按需获取
→ 从不同时完整加载
Layer 3: Raw Transcripts
→ 仅用于特定标识符的grep搜索
→ 从不完整重新读取
Layer 4: AutoDream(夜间整合)
→ Orient(定向)- 扫描上下文,识别重要内容
→ Collect(收集)- 收集事实、决策、模式
→ Consolidate(整合)- 合并新旧记忆
→ Prune(修剪)- 丢弃过时或低价值记忆
Strict Write Discipline(严格写入纪律):
- Agent 只能在确认文件写入成功后更新记忆索引
- 防止用失败尝试污染上下文
- Agent 将自身记忆视为"提示"而非"事实",行动前验证
1.4 KAIROS / ULTRAPLAN 多 Agent 协调
KAIROS(希腊语"恰当时刻"):
- 始终在线的自主后台守护进程
- 用户空闲时运行
autoDream进行夜间记忆整合 - 合并不同观察,移除逻辑矛盾
- 将模糊洞察转化为验证事实
- 支持团队记忆路径(跨团队 Claude Code 实例共享)
ULTRAPLAN:
- 将复杂规划任务卸载到远程 Cloud Container Runtime (CCR)
- 使用 Opus 4.6 模型运行长达 30 分钟
- 用户可从手机或浏览器批准结果
- 特殊哨兵值
__ULTRAPLAN_TELEPORT_LOCAL__将结果带回本地
Coordinator Mode:
- 一个 Claude 实例管理多个并行工作 Agent
- 通过邮箱系统协调
- 每个工作 Agent 处理子任务,Coordinator 路由工作并协调结果
- 支持 Unix Domain Socket (UDS) 进程间通信
1.5 40+ 工具系统
| 工具类别 | 具体工具 | 功能 |
|---|---|---|
| 文件操作 | FileReadTool, FileWriteTool, FileEditTool | 文件读写编辑 |
| 代码搜索 | GlobTool, GrepTool, LSPTool | 代码库搜索、LSP集成 |
| 执行 | BashTool | 带安全保护的shell执行 |
| Web | WebFetchTool | 实时网页访问 |
| 笔记本 | NotebookReadTool, NotebookEditTool | Jupyter支持 |
| 批量编辑 | MultiEditTool | 原子性多文件编辑 |
| 任务追踪 | TodoReadTool, TodoWriteTool | 任务管理 |
权限系统: 每个工具调用通过 6 层安全检查
- Config allowlist(配置白名单)
- Auto-mode classifier(自动模式分类器)
- Coordinator gate(协调器门控)
- Swarm worker gate(集群工作节点门控)
- Bash classifier(Bash命令分类器)
- Interactive user prompt(交互式用户确认)
2. OpenClaw 架构概述
2.1 运行时与架构
| 维度 | OpenClaw | Claude Code |
|---|---|---|
| 运行时 | Node.js 22+ / Bun | Bun(主要) |
| 代码量 | ~42万行 | ~51万行 |
| 架构模式 | Gateway-centric 插件架构 | Monolithic CLI |
| UI渲染 | 原生App + Web + Canvas | Ink(终端React) |
| 前端 | Swift (iOS/macOS), Kotlin (Android), React Web | 单一终端界面 |
2.2 Gateway 控制平面
OpenClaw 的核心架构创新是 Gateway —— 始终在线的控制平面:
┌─────────────────────────────────────────┐
│ Gateway │
│ (Port 18789 - 控制平面) │
├─────────────────────────────────────────┤
│ - Session Management │
│ - Channel Routing │
│ - Tool Dispatch │
│ - Event Handling │
└──────────────┬──────────────────────────┘
│
┌──────────┼──────────┐
▼ ▼ ▼
┌───────┐ ┌───────┐ ┌───────────┐
│Slack │ │Discord│ │Telegram │
│WhatsApp│ │iMessage│ │Signal │
│... │ │... │ │... │
└───────┘ └───────┘ └───────────┘
2.3 Skills 插件系统
OpenClaw 使用三层技能系统替代 Claude Code 的内置工具:
| 技能类型 | 位置 | 用途 |
|---|---|---|
| Bundled | 内置 | 核心功能(browser, exec, message等) |
| Managed | ClawHub | 社区共享技能 |
| Workspace | ./skills/ |
项目特定技能 |
技能定义格式(SKILL.md):
---
name: skill-name
description: 技能描述
metadata:
openclaw:
requires: { bins: ["tool"] }
install: [...]
---
# 使用说明...
2.4 记忆系统
OpenClaw 采用三层记忆架构:
Layer 1: MEMORY.md
→ 长期精选记忆(手动维护)
→ 跨会话持久化
Layer 2: memory/YYYY-MM-DD.md
→ 每日原始日志
→ 自动记录对话
Layer 3: Vector Memory (LanceDB)
→ 语义搜索
→ 自动检索相关记忆
对比 Claude Code:
- OpenClaw 的 MEMORY.md 是用户可编辑的,Claude Code 的是自动生成的索引
- OpenClaw 使用向量数据库,Claude Code 使用文件分层
- Claude Code 有自动"梦境"整合,OpenClaw 需要手动或心跳触发整理
2.5 子 Agent 架构
OpenClaw 已实现 sessions_spawn API 支持子 Agent:
// 派生子Agent
sessions_spawn({
task: "具体任务描述",
pattern: "researcher-specialist", // 可选:指定模式
limits: {
timeout: 600000,
// 注意:以下限制在v2规划中,当前仅支持timeout
// maxMemory: 512,
// maxCost: 2.00
}
});
当前限制:
- 仅支持超时终止,不支持资源限制终止
- 无双向通信(子Agent结果自动报告)
- 无 post-mortem 跟踪
3. 架构对比表
3.1 核心特性对比
| 特性 | Claude Code | OpenClaw | 可借鉴方向 |
|---|---|---|---|
| 运行时 | Bun | Node.js 22+ / Bun | OpenClaw 更灵活 |
| UI渲染 | Ink(终端React) | 原生App + Web + Canvas | 各有优势 |
| 安装方式 | npm / 安装脚本 | npm + Gateway | Claude更简单 |
| 代码规模 | ~51万行 | ~42万行 | 相当 |
| 开源状态 | 闭源(泄露) | MIT开源 | - |
3.2 工具系统对比
| 维度 | Claude Code | OpenClaw |
|---|---|---|
| 架构 | 40+内置工具 | Skills插件系统 |
| 扩展方式 | 需改源码 | SKILL.md声明式 |
| 权限模型 | 6层安全检查 | 技能级权限 |
| MCP支持 | 内置MCP | 通过mcporter支持 |
| 工具发现 | 静态定义 | 动态技能加载 |
3.3 记忆系统对比
| 维度 | Claude Code | OpenClaw |
|---|---|---|
| 架构 | 3层分层存储 | 3层混合存储 |
| 自动整合 | AutoDream(夜间) | 心跳/手动 |
| 存储格式 | 专有格式 + Markdown | Markdown + SQLite + LanceDB |
| 团队共享 | KAIROS团队路径 | 待实现 |
| 检索方式 | 分层按需加载 | 向量语义搜索 |
| 写入纪律 | Strict Write Discipline | 无强制约束 |
3.4 Agent协调对比
| 维度 | Claude Code | OpenClaw |
|---|---|---|
| 多Agent | Coordinator模式 | sessions_spawn |
| 并行执行 | Swarm(集群) | 子Agent并行 |
| 通信机制 | UDS邮箱系统 | 结果自动报告 |
| 远程规划 | ULTRAPLAN (30分钟) | 待实现 |
| 后台模式 | KAIROS守护进程 | Gateway始终在线 |
| 自动触发 | AGENT_TRIGGERS | cron调度 |
3.5 功能特性对比
| 特性 | Claude Code | OpenClaw | 优先级 |
|---|---|---|---|
| BUDDY宠物系统 | ✅ | ❌ | 低 |
| 语音模式 | ✅ (隐藏) | ✅ (部分) | 中 |
| 浏览器控制 | ✅ (WebFetch) | ✅ (browser工具) | - |
| 终端UI | ✅ (Ink) | ❌ | 中 |
| 消息渠道 | ❌ | ✅ (20+) | OpenClaw胜 |
| 原生App | ❌ | ✅ (iOS/Android/macOS) | OpenClaw胜 |
| Docker沙箱 | ✅ | ✅ | - |
| MCP工具 | ✅ | ✅ | - |
4. 可借鉴的设计模式
4.1 高优先级(立即实施)
4.1.1 Strict Write Discipline(严格写入纪律)
问题: OpenClaw 可能在文件写入失败后仍更新记忆,导致记忆污染。
解决方案:
// 在文件写入成功后才能更新记忆
async function writeFileAndUpdateMemory(filePath, content, memoryUpdate) {
try {
await fs.writeFile(filePath, content);
// 确认写入成功后
await updateMemoryIndex(memoryUpdate);
} catch (error) {
// 失败时不更新记忆
throw error;
}
}
实施难度: 低
影响: 高(防止记忆污染)
4.1.2 AutoDream 记忆整合
问题: OpenClaw 的记忆需要手动或心跳整理,缺乏自动整合机制。
解决方案:
// 在heartbeat或定时任务中添加
async function autoDream() {
// 1. Orient - 扫描memory/目录
const dailyFiles = await scanDailyFiles();
// 2. Collect - 提取关键信息
const insights = await extractInsights(dailyFiles);
// 3. Consolidate - 合并到MEMORY.md
await consolidateToMemoryMD(insights);
// 4. Prune - 清理过时内容
await pruneStaleMemories();
}
实施难度: 中
影响: 高(提升记忆质量)
4.1.3 六层权限系统
问题: OpenClaw 的权限控制较粗粒度。
解决方案:
# 在SKILL.md中添加权限声明
permissions:
layers:
- config_allowlist # 配置白名单检查
- auto_classifier # 自动模式分类
- coordinator_gate # 协调器授权
- bash_classifier # Bash命令分析
- sandbox_check # 沙箱验证
- user_confirm # 用户确认
实施难度: 高
影响: 高(安全性提升)
4.2 中优先级(近期规划)
4.2.1 BUDDY 终端宠物系统
价值: 增强用户情感连接,提供轻松的使用体验。
简化实现思路:
// 在Terminal UI中添加
class TerminalBuddy {
constructor(userId) {
this.species = this.determineSpecies(userId);
this.stats = { debugging: 0, patience: 0, chaos: 0, wisdom: 0, snark: 0 };
}
render() {
// 在终端角落渲染ASCII艺术
return `[\({this.getEmoji()}]\){this.sayRandom()}`;
}
}
实施难度: 低
影响: 中(用户体验)
4.2.2 ULTRAPLAN 远程深度规划
价值: 复杂任务需要长时间思考,本地执行可能超时。
实现思路:
- 检测到复杂任务时,提供"深度规划模式"选项
- 将任务上下文发送到远程服务
- 使用更强的模型(Opus级别)进行长达30分钟的规划
- 用户异步接收规划结果
实施难度: 高
影响: 中(复杂任务处理能力)
4.2.3 增强的子Agent资源限制
问题: OpenClaw 子Agent目前仅支持超时限制。
解决方案:
sessions_spawn({
task: "...",
limits: {
timeout: 600000,
maxMemory: 512, // MB - 待实现
maxCost: 2.00, // USD - 待实现
maxOutputSize: 10, // MB - 待实现
maxToolCalls: 100, // 待实现
stuckDetection: { // 待实现
enabled: true,
sameToolRepeat: 5
}
}
});
实施难度: 中
影响: 中(成本控制与稳定性)
4.3 低优先级(长期愿景)
4.3.1 团队记忆共享
价值: 团队协作时共享项目上下文。
实现思路:
- 支持团队级 MEMORY_TEAM.md
- 使用共享存储(如飞书文档、Notion)同步记忆
- 权限控制确保敏感信息隔离
4.3.2 语音模式增强
OpenClaw 已有部分语音支持,可参考 Claude Code 的 VOICE_MODE 设计更完整的语音交互体验。
4.3.3 电子宠物变体
在 Canvas 或 Web 界面中实现可视化宠物,而非纯终端版本。
5. 实施路线图建议
第一阶段(1-2周):基础加固
-
Strict Write Discipline
- 修改文件写入工具,确保写入成功后才能更新记忆
- 添加事务性写入支持
-
BUDDY 简化版
- 在终端输出中添加简单的ASCII宠物
- 根据用户ID确定性生成物种
- 添加随机吐槽功能
第二阶段(2-4周):记忆系统升级
-
AutoDream 自动整合
- 在 heartbeat 中添加记忆整理任务
- 实现四阶段整合管道
- 支持手动触发整理
-
MEMORY.md 格式优化
- 参考 Claude Code 的轻量级索引格式
- 添加位置指针而非完整内容
第三阶段(1-2月):高级功能
-
权限系统增强
- 在 SKILL.md 中声明权限需求
- 实现多层权限检查
-
子Agent资源限制
- 内存监控与限制
- 成本预算控制
- 死循环检测
第四阶段(3月+):创新功能
-
ULTRAPLAN 远程规划
- 集成远程推理服务
- 异步规划工作流
-
团队记忆共享
- 多用户记忆同步
- 权限与隐私控制
6. 核心发现摘要
6.1 架构哲学差异
| Claude Code | OpenClaw |
|---|---|
| 产品优先 - 精心打磨的单一用户体验 | 平台优先 - 可扩展的多渠道架构 |
| 集中式 - 所有功能内置 | 分布式 - Gateway + Skills |
| 终端原生 - Ink React渲染 | 跨平台 - 原生App + Web |
| 模型驱动 - 依赖Claude模型能力 | 工具驱动 - 丰富的工具生态 |
6.2 各有优势领域
Claude Code 领先:
- 终端UI体验(Ink)
- 记忆自动整合(Dream系统)
- 权限安全模型
- 远程深度规划(ULTRAPLAN)
OpenClaw 领先:
- 渠道覆盖(20+消息平台)
- 扩展性(Skills系统)
- 多平台支持(iOS/Android/macOS)
- 开源社区生态
6.3 最值得借鉴的设计
- Strict Write Discipline - 防止记忆污染的关键机制
- 三层记忆架构 - 分层存储优化上下文使用
- AutoDream - 自动记忆整合提升长期记忆质量
- 六层权限 - 深度安全防护模型
- BUDDY - 人格化设计增强用户体验
6.4 风险提醒
- Undercover Mode 类似功能可能引发伦理争议,不建议实现
- KAIROS 的始终在线模式需考虑隐私和用户授权
- 任何后台自动操作都需明确用户同意机制
附录:参考资源
报告完成时间:2026-04-02
研究Agent:Agent 4 - OpenClaw对比与可借鉴设计
文件路径:/root/.openclaw/workspace/claude_code_vs_openclaw.md
#ClaudeCode #Anthropic #AIAgent #MCP #架构分析 #代码泄露 #技术报告 #小凯
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。