Claw 系列智能体深度架构对比:从单体到沙箱的六种范式
Claw Agent Ecosystem: A Deep Architectural Comparison
对 ZeroClaw、OpenClaw、IronClaw、NanoBot、NanoClaw、PicoClaw 六个 AI 智能体项目的源码级深度分析。覆盖 Rust/TypeScript/Python/Go 四种语言栈,从架构范式、安全机制、存储引擎到通道管理进行全面横向对比,揭示智能体框架演进的底层逻辑。
概览
这份报告对 Claw 系列的六个 AI 智能体项目进行了代码级深度分析。六个项目共享 "Claw" 品牌,但分别用 Rust、TypeScript、Python、Go 四种语言实现,针对不同场景深度优化——从嵌入式 WASM 运行时到企业级 30+ 通道网关,形成了一个完整的智能体生态。
| 项目 | 语言 | 代码规模 | 核心定位 | 成熟度 |
|---|---|---|---|---|
| ZeroClaw | Rust | ~477 .rs | 高性能本地智能体框架 | 4/5 |
| OpenClaw | TypeScript | ~8800 .ts | 全功能多通道智能体网关 | 5/5 |
| IronClaw | Rust | ~464 .rs | 轻量级嵌入式智能体 | 3/5 |
| NanoBot | Python | ~144 .py | 极简 AI 智能体 | 3/5 |
| NanoClaw | TypeScript | ~53 .ts | 容器化安全智能体 | 4/5 |
| PicoClaw | Go | ~560 .go | 高效多通道智能体 | 4/5 |

三种架构范式
六个项目可以归入三种架构范式,这个分类揭示了智能体框架设计的核心分歧点。
范式一:单体框架(ZeroClaw / NanoBot / IronClaw)
单体框架的特征是单一二进制、自包含运行时。智能体循环内嵌在进程中,所有消息处理、工具调用、状态管理在同一个地址空间完成。
ZeroClaw 是 Rust 实现的代表,基于 Tokio 异步运行时构建事件驱动的 Agent 循环。核心模块 agent/loop.rs 使用 tokio::select! 实现消息路由 → 上下文组装 → LLM 调用 → 工具执行的完整流程,通过 Rust 的所有权系统在编译时消除数据竞争。
IronClaw 走到另一个极端——最小核心 + axum HTTP API + WASM 编译支持。整个智能体循环只保留核心 LLM 调用和工具执行,二进制约 5MB,适合嵌入到其他系统中作为 AI 能力模块。
NanoBot 则是 Python 极简主义的体现:asyncio 事件循环 + OpenAI SDK,典型文件不超过 200 行,适合快速原型验证。
范式二:网关架构(OpenClaw / PicoClaw)
网关架构引入了消息通道抽象层、路由系统和分布式能力。
OpenClaw 是功能最完整的实现,支持 30+ 消息通道(Telegram、Discord、Slack、Signal、iMessage、WhatsApp Web、Matrix 等),拥有成熟的插件系统和版本化合约。其安全层实现了 13 个基础检测模式 + 28 个 Unicode 变体的提示注入检测,并通过 SecretRef + SHA-256 + timingSafeEqual 实现凭证安全比较。
PicoClaw(Go)在性能和功能之间取得了优秀平衡。核心 AgentLoop 结构体(pkg/agent/loop.go,3426 行)集成了事件总线、Hook 管理器、上下文管理、模型回退链和子 Turn 系统。特别值得注意的是其 FallbackChain + CooldownTracker 的模型回退机制——自动将 LLM 错误分为 8 类(速率限制、过载、超时、账单、认证、格式、上下文溢出等),按类别触发不同的回退策略。
范式三:容器沙箱(NanoClaw)
NanoClaw 采用了独特的宿主-容器沙箱架构,是六个项目中安全隔离做得最彻底的。
架构分三层:主机端(消息循环 + 状态管理 + 容器编排)→ Docker API → 容器沙箱(Claude Agent SDK 运行时)。每个群组独立容器,挂载策略根据信任等级动态构建——主群组获得项目目录只读挂载和完整工具权限,非主群组则受到独立会话隔离和有限挂载限制。
其 mount-security.ts(420 行)实现了路径遍历防护:符号链接解析、默认阻止模式(.ssh、.env、private_key 等)、外部 Allowlist 管理。IPC 通过文件系统实现,容器写入文件与主机通信,支持 message、schedule_task、pause_task 等 6 种消息类型。
存储引擎的设计哲学
各项目在会话存储上展现了截然不同的设计哲学,这直接影响性能特征和适用场景。
| 方案 | 项目 | 关键特性 |
|---|---|---|
| SQLite 结构化 | NanoClaw | 7 张表,Schema 迁移,UPSERT 模式 |
| JSONL Append-only | PicoClaw | 逻辑截断(skip 偏移量),O(1) 写入 |
| 文件系统 | OpenClaw, NanoBot | Markdown + JSON,人类可读 |
| 无持久化 | IronClaw | 纯内存,短生命周期 |
PicoClaw 的 JSONL 方案值得单独展开。其 pkg/memory/jsonl.go(461 行)实现了 append-only 存储引擎:
session.jsonl: [追加写入,不物理删除]
{"role":"user","content":"..."}
{"role":"assistant","content":"..."}
{"role":"user","content":"..."} <- skip=N 之前的已逻辑截断
session.meta.json:
{"summary":"...","skip":1} <- 逻辑截断偏移量关键设计决策:通过 .meta.json 中的 skip 偏移量实现会话压缩,无需重写 JSONL 文件。配合分片互斥锁(shardMutexes)保证并发安全,os.Rename 保证原子写入。这意味着写入性能始终是 O(1),内存使用也是 O(1)——不缓存完整历史,按需读取。
安全架构:三个流派

