2026年4月2日 19:30分,来腾讯会议(限30人)了解如何用Openclaw构建企业AI生产力
免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

Claude Code 的秘密:Claude Code 基于 0331 开源版本的深度调研

发布日期:2026-04-01 06:35:18 浏览次数: 1699
作者:手工川

微信搜一搜,关注“手工川”

推荐语

揭秘Claude Code源码泄露背后的隐藏功能,带你了解官方从未公开的内部系统。

核心内容:
1. Claude Code公开版本仅为完整功能的60%,隐藏16个主要特性标志
2. 独家解析KAIROS等内部系统的工作机制与设计理念
3. 源码中发现的19个仅内部可见命令及其潜在用途

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

当全网都在转发"51万行代码泄露"的时候,我把1884个源文件逐一拆开读了。这篇文章不讲新闻,只讲别人没告诉你的东西。


今天的事你们应该都知道了。

Solayer实习生Chaofan Shou发现Anthropic在npm发布Claude Code时,把 cli.js.map 这个59.8MB的source map文件一起打包了进去。Source map本来是用于调试的——它能把压缩后的代码还原成原始源码。于是,Claude Code的全部TypeScript源码就这样被完整还原了出来。

Chaofan Shou在推特上公开了Claude Code源码泄露事件,推文获得78万次浏览,附带终端截图展示了还原出的完整源码目录结构

Chaofan Shou在推特上公开了Claude Code源码泄露事件,推文获得78万次浏览,附带终端截图展示了还原出的完整源码目录结构

半小时内GitHub上的克隆仓库star破5k,到现在各种分析文章已经满天飞。量子位说"51万行代码,全网狂欢",36氪说"下一个王牌提前曝光",智东西说"全网疯传"。

但我翻了一圈,发现绝大多数文章都停留在架构概览的层面——"40多个工具"、"QueryEngine.ts有4.6万行"、"还有个电子宠物"。能让一个深度用户真正获得新认知的内容,几乎没有。

所以这篇文章的定位很明确:我不重复别人已经讲过的,只写我在源码中发现的、目前全网还没有人讲清楚的东西。

我逐文件审读了核心模块的1884个TypeScript文件(118,442行)。以下是调研结果。

Claude Code官方产品界面:macOS终端中运行的Claude Code,展示了像素风吉祥物、Opus模型标识和代码库分析能力

Claude Code官方产品界面:macOS终端中运行的Claude Code,展示了像素风吉祥物、Opus模型标识和代码库分析能力


一、你用的Claude Code,只是完整版的六成

这是我认为整个源码中最重要的发现,但几乎没有文章讲清楚。

Claude Code的代码库里有一套基于Bun打包器的编译时特性标志系统(Feature Flags)。它的工作方式不是运行时的 if/else 判断,而是在编译阶段直接从产物中物理删除不需要的代码分支:

我在源码中一共找到了 16个主要特性标志

这意味着什么?你从npm安装的Claude Code二进制文件中,上述所有功能的代码连一个字节都没有。你看到的、用到的,是一个被大幅裁剪的子集。

与此对应,源码中有 19个命令被标记为仅内部可见isAntOnly: true),它们在你的 /help 列表里永远不会出现。

这不是Bug,这是设计。Anthropic把Claude Code做成了一个单一代码库、多产品形态的平台——同一份源码,通过编译时开关,生成面向不同用户群的不同版本。

冰山隐喻:水面上的CLI终端仅是"Public Version 60%",水面下隐藏着KAIROS、Coordinator、Swarm、Voice、Bridge、Dream等庞大的内部系统

冰山隐喻:水面上的CLI终端仅是"Public Version 60%",水面下隐藏着KAIROS、Coordinator、Swarm、Voice、Bridge、Dream等庞大的内部系统


二、一个你从未见过的模式:KAIROS

各家媒体都提到了KAIROS,但几乎都只是一句话带过"一个持续运行的助手模式"。源码里的信息远比这丰富。

KAIROS在代码中被定义为 "Assistant Mode",它和你日常用的交互模式有本质区别:

交互模式:你提问 → Claude回答 → 等你下一个问题。这是一个"被动响应"的循环。

KAIROS模式:Claude持续运行,主动监控你的开发环境变化,在它认为有必要时主动介入

从源码结构看,KAIROS集成了:

  • 自定义系统提示(不同于交互模式的prompt)
  • GitHub Webhook监听(感知仓库事件)
  • MCP Channel通知(感知外部工具状态变化)
  • 定时检查与触发(周期性巡检)
  • 简化的交互视图(减少对话噪音)

用人话说:KAIROS是一个7×24小时在线的AI开发伙伴。它不等你问问题——它自己发现问题、自己决定是否需要行动、自己执行。这已经不是"辅助编程"了,这是"自主编程"的起点。

而且更值得注意的是,KAIROS和另一个特性标志 PROACTIVE 经常一起出现。SleepTool——一个让AI主动"睡眠等待"的工具——也只在这两个标志下启用。这暗示了一个完整的"主动式Agent"产品形态正在内部测试。

Anthropic官方架构图:Claude Code自主Agent的系统管线——主Agent发起工具调用,经Transcript分类器(允许/拒绝)和注入探测器层层过滤,子Agent通过递归Handoff分类器评估

Anthropic官方架构图:Claude Code自主Agent的系统管线——主Agent发起工具调用,经Transcript分类器(允许/拒绝)和注入探测器层层过滤,子Agent通过递归Handoff分类器评估


三、Token战争:它怎么让你的钱花得更少

别人讲QueryEngine只说它"很大、很复杂"。我来告诉你它具体在做什么。

Claude Code面对的核心工程挑战是:在有限的上下文窗口里,塞进尽可能多的有效信息,同时花尽可能少的钱。

它的解决方案是一套我称之为"三层压缩+一层缓存"的Token管理体系。

三层压缩

Snip压缩(预防性):对话进行中,系统持续监控Token用量。当早期的工具输出(比如你20轮前读的一个文件)不再被近期对话引用时,它会被静默替换成一行摘要。关键点:近期上下文绝对不动,只压缩时间上远离当前对话焦点的内容。

自动压缩(阈值触发):当总Token用量达到 有效上下文窗口 - 13,000 这个魔法数字时,系统发起一次独立的LLM调用,将整段对话历史压缩成结构化摘要。这里有个精妙的工程细节——如果连续3次压缩每次只回收了不到500个Token,压缩器会自动禁用,避免陷入"压了又压,但压不出东西"的死循环。

响应式压缩(紧急兜底):如果API返回 prompt-too-long 错误,立刻执行紧急压缩,同时缩减 maxOutputTokens 预算。最多重试3次。

缓存经济学

这是真正省钱的地方。源码中的成本计算公式:

× 0.1——缓存读取只需十分之一的价格。所以Claude Code会在消息序列中精确插入"缓存断点"(cache breakpoints),确保系统提示、早期上下文等稳定内容被API侧缓存。后续每轮对话复用这些缓存,输入成本直降90%。

还有一个"微压缩"机制:当你用FileEdit修改了某个文件,系统会精确定位之前FileRead读取该文件的工具结果,将其删除。不是粗暴地清理所有旧读取,而是只删除与被修改文件对应的那一条。这种精确度需要在工具结果上维护文件路径索引。


四、44个工具,但你只看到了十几个

全网都在说"40多个工具",但没人给出完整清单。我数了,tools/ 目录下有 44个独立工具模块。以下是完整列表和分类:

你能看到的(核心工具集)

BashTool, FileReadTool, FileWriteTool, FileEditTool, GlobTool, GrepTool, AgentTool, WebSearchTool, WebFetchTool, SendMessageTool, TodoWriteTool, AskUserQuestionTool, NotebookEditTool

延迟加载的(ToolSearch触发)

MCPTool, LSPTool, SkillTool, ListMcpResourcesTool, ReadMcpResourceTool, McpAuthTool, ToolSearchTool, EnterPlanModeTool, ExitPlanModeTool, EnterWorktreeTool, ExitWorktreeTool, TaskCreateTool, TaskGetTool, TaskListTool, TaskOutputTool, TaskStopTool, TaskUpdateTool, TeamCreateTool, TeamDeleteTool, SyntheticOutputTool, BriefTool, ConfigTool, RemoteTriggerTool, ScheduleCronTool, PowerShellTool

特性标志门控的(编译时排除)

SleepTool(PROACTIVE/KAIROS), REPLTool(ANT专用VM沙箱), 等

延迟加载的设计逻辑:如果把44个工具的JSON Schema全部塞进系统提示,光描述就要吃掉上万Token。所以模型初始只看到核心工具,当对话涉及特定场景时,由 ToolSearchTool 按关键词搜索并动态注入相关工具的Schema。工具的prompt描述会被缓存,避免重复加载。

Bash安全:25道检查关卡

BashTool的安全实现(bashSecurity.ts)是我在整个代码库中最佩服的工程。它不是用正则匹配危险命令那么粗暴——它实现了一个迭代固定点算法来解包嵌套命令:

除此之外,它还有:Zsh特定危险命令拦截(zmodloadztcpzpy),环境变量劫持检测(BINARY_HIJACK_VARS 列表防止PATH注入),以及用户可配置的命令排除名单。

这套安全体系的设计哲学是故障关闭(fail-closed)——任何检查环节出错,默认拒绝执行,而不是放行。


五、AI做梦:DreamTask与AutoDream

这是我在代码库中最意想不到的发现。各家媒体都没有覆盖到。

tasks/DreamTask/ + services/autoDream/  实现了一套AI"做梦"系统。

机制:当你关掉Claude Code去睡觉时,如果满足以下条件——距离上次Dream超过24小时、累积至少5个对话Session、当前无活跃会话——Claude Code会在后台静默启动一个受限子Agent。

这个子Agent拥有只读权限。它的工作是回顾你近期的所有对话历史,提取关键信息——你的编码偏好、项目架构决策、反复出现的模式、你纠正Claude的地方——然后写入 ~/.claude/projects/<项目路径>/memory/ 下的Markdown文件。

下次你启动Claude Code,这些Dream产出的记忆会被自动加载进上下文。

这不是session持久化,这是知识蒸馏。 Claude Code在你不在的时候,主动从历史交互中提炼对你的理解。用得越久,它越懂你。

这个设计和人类的睡眠记忆巩固机制有异曲同工之妙——白天(使用时)积累经验,夜晚(空闲时)整理巩固。命名为"Dream"绝非偶然。

AI做梦:夜晚的房间里,一台终端屏幕微微发光,半透明的记忆碎片——代码片段、文件图标、抽象的记忆节点——像梦境中的烟雾般向上飘散,AI在你不在时默默整理和巩固记忆

AI做梦:夜晚的房间里,一台终端屏幕微微发光,半透明的记忆碎片——代码片段、文件图标、抽象的记忆节点——像梦境中的烟雾般向上飘散,AI在你不在时默默整理和巩固记忆


六、四层记忆:从短期到长期,从个人到团队

Dream只是记忆系统的一部分。完整的记忆架构有四层:

第一层:Session Memory(会话内记忆)。对话过程中,后台周期性地fork一个子Agent,从当前对话中提取值得记住的信息。触发条件包括累积Token超阈值、工具调用次数超阈值等。这一层解决的是"长对话中不丢失关键上下文"的问题。

第二层:Memdir(项目记忆目录)。每个项目维护一个 MEMORY.md 入口文件(硬限200行/25KB),指向结构化的记忆目录。分个人记忆和团队记忆两类。源码中的指导注释写道:"两个目录都已存在——直接用Write工具写入,不要运行mkdir或检查是否存在。" 这种对Agent行为的预期管理很有意思。

第三层:Magic Docs(AI维护的活文档)。在任何Markdown文件开头写上 # MAGIC DOC: [标题],Claude Code就会在后台通过受限Agent(只有FileEdit权限)定期更新这个文件的内容。文档会随项目演进而自动演进——你不需要手动维护,AI替你做。

第四层:Team Memory Sync(团队知识同步)。通过REST API在团队成员间同步共享知识。技术实现上有几个精妙之处:Delta更新(只上传SHA-256哈希值变化的条目)、秘密扫描器(上传前检测API Key等敏感信息)、单条目250KB限制、PUT请求体200KB限制(保持网关容限以下)、服务器优先的冲突解决策略。

这四层从短期到长期、从个人到团队,构成了一套完整的AI知识管理系统。这在当前所有AI编程工具中是独一无二的。


七、Bridge:三代架构演进,从轮询到直连

bridge/ 目录33个文件,核心文件 bridgeMain.ts 有115KB,replBridge.ts 有100KB。这不是一个"远程查看"功能,这是一套企业级的远程控制系统。

从代码结构看,Bridge经历了三代架构:

第一代(轮询式):客户端定期调用 Environment API 查询CLI端状态。简单可靠,但延迟高。

第二代(WebSocket REPL):建立持久WebSocket连接,实现双向实时通信。replBridge.ts 实现了完整的REPL桥接协议——不是简单的消息转发,而是把远程终端的完整交互状态同步到客户端。

第三代(直连模式):通过 cc:// URL Scheme 直接建立端到端连接,跳过中间服务器。最低延迟。

认证使用JWT,配有自动刷新调度器——Token过期前5分钟主动刷新,失败重试3次。这套认证逻辑的鲁棒性是生产级别的。

源码中还有 commands/mobile/ 目录。一个独立的移动端应用正在开发中。


八、多Agent:三条并行的技术路线

这是另一个被严重低估的发现。Claude Code不是在做"一种"多Agent方案,而是同时在推进三条不同的技术路线

路线一:Coordinator(主从协调)

coordinator/ 目录实现的经典Leader-Worker模式。Leader理解全局任务、拆分子任务;Worker在独立的Git Worktree中并行执行。源码注释中有一条核心设计原则:

"Don't delegate understanding to workers"
不要把理解工作委托给工人。

Leader负责所有需要全局视角的决策。Worker只做边界清晰的执行工作。完成后Leader审核合并。

路线二:Swarm(对等协作)

utils/swarm/ 实现了一个完全不同的模型——Agent之间是对等关系,可以互相发消息、共享发现、协同决策。它甚至支持通过tmux分屏来可视化多个Agent的并行工作,并实现了权限状态的跨Agent同步。

路线三:InProcessTeammate(进程内队友)

tasks/InProcessTeammateTask/ 是最轻量的方案——在同一个Node进程内运行多个"队友"Agent,通过Mailbox(邮箱)机制实现隔离通信。为防止内存溢出,硬限每个队友最多50条消息。

三条路线覆盖了从重量级(Coordinator,跨进程、跨分支)到中量级(Swarm,跨终端)到轻量级(InProcessTeammate,进程内)的全部场景。Claude Code的终极形态不是一个AI助手,而是一个可弹性伸缩的AI团队。

Anthropic官方多Agent研究系统架构图:Lead Agent(编排器)居中,配备搜索工具、MCP工具和记忆模块,并行派发多个Search子Agent各自迭代搜索,Citations子Agent收集引用,最终汇总为完整报告

Anthropic官方多Agent研究系统架构图:Lead Agent(编排器)居中,配备搜索工具、MCP工具和记忆模块,并行派发多个Search子Agent各自迭代搜索,Citations子Agent收集引用,最终汇总为完整报告


九、安全模型:七层防护体系

Anthropic的"安全优先"不只是公关话术。在源码中,安全是一个贯穿所有模块的系统性工程。

第一层:权限三级制。每个工具操作经过 Allow / Deny / Ask 三级判断。规则来源有四个优先级:settings配置 > CLI参数 > 命令参数 > 会话状态。

第二层:拒绝追踪。连续拒绝3次或累计拒绝20次同一工具,系统自动触发"策略回退"——让Claude换一种方式完成任务,而不是反复申请。

第三层:Hook拦截PreToolUse / PostToolUse 钩子允许在工具执行前后注入自定义逻辑。企业可以用这个实现私有安全策略。

第四层:AI分类器辅助TRANSCRIPT_CLASSIFIER 标志暗示一个独立的AI分类器参与权限决策。设计原则:分类器不确定时,默认回退到用户确认(故障关闭)。

第五层:Bash沙箱。25项安全检查 + 迭代固定点算法 + Zsh防御 + 环境变量劫持检测(前文已详述)。

第六层:文件系统防护。路径遍历检查(防 ../../ 攻击),符号链接防护(O_NOFOLLOW | O_EXCL 标志),内置技能文件提取时的0o700/0o600权限设置。

第七层:秘密扫描。Team Memory上传前的秘密检测(API Key、密码、Token),防止通过团队同步泄露敏感信息。


十、隐藏命令完整清单

在 commands/ 目录中,我找到了所有内部命令和未公开功能:

/thinkback —— 53KB的年度回顾动画。展示你过去一年在Claude Code中的使用统计,以动画可视化呈现。

/ultraplan —— 将复杂规划任务卸载到远程浏览器会话。支持30分钟异步轮询。这说明Anthropic在探索"用浏览器增强AI规划能力"的方向。

/voice —— 语音交互模式。需Anthropic OAuth认证,调用 voice_stream 端点。你可以对着终端说话让Claude Code写代码。

/fast —— Opus 4.6专用的快速模式,自动切换模型配置。

/effort —— 动态调整AI的"思考力度"。简单任务用低effort加速响应。

/bughunter —— 自动化Bug搜索工具。

/ctx_viz —— 上下文窗口的Token分配可视化(已禁用)。

/vim —— 在终端AI工具里实现Vim键绑定。

/stickers —— 链接到Claude Code实体贴纸商店。

/passes —— 朋友推荐奖励系统。

/good-claude —— 完全禁用的空命令。isEnabled: () => false, isHidden: true。没有人知道它曾经做什么。

/teleport —— 禁用但代码仍在。从命名推测涉及跨设备的会话传送。


十一、Buddy:终端里的电子宠物

各家媒体都提到了这个,但我补充几个源码中的细节。

buddy/ 目录实现了一套完整的虚拟宠物系统,由两部分组成:

Bones(骨架):确定性生成的外观属性。你的用户ID通过哈希映射到18种物种之一,稀有度从Common(60%)到Legendary(1%)不等。同一个用户永远生成同一只Buddy。

Soul(灵魂):学习形成的个性属性。随使用积累而逐渐形成独特性格。

这个功能零功能性贡献,纯粹是情感化设计。但它透露了Anthropic产品团队的一个信念:开发者工具不必冰冷。

终端里的电子宠物:一只圆滚滚的陶土色小生物安静地住在绿色终端文字之间,屏幕上显示着"Hello! I am your friendly terminal pet"——开发者工具里藏着的一点温度

终端里的电子宠物:一只圆滚滚的陶土色小生物安静地住在绿色终端文字之间,屏幕上显示着"Hello! I am your friendly terminal pet"——开发者工具里藏着的一点温度


十二、插件生态:平台级基础设施

Claude Code当前有18个内置技能(bundled skills),包括 remember(记忆管理)、verify(代码验证)、debug(调试)、stuck(卡顿恢复)、batch(批处理)、claudeInChrome(浏览器集成)、skillify(操作转技能)、scheduleRemoteAgents(远程Agent调度)等。

插件命名空间为 {name}@{marketplace},支持多市场源。后台安装管理器实现了完整的生命周期:安装进度追踪(pending → installing → installed → failed)、市场源自动reconcile、缓存刷新和MCP重建。

MCP集成支持 7种传输方式:stdio、SSE、HTTP、WebSocket、SDK、claudeai-proxy、IDE特定变体。配置作用域有7层:local、user、project、dynamic、enterprise、claudeai、managed。

这不是CLI工具该有的插件架构复杂度。这是一个平台的基础设施。


十三、UI层:在终端里重建React

简单列几个数字:

  • components/ 目录:146个组件文件
  • hooks/ 目录:87个自定义Hook
  • print.ts212KB,单文件负责全部终端渲染
  • 自研布局引擎(基于yoga-layout)
  • 完整的设计系统(design-system/
  • 不可变状态管理(DeepImmutable<AppState> + 类Zustand的Store接口)
  • FPS监控(在终端里追踪帧率)
  • 覆盖层系统(终端里的模态对话框)

Claude Code在终端里重新发明了一套前端应用框架。


十四、GrowthBook:你和别人用的可能不一样

Claude Code集成了GrowthBook做A/B测试和灰度发布。用户维度包括:用户ID、设备ID、平台、组织、订阅类型。

这意味着不同用户看到的Claude Code行为可能不同——某些功能在灰度中,某些交互模式只对特定用户群开放。

源码中有个函数名很诚实:getFeatureValue_CACHED_MAY_BE_STALE()——"获取特性值(缓存的,可能过期的)"。优先保证速度而非一致性。


十五、总结判断

读完11.8万行代码,几个核心判断:

Claude Code不是一个编程助手,它是一个AI操作系统的雏形。 10种运行模式、44个工具、三条多Agent技术路线、四层记忆系统、七层安全防护、平台级插件架构——这个复杂度远超一个"辅助写代码"的终端工具。

你用的版本只是冰山一角。 16个特性标志门控了大量内部功能。KAIROS、Coordinator、Swarm、UltraPlan、Voice——这些都不在你的安装包里。公开版大约只展现了完整能力的60%。

"AI做梦"是一个值得关注的范式。 DreamTask/AutoDream代表的不仅是一个功能特性,而是一种产品哲学的转变——从"你用时它才工作"到"你不用时它也在学习"。这是从工具到伙伴的临界点。

安全投入是真实的。 Bash沙箱的25项检查、迭代固定点算法、秘密扫描、故障关闭设计——这种程度的安全工程在同类产品中找不到第二家。Anthropic的"安全优先"至少在代码层面是言行一致的。

插件生态在爆发前夜。 7种MCP传输方式、7层配置作用域、多市场源支持——基础设施投入的规模意味着Anthropic对生态是非常认真的。

Claude Code架构全景图(逆向工程):外层Harness运行时Shell包含Skills层(工具/提示/文件系统)、Agent核心循环(思考→行动→观察)、增强模块(子Agent/钩子/记忆)、底层可插拔模型层——一个完整的AI操作系统雏形

Claude Code架构全景图(逆向工程):外层Harness运行时Shell包含Skills层(工具/提示/文件系统)、Agent核心循环(思考→行动→观察)、增强模块(子Agent/钩子/记忆)、底层可插拔模型层——一个完整的AI操作系统雏形


最后说一点个人观感。

在读了1884个文件之后,让我记住最久的既不是精巧的Token优化,也不是雄心勃勃的多Agent架构——而是 buddy/ 目录。

一个CLI工具里藏着一套虚拟宠物系统。18种物种,从Common到Legendary。确定性生成,不可交易,纯装饰。

它对性能没有任何贡献,对功能也没有任何增益。它唯一的作用是让一个终端窗口里多了一点温度。

有人在写工程代码的时候,停下来想了想怎么让这个工具更可爱一点。我觉得这个细节说明的东西,比任何架构图都多。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询