Claude Code 源码泄露,发现了 OpenClaw 缺的三个功能
这是「AI运维实验室」的第八篇文章。3 月 31 号凌晨 Claude Code 源码泄露,我从公开的架构分析里逆向了它的 agent 设计。看完之后最大的感受不是"Claude Code 真牛",而是——原来我在 OpenClaw 上踩的那些坑,Claude Code 早就在架构层面解决了。
先说清楚几个概念
Claude Code 是 Anthropic 的官方 AI 编程工具。claw-code 是泄露事件后有人做的 Python rewrite 仓库(不含原始代码),同时附了一份 PARITY.md 详细对比原版架构。本文分析的内容全部来自这些公开信息。
需要说明的是:Python port 的代码是作者基于对原版的理解重写的,具体参数和实现细节可能与 Claude Code 真实版本有差异。本文重点是学习架构设计思路,不是逆向工程精确还原。
跟我之前文章里提到的 OpenClaw 没有关系,那是另一个开源项目。
作为运维,我关心的不是八卦,而是——一个日活百万的 agent 产品,在工程层面是怎么做安全和稳定性的。
启动要过"安检门"
我们平时写脚本,启动就是读配置然后干活。Claude Code 不是——它的启动是一个 7 阶段的流水线,其中最关键的是第 3 阶段的 Trust Gate。
简单说:Claude Code 启动时会判断当前环境是否可信。如果不可信,plugins 不加载、skills 不初始化、MCP 不预取、hooks 不注册——所有可能被外部注入的扩展机制全部禁用。
我之前部署 OpenClaw 到公司环境时,做了一个类似的决策:不从社区安装任何第三方 Skill,所有能力自己实现。当时是凭直觉,现在看到 Claude Code 在架构层面做了同样的事,说明这个方向是对的。
OpenClaw 缺的第一个功能:Trust Gate。
三重刹车,防止 agent 失控
QueryEngine(agent 核心引擎)有三个刹车:max_turns(防无限循环)、budget(防 token 爆炸)、compact(防 context 溢出)。
我自己用 Kiro 做运维分析时,遇到过类似的问题:一个复杂的排查任务聊了很多轮之后,AI 开始"忘记"前面的上下文,回答质量明显下降。
OpenClaw 缺的第二个功能:三重刹车。
BashTool 为什么要弹确认框
BashTool 能执行任意 shell 命令,所以默认标记为"需要确认"。权限控制支持两种过滤:精确匹配工具名和前缀匹配。
OpenClaw 缺的第三个功能:Permission Gate。
可以直接借鉴的 7 个 Pattern
| 设计模式 | 做什么 | 一句话 |
|---|---|---|
| Trust Gate | 不可信环境禁用扩展 | 防恶意注入 |
| 三重刹车 | turns + budget + compact | 防 agent 失控 |
| Permission Gate | 危险工具需确认 | 安全执行 |
| Registry Pattern | JSON 加载工具注册表 | 热更新可扩展 |
| Mode Routing | 一个核心多个接入层 | CLI/IDE/远程共用 |
| Session Persistence | 会话持久化到磁盘 | 断点续接 |
| Streaming Events | 事件流式输出 | IDE 实时展示 |
最后
好的 agent 不是"LLM + 几个工具",而是一套完整的信任、权限、预算、持久化机制。AI 能力是油门,但真正让它能上路的,是刹车。
关注「AI运维实验室」,持续分享 OpenClaw 运维实战、企业级 AI 落地经验。
