Claude Code 源码意外公开:51 万行代码揭示了什么

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 的规则。