Claude Code 源码意外公开:51 万行代码揭示了什么
事件经过
2026 年 3 月 31 日,安全研究员 Chaofan Shou 发现 Anthropic 的 Claude Code v2.1.88 npm 包里多了一个不该出现的文件——一个 59.8MB 的 source map。
Source map 本来是给开发者调试用的,能把压缩混淆的代码还原成可读的源文件。问题是,这个文件被打包进了公开的 npm registry。换句话说,任何人都能从里面提取出 Claude Code 的完整 TypeScript 源码。
几个小时内,社区就把源码镜像到了 GitHub,fork 数超过 4.1 万。
Anthropic 的回应是:「这是一个打包配置错误,属于人为失误,不是安全漏洞。没有用户数据或凭证泄露。」
说是这么说,但 51.2 万行代码、1906 个源文件已经在互联网上了。
技术栈一览
从源码来看,Claude Code 的技术选型挺有意思:
- 语言:TypeScript,约 51.2 万行
- 终端 UI:React + Ink(对,在终端里跑 React)
- 运行时:Bun
- 架构:三层内存系统 + 多 agent 协作
用 React 做 CLI 工具的 UI 层,这个选择不太常见。Ink 框架让 Claude Code 能像写 Web 组件一样构建终端界面。好处是组件化开发效率高,代价是引入了一整套 React 渲染链路。
三层内存架构
源码中最值得研究的部分是它的上下文管理机制。Claude Code 用了三层结构来解决 LLM 的上下文窗口限制:
第一层:MEMORY.md 索引 一个轻量级的指针文件,始终加载在上下文中。每行不超过 150 字符,只存指向详细记忆文件的链接。这样做的好处是占用极少的 token,但 agent 随时知道”我记过什么”。
第二层:项目上下文 包括 CLAUDE.md(项目级指令)和按需加载的记忆文件。agent 根据当前任务判断需要加载哪些上下文。
第三层:会话缓存 当前对话的即时上下文,超出窗口后自动压缩早期消息。
这套设计本质上是在模拟人类的”工作记忆 + 长期记忆”机制。对比之下,大多数 AI 编程工具还在用”把所有东西塞进 prompt”的粗暴方式。
多 Agent 协作模型
源码揭示了三种子 agent 的执行模式,这在公开文档里从未完整描述过:
Fork 模式:创建父 agent 上下文的字节级拷贝,直接命中 API 的 prompt cache。适合需要相同背景知识的并行任务,比如同时搜索多个文件。
Teammate 模式:多个 agent 通过文件系统的”邮箱”机制通信,各自运行在独立的终端面板中。适合需要协调但相对独立的任务。
Worktree 模式:每个 agent 分配独立的 git 分支,物理隔离工作区。适合可能产生冲突的并行修改。
三种模式覆盖了从”读操作并行”到”写操作隔离”的完整场景。
隐藏功能:KAIROS 和 BUDDY
源码中有 44 个 feature flag,其中两个特别引人注目。
KAIROS(古希腊语”恰当的时机”)在源码中被引用超过 150 次。它是一个后台守护进程模式——Claude Code 会在用户不操作时自动运行 autoDream 流程,把之前对话中的零散观察合并、提炼成结构化知识。
如果这个功能上线,意味着 AI 编程助手不再只是”你问我答”,而是会在后台持续思考和学习。
BUDDY 则完全是另一个方向——一个终端宠物系统。18 个物种(包括水豚),每个有 DEBUGGING、PATIENCE、CHAOS 等属性值。很难说这是认真的产品功能还是团队的内部彩蛋。
对开发者意味着什么
这次泄露给 AI 编程工具领域提供了第一个完整的工业级参考实现。
几个值得关注的点:
上下文管理是核心难题。 Claude Code 用了相当复杂的三层架构来处理这个问题,说明单纯靠增大上下文窗口不够——还需要智能的上下文调度。
多 agent 不是噱头。 三种协作模式的设计相当务实,每种都针对具体场景。这比”让多个 AI 互相对话”的演示要实际得多。
AI 编程工具正在从”辅助”走向”自主”。 KAIROS 的设计方向是让 agent 在后台持续工作,不需要人类时刻在场。这是一个显著的范式转变。
用 ofox.ai 体验 Claude Code
如果你想亲自试试 Claude Code 的编程能力,可以通过 ofox.ai 直接接入 Claude API。ofox 提供 OpenAI 兼容的统一接口,一个 API Key 就能调用 Claude Opus 4.6、Sonnet 4.6 等全系列模型。
具体配置方式可以参考这篇教程:Claude Code 配置 ofox.ai 完全指南。
如果你还在对比不同的 AI 编程工具方案,这篇 OpenClaw vs Cursor vs Claude Code 对比 可能有帮助。
对 Claude API 还不熟悉的话,建议先看 Claude API 国内使用指南,里面有完整的接入流程。
写在最后
Anthropic 大概不会因为这次事件开源 Claude Code——泄露是意外,不是策略。但 51 万行代码已经在互联网上了,社区不会假装没看到。
对整个行业来说,这反而是件好事。有了一个可以参考的工业级实现,后来者不需要从零摸索 AI agent 的最佳实践。就像 Android 开源推动了整个移动生态,Claude Code 的源码泄露可能会加速 AI 编程工具的进化。
当然,前提是 Anthropic 的 CI/CD 流程里加一条检查 .npmignore 的规则。