安全是这六个项目最大的差异化因素,从 NanoBot 的零安全到 NanoClaw 的容器隔离,安全投入差异巨大。
流派一:纵深防御(OpenClaw)
OpenClaw 采用多层安全检查串联的策略:提示注入检测(13 模式 + 28 Unicode 变体,分级响应 log → warn → quarantine → block)→ 内容过滤 → 工具审批(13 个工具默认拒绝)→ 沙盒验证(17+ 路径规则)。SecretRef 系统使用 SHA-256 + timingSafeEqual 防止时序攻击。
不足之处:提示注入检测目前仅记录日志,无自动阻断——报告识别为高优先级改进项。
流派二:容器隔离(NanoClaw)
NanoClaw 的安全模型建立在 Docker 进程级隔离之上。信任边界被清晰划分为三层:主群组(受信任)、非主群组(不受信任)、容器 Agent(沙箱隔离)。容器默认无法访问宿主机网络,天然实现 SSRF 防护。凭证通过 Agent Vault 注入,.env 文件内容被遮蔽。
流派三:运行时检查(PicoClaw)
PicoClaw 实现了最全面的 SSRF 防护(pkg/tools/web.go,1618 行):预检 isObviousPrivateHost()(轻量级字符串匹配)→ 连接时 newSafeDialContext()(实际 DNS 解析)→ 检查 RFC 1918、回环、链路本地、组播、广播地址 → 防止 DNS 重绑定攻击(连接时重新解析 DNS,防止 TOCTOU 竞态)。
Shell 执行安全(pkg/tools/shell.go,1137 行)通过 defaultDenyPatterns 阻止 rm -rf /、sudo、dd if=、mkfs 等危险命令,restrictToWorkspace 限制命令在工作区内执行。
子 Turn 与 Hook 系统

子 Turn 系统是智能体框架的核心能力之一——它允许 Agent 嵌套调用自身或调用其他 Agent,实现任务分解和并行执行。
OpenClaw 和 NanoClaw 通过 Task 工具实现子 Turn,为每个子任务创建独立会话。PicoClaw 的实现最为优雅:ephemeralSessionStore 使用纯内存临时会话,执行完成后自动释放,既不污染父会话,也不产生持久化 I/O 开销。支持深度限制(防止无限递归)和并发控制,Token 预算可以在父子 Turn 之间共享。
PicoClaw 还实现了完整的 Hook 系统(pkg/agent/hooks.go,810 行),四种接口:EventObserver(事件观察)、LLMInterceptor(LLM 拦截)、ToolInterceptor(工具拦截)、ToolApprover(工具审批)。Hook 按优先级排序,在独立 goroutine 中运行并带有超时机制,支持 Modify、Replace、Block、Continue 四种决策。
六维度能力对比

从六个维度——类型安全、功能完整度、安全隔离、开发效率、并发性能、生态丰富度——进行综合评估:
- ZeroClaw 在类型安全(9.5)和并发性能(9)上领先,但功能完整度(5)和生态(3)明显不足
- OpenClaw 功能完整度(9.5)和生态丰富度(9.5)均为最高,代价是 TypeScript 运行时性能受限
- PicoClaw 在所有维度上表现均衡(7-9),是综合性价比最优的选择
- NanoClaw 安全隔离(9.5)独占鳌头,但仅支持 Claude Agent SDK,Provider 生态受限
性能与资源效率

运行时性能数据呈现了清晰的分层:
启动速度:IronClaw / ZeroClaw(<100ms,编译型语言优势)→ PicoClaw(~200ms,Go)→ NanoBot(~500ms,Python 解释器)→ OpenClaw(2-5s,Node.js + 大量模块加载)→ NanoClaw(3-10s,含 Docker 容器创建)
内存占用:IronClaw(~10MB)→ ZeroClaw(~20MB)→ PicoClaw / NanoBot(~50MB)→ OpenClaw(200-500MB)→ NanoClaw(200MB+ 乘以容器数)
值得注意的是 NanoClaw 的内存模型——每个群组一个独立容器,内存开销与容器数线性相关。在高并发场景下,这会成为显著的资源瓶颈。
推荐场景矩阵
基于上述分析,不同场景的推荐如下:
| 场景 | 推荐项目 | 核心理由 |
|---|---|---|
| 生产级多通道网关 | OpenClaw | 30+ 通道,插件生态,Gateway 分布式 |
| 高安全要求 | NanoClaw | Docker 隔离 + 信任分层 + Agent Vault |
| 本地个人助手 | PicoClaw | 单二进制,Go 协程高效,SSRF 防护全面 |
| 嵌入式 AI | IronClaw | 最小依赖,WASM 支持,5MB 二进制 |
| 快速原型 | NanoBot | Python 生态,<200 行文件,最低门槛 |
| 性能敏感 | ZeroClaw | Rust 零成本抽象,编译时安全保证 |
关键发现
-
架构趋同:所有项目的核心循环趋于一致——消息接收 → 上下文组装 → LLM 调用 → 工具执行 → 响应发送。差异主要体现在隔离策略、扩展能力和安全深度上。
-
Go 的工程优势:PicoClaw 的 Go 实现在并发(goroutine)、部署(单二进制)和错误处理(显式错误值)上展现了出色的工程特性,是综合平衡最优的方案。
-
安全是最大分化点:从零安全到容器隔离,安全投入差异巨大。生产环境部署应优先考虑 NanoClaw 或 OpenClaw。
-
MCP 成为主流协议:OpenClaw 和 PicoClaw 都支持 stdio / SSE / HTTP 三种传输方式,MCP 正在统一智能体工具扩展接口。
-
JSONL 逻辑截断是存储创新:PicoClaw 的 append-only + skip 偏移量方案在写入性能和存储效率之间取得了优秀平衡,值得借鉴。
-
ephemeralSession 是最优雅的子 Turn 隔离:纯内存临时会话,自动释放,不污染父会话,不产生 I/O 开销。
本报告基于 2026-04-03 的代码快照生成,分析覆盖六个 Claw 系列智能体项目,总计约 50,000+ 行源码。