用OpenClaw深挖Claude源码:系统Prompt、安全机制全被我扒出来了
昨天,Anthropic 发生直接”开源级事故”,在 X 上炸了。他们官方 npm 包(Claude Code CLI v2.1.88)打包失误—— 把完整源码一起发出去了。
不是一点点,是:
-
~60MB 的 source map 文件 -
1900+ 个 TypeScript 源文件 -
超过 51 万行代码
重点是:全部未混淆。
里面有什么?
👉 系统 Prompt
👉 安全机制
👉 遥测逻辑
👉 甚至还有未发布功能(KAIROS / Undercover Mode)
一句话总结:
这不是泄漏模型,但几乎把”怎么用模型”全公开了。Anthropic现在,比OpenAI 还”open”。
昨晚我还在调自动化视频工作流,没来得及看。我直接让 9527(龙虾🦞)把备份仓库拉下来分析了一遍,生成一份小白也能看懂的全面技术解读报告。

Claude Code 泄漏源码分析报告
一份让所有人都能看懂的技术解读报告
🤖 AI 编程工具 | 🔍 源码考古 | ⚙️ 架构解析 | 🔐 权限安全
这份报告说了什么
-
Claude Code 到底是什么? -
它的内部是怎么运作的? -
它怎么知道该用什么工具? -
它怎么保证不会乱来? -
有没有什么隐藏彩蛋? -
跟 Cursor、Windsurf 比怎么样? -
对普通开发者有什么用?
1. Claude Code 到底是什么?
Claude Code 是 Anthropic(Claude 的开发公司)出的一个命令行编程工具。你可以把它理解成一个跑在终端里的 AI 程序员——你告诉它要做什么,它会自己读代码、写代码、运行命令。
举个例子: 你输入”帮我把这个登录功能改成支持微信登录”,Claude Code 会自动分析你的代码、找到相关文件、做修改、甚至帮你测试。全程不需要你手动一个个文件去改。
它用了什么技术?
| 组成部分 | 用的什么技术 | 通俗解释 |
|---|---|---|
| 界面显示 | React + Ink | 让终端也能显示漂亮的彩色界面 |
| 核心大脑 | Rust 编程语言 | 速度快、内存安全,大型科技公司最爱 |
| AI 对话 | Anthropic API | 实际调用 Claude 来理解和生成代码 |
| 工具扩展 | MCP 协议 | 一种让外部工具能统一接入的标准方式 |
| 权限控制 | 五层权限模型 | 防止 AI 乱删你的文件或执行危险命令 |
代码规模有多大?
-
📁 1,902 个 TypeScript 文件(原始源码,已存档) -
🐍 98 个 Python 文件(移植工作层) -
🦀 51 个 Rust 文件(生产级实现) -
🛠️ 207 条内置命令(slash commands) -
🔧 184 种工具(文件读写、搜索、shell 执行等)
2. 它的内部是怎么运作的?
我把它的架构画成了一张简单的图:
┌──────────────────────────────────────┐
│ 你(在终端输入指令) │
└──────────────┬───────────────────────┘
▼
┌──────────────────────────────────────┐
│ 🤖 Coordinator(指挥中心) │
│ 负责思考:接下来该干什么? │
└──────────────┬───────────────────────┘
▼
┌──────────────────────────────────────┐
│ 📡 API Client(发消息给 Claude) │
│ 把你的指令和工具列表发给 Claude │
└──────────────┬───────────────────────┘
▼
┌──────────────────────────────────────┐
│ 🔄 Conversation Loop(循环执行) │
│ Claude 思考 → 调用工具 → 执行 → 结果 │
│ 最多循环 16 次,超了就停止 │
└──────────────┬───────────────────────┘
▼
┌──────────────────────────────────────┐
│ 🛡️ Permission Check(权限检查) │
│ 危险操作必须经过你同意才能执行 │
└──────────────┬───────────────────────┘
▼
┌──────────────────────────────────────┐
│ ✅ 执行结果返回给你 │
└──────────────────────────────────────┘
QueryEngine — 查询引擎
这是整个系统的大脑指挥官,负责管理对话的”回合”(turn):
你说一句话 → 它记录下来 → 判断是否需要压缩历史 → 决定是否继续对话
关键参数:
-
max_turns = 8:一场对话最多 8 轮,防止无限循环 -
compact_after_turns = 12:超过 12 轮就自动压缩历史,减少 token 消耗 -
max_budget_tokens = 2000:预算 token 上限,超了就停止
Session — 会话管理
所有对话历史都存在 ~/.claude/sessions/ 目录下,每个会话有一个唯一 ID。你随时可以恢复之前的会话继续工作。
3. 它怎么知道该用什么工具?
Claude Code 内置了 184 种工具,大致分这几类:
📁 文件操作类
-
Read — 读取文件 -
Write — 写入文件 -
Edit — 精准修改文件 -
Glob — 按模式搜索文件 -
Grep — 在文件中搜索内容
💻 Shell 执行类
-
Bash — 运行命令行 -
Node/Python — 运行脚本 -
Git — 版本控制操作
🧠 Agent 子模块
-
planAgent — 任务规划 -
exploreAgent — 代码探索 -
verificationAgent — 结果验证 -
generalPurposeAgent — 通用执行
🔌 MCP 扩展类
-
所有以 mcp__前缀开头的工具 -
来自外部 MCP 服务器 -
支持自定义扩展
207 条 Slash Commands
在 Claude Code 里输入 / 会弹出命令列表:
| 命令 | 功能 |
|---|---|
| /init | 初始化项目结构 |
| /diff | 查看当前的代码改动 |
| /compact | 手动压缩对话历史 |
| /memory | 查看记忆文件 |
| /model | 切换使用的模型 |
| /permissions | 调整权限模式 |
| /cost | 查看 Token 消耗 |
| /sessions | 管理会话历史 |
4. 它怎么保证不会乱来?
Claude Code 有一套五层权限安全模型,像一道道关卡一样保护你的电脑:
| 安全等级 | 名字 | 能做什么 | 不能做什么 |
|---|---|---|---|
| 第1级 | ReadOnly | 只读文件、读代码 | 不能写文件、不能执行命令 |
| 第2级 | WorkspaceWrite | 读写项目文件 | 不能执行危险的 Shell 命令 |
| 第3级 | DangerFullAccess | 完全访问,可执行任意命令 | ⚠️ 无警告,可删除系统文件 |
| 第4级 | Prompt | 每一步都弹窗问你确认 | 什么都不自动执行 |
| 第5级 | Allow | 完全放行 | ⚠️ 没有任何限制 |
⚠️ 危险提醒: 如果你用
--dangerously-skip-permissions或者设置为Allow模式,Claude Code 理论上可以做任何事——包括删除你的整个项目。在正式环境请务必小心!
权限是怎么检查的?
执行任何工具前 → 检查当前模式是否足够 → 如果不够 → 弹窗让你确认 → 你同意才继续
Token 与成本追踪
Claude Code 还内置了成本追踪系统,会记录你用了多少输入 Token、输出 Token,以及大概花了多少钱(美元)。随时输入 /cost 可以查看。
5. 有没有什么隐藏彩蛋?
通过分析源码,我发现了几个很有意思的”未发布功能”——这些功能在代码里存在,但官方并没有正式发布:
🐕 BUDDY — 数字宠物伴侣
Claude Code 曾经规划过一个”电子宠物”功能!它有一个可视化形象(CompanionSprite.tsx),可以在你编程时陪伴你。这是一个 Tamagotchi(电子鸡)风格的情感交互系统,不过后来似乎被取消了。
📐 ULTRAPLAN — 超级规划模式
比现有的 /plan 命令更强大的任务分解系统。代码中出现了 moreright(更多权利)这个包,暗示这可能是一种”增强版推理”或”超级规划”能力。
🛰️ KAIROS — 主动式助手
普通的 Claude Code 是”被动式”的——你问它才答。KAIROS 是一个”主动式”系统,能够主动监控项目状态,在你还没发现问题前就主动干预。
🔐 Undercover Mode — 隐藏权限模式
代码中有多处”undercover”相关的逻辑,疑似用于在特定条件下绕过权限检查。用途不明,可能是 Anthropic 内部的调试模式。
还有这些功能也在代码里
-
📡 MCP 服务器集成 — 可以连接外部工具服务器 -
🖥️ SSH 远程模式 — 通过 SSH 远程操控其他机器 -
💾 持久化记忆 — 会话之间保持上下文 -
📊 GrowthBook 功能开关 — 线上灰度发布和 A/B 测试 -
🔄 OAuth 登录 — 支持完整的第三方认证流程
6. 跟 Cursor、Windsurf 比怎么样?
| 对比项 | Claude Code | Cursor | Windsurf | Aider |
|---|---|---|---|---|
| 核心语言 | Rust + TS | TypeScript | TypeScript | Python |
| 权限安全模型 | ✅ 五层分级 | 基础沙箱 | 基础沙箱 | ❌ 无 |
| MCP 支持 | ✅ 完整 | ✅ 支持 | ✅ 支持 | ⚠️ 部分 |
| 上下文压缩 | ✅ 有 | ❌ 无 | ❌ 无 | ❌ 无 |
| 数字宠物 | ❌ 曾有后取消 | ❌ 无 | ❌ 无 | ❌ 无 |
| 远程 SSH | ✅ 支持 | ❌ 无 | ❌ 无 | ✅ 支持 |
| 会话持久化 | ✅ 本地 | ✅ 云端 | ✅ 云端 | ✅ 本地 |
结论: Claude Code 的权限系统和上下文压缩机制是目前最强的。但 Cursor/Windsurf 的优势在于和 IDE(VS Code)的深度集成,以及云端同步。
7. 对普通开发者有什么用?
不管你是想用 AI 编程工具的普通开发者,还是想自己做类似产品的工程师,这里有 5 个最实用的启发:
💡 1. 权限系统是一切安全的基础
不要觉得”安全”只是加个沙箱。Claude Code 的五层权限模型值得所有 AI 编程工具参考——它把危险操作分级别管控,而不是一刀切。
💡 2. 上下文压缩是生产环境的标配
对话一长,Token 费用就暴涨。Claude Code 的 compaction 机制值得直接借鉴——超过一定轮数就自动压缩历史摘要。
💡 3. 工具系统要分离”注册层”和”执行层”
184 种工具全存在 JSON snapshot 里只读,实际执行时才动态调用。这是一种工程上的解耦思路。
💡 4. Rust 是这类工具的正确选择
Claude Code 选择 Rust 而非 Go 或 Python,说明这类工具对性能、包体积、内存安全都有较高要求。
💡 5. MCP 协议是行业大趋势
Claude Code 对 MCP 的完整支持,加上 Cursor/Windsurf 也都在跟进,说明 MCP 就是未来 AI 工具集成外部能力的标准方式。现在学 MCP 不亏。
但说实话,这 51 万行代码里,最有价值的还不是这些。
真正关键的,是 Claude 背后的那套”系统 Prompt“。
我已经把里面最核心、最有用的系统 Prompt,整理成了一份”清单”。评论区回复:0331
夜雨聆风