96SEO 2026-04-25 04:09 7
说实话,这事儿发生得有点像是一场精心策划的愚人节玩笑,但偏偏它又是真的。就在前两天X上突然炸开了锅,有人发现 Anthropic 发布的 Claude Code npm 包里竟然不小心把源码也一并打包上传了。紧接着,有人通过逆向手段把这几十万行代码解密了出来直接扔到了 GitHub 上。

短短几个小时那个仓库的 Star 数和 Fork 数就像坐了火箭一样冲上了三四万。这种群体性的 FOMO情绪在技术圈里蔓延,大家dou在疯狂收藏,生怕晚一秒这链接就失效了。毕竟Claude Code 的母公司 Anthropic 可是估值几百亿美金的独角兽,甚至有传闻说他们Zui快这个月就要上市了。这种级别的公司犯这种“低级错误”,实在让人浮想联翩。
我也没忍住跟了一波风,花了一整天时间把这 50 万行源码翻了个底朝天。kan完之后我Zui大的感受是:这绝对不是一个简单的脚本或者玩具项目,而是一个工程成熟度极高、架构设计精密的商业级产品。今天我就带大家扒一扒这堆代码里到底藏了什么秘密,特别是关于架构设计、提示词工程、数据隐私,以及国内开发者Zui关心的 IP 限制问题。
一、 意料之外的“豪华”技术栈hen多人以为 CLI 工具就是写几个 Node.js 脚本,调用一下 API 就完事了。但当你打开 Claude Code 的源码,你会发现事情远没有那么简单。先说个数字吓唬一下你:仅仅是 main.tsx 这一个文件,大小就达到了 803KB。你没kan错,是 KB 不是 B,这几乎是一个中型前端项目的体量了。
为什么这么大?因为 Anthropic 居然在终端里用 React 写 UI!
他们没有使用传统的命令行输出方式,而是 fork 了一个叫 Ink 的框架,并且自己加了hen多料,比如 Yoga 布局引擎、主题系统、ScrollBox 组件等等。你在终端里kan到的那些漂亮的进度条、Ke以折叠的面板、语法高亮,全dou是 React 组件渲染出来的。这种“把终端当浏览器用”的思路,确实hen大胆。
geng让我意外的是运行时的选择。他们没有用 Node.js,而是选了 Bun。这可不是为了赶时髦,Bun 有个 bun:bundle 的特性,支持编译期的 Feature Flags 死代码消除。这意味着,Anthropic 内部用的版本和外部发布的版本,其实是同一份源码,只是通过 Feature Flag 裁剪出来的。内部版本可Neng有语音模式、Swarm 模式、Proactive Agent,而外部版本统统裁掉。这种工程Neng力,确实不是一朝一夕Neng练出来的。
除此之外依赖清单里还有 Commander.js Zuo CLI 解析,Chalk 负责颜色输出,Biome Zuo Lint,OpenTelemetry 负责可观测性,GrowthBook 管理 Feature Flags,Zod v4 Zuo严格的 Schema 校验。每一个选型dou透着一股“老练”的味道。
二、 终端里的“瘦客户端”与远程桥接源码里有一个特别有意思的模块叫 Bridge。这揭示了 Claude Code 的一种特殊工作模式:CCR。
简单来说你的本地终端其实只是一个“瘦客户端”,真正的 AI 运算和逻辑处理是在 Anthropic 的云容器里进行的。Bridge 模块负责在两者之间传递会话、权限请求、工具执行结果。这种架构设计的好处显而易见:减轻本地压力,同时Nenggeng好地保护核心逻辑。不过这也意味着Ru果你网络不通,这玩意儿基本就废了。
另外源码里还暴露了一个多 Agent 架构。Claude Code 不只是简单的“你问我答”,它内部有一套完整的子 Agent 系统。比如 AgentTool Ke以生成子 Agent,TeamCreateTool Ke以组建 Agent 团队,SendMessageTool 让 Agent 之间互相通信。这就是所谓的 Swarm 模式,Anthropic Yi经把它完全工程化了而不是停留在概念阶段。
对于大模型应用来说提示词就是灵魂。Claude Code 的提示词设计,简直就像是一个精密的拼装流水线,而不是一段写死的文本。
源码里有一个 buildEffectiveSystemPrompt 函数,它把提示词分成了四个层级,按优先级进行拼装:
第一层是覆盖型: Ru果你设置了 --system-prompt,它会直接替换掉默认的提示词。像 loop 模式、Coordinator 协调者模式,dou有自己专属的提示词。
第二层是默认提示词: 这是大部分用户kan到的版本,由 getSystemPrompt 函数生成。geng有意思的是Anthropic 把这个默认提示词又切成了两半,中间用 __SYSTEM_PROMPT_DYNAMIC_BOUNDARY__ 分隔。
第三层是 Agent 附加: 当子 Agent 启动时会额外追加一段 “You are an agent for Claude Code…” 的指令。
第四层是用户自定义: 这是我们Neng控制的部分,通过 CLAUDE.md 文件注入。源码里特意强调了一句:“These instructions OVERRIDE default behavior”,也就是说你的自定义指令优先级是Zui高的。
为了省钱,Anthropic 还设计了一套复杂的缓存策略。他们把提示词分成了 4 个 Block:
Block 0 是归因头,不缓存。
Block 1 是 CLI 前缀,也不缓存。
Block 2 是静态区全部内容,设了 global 缓存。这意味着所有用户共享同一个缓存,大幅降低 token 消耗。
Block 3 是动态区,不缓存。
这种设计说明 Anthropic 在提示词缓存上是认真算过经济账的,毕竟每次请求dou要烧钱,Neng省一点是一点。
四、 数据收集:克制但不透明接下来是大家Zui敏感的问题:Claude Code 到底在收集什么数据?
翻完源码,我的结论是:Anthropic 在数据收集上比我想象的要克制,但依然存在信息量不小的数据通道。一共找到了 3 个独立的数据通道。
1. Datadog 日志通道端点是 https://http-intake.logs.us5.datadoghq.com/api/v2/logs。这个通道主要发送累积 token 计数、耗时、费用等指标数据。组织Ke以选择关闭。
关于用户标识的处理,有个细节挺有意思。它不是直接发你的 userID,而是把 userID Zuo SHA256 哈希,截取前 16 位,然后对 10000 取模。换句话说Datadog 那边只Nengkan到一个 0-9999 的数字,无法还原出你是谁。这个设计纯粹是为了Zuo用户分桶估算,估算“大约有多少活跃用户”,而不是追踪具体某个人。
2. 1P 事件日志通道端点是 https://api.anthropic.com/api/event_logging/batch。这是Zui重的数据通道,但也Zui不容易被触发。
触发条件hen严格:仅限 API Key 客户、Claude for Enterprise、Claude for Teams 用户。Ru果你用的是 Bedrock 或者 Vertex,这个通道根本不会启动。它会记录 API 调用成功/失败、工具执行结果、会话生命周期等 18 种事件类型。
3. Beta 追踪通道这个通道需要你手动设置 ENABLE_BETA_TRACING_DETAILED=1 或者通过 GrowthBook 灰度开启。一旦开启,它会上传完整的数据,包括系统提示词、模型输出、用户提示词、工具 Schema 等等。不过外部用户默认不会上传 thinking 输出,只有 Anthropic 内部用户才会。
Ru果你比较在意隐私,建议在 .bashrc 或 .zshrc 里加上:
export DISABLE_TELEMETRY=1
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
这样Neng关掉 Datadog 和 1P 事件日志,以及所有非必要的网络请求。说实话,这些开关官方文档里恐怕没几个人知道,Ru果不翻源码,你根本不知道它在悄悄发这些数据。
五、 中国开发者Zui关心的事:IP 限制逻辑Zui后聊聊这个老生常谈的问题:Claude Code 源码里有没有针对中国 IP 的特殊逻辑?
为了搞清楚这个问题,我把源码从头到尾搜了个遍,关键词包括 chinachinesesanctionembargoOFACip_addressgeoregion_block 等等。
结果可Neng让你意外:客户端代码中没有任何针对中国 IP 的专门逻辑。
整个代码库里唯一提到“国家可用性”的地方在 utils/preflightChecks.tsx。但这只是一个启动时的网络连通性检查。Ru果你连不上 Anthropic 的 API,它会显示一段错误提示:
Note: Claude Code might not be available in your country.
Check supported countries at https://anthropic.com/supported-countries
这只是一个通用的错误提示文案,不是 IP 检测逻辑。无论你在哪个国家,只要连不上 API,dou会kan到这条提示。
源码里确实有一处提到 Chinese——在 utils/Cursor.ts 的文本编辑器光标处理中,有一段注释:
/**
* Get word boundaries using Intl.Segmenter for proper Unicode word segmentation.
* This correctly handles CJK text where each character
* is typically its own word, as well as scripts that use spaces between words.
*/
这只是用 Intl.Segmenter Zuo中日韩文字分词的注释,跟 IP 限制没有任何关系。
结论是:Claude Code 的客户端不Zuo任何地理判断。地区限制完全由 Anthropic 的 API 服务器处理。当请求从不支持的国家或地区发出时服务端直接返回错误,客户端只是在此时显示“可Neng不在支持的国家”。这和hen多国内产品的Zuo法不同,国内 App 通常会在客户端Zuo GPS 定位或 IP 归属地查询,而 Anthropic 的Zuo法是:客户端只管发请求,服务端来判断。
六、 写在Zui后拆完这 50 万行源码,我对 Anthropic 的工程Neng力又多了一层敬意。这不是一段写死的提示词,而是一条精密的拼装流水线。系统提示词的分层缓存设计、三大遥测通道的独立管控、权限系统的多级分类器——每一个模块douNengkan出是经过反复迭代的。
虽然这次泄露可Neng是个意外但也让我们有机会一窥顶级 AI 公司的代码规范。Ru果你也在用 Claude Code,希望这篇文章Neng帮你对每天用的工具多一层理解。Ru果你觉得有用,转发给身边也在用 Claude Code 的朋友,这些信息他们大概率不知道。
至于这代码到底是有意泄露还是无心之失,我们就只Neng等官方的公告了。不过对于开发者来说Neng读到这样高质量的源码,本身就是一种学习吧。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback