# claude-code-source-v2.1.88 **Repository Path**: provos/claude-code-source-v2.1.88 ## Basic Information - **Project Name**: claude-code-source-v2.1.88 - **Description**: claude-code source v2.1.88 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 7 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Claude Code Source v2.1.88 > **Claude Code Source** v2.1.88 源码泄露存档合集 -- 整合自三个不同来源,涵盖从原始破解还原到可直接运行的完整版本。**Claude Code** 源码、**v2.1.88** 下载、**Claude Code** 破解版、**Claude Code** 完整源码。 --- ## 目录导航 ### 快速入门 - [项目总览](#项目总览) - [快速开始](#快速开始5-分钟上手) - [三个版本详细说明](#三个版本详细说明) - [01-claude-code-source-crack](#01-claude-code-source-crack-----原始破解版-claude-code-source-还原) - [02-claude-code-source-research](#02-claude-code-source-research-----学术研究版-claude-code-源码分析) - [03-claude-code-runnable](#03-claude-code-runnable-----可运行版推荐claude-code-完整源码) - [三个版本区别对照](#三个版本之间的区别对照) ### 核心架构 - [源码核心架构速览](#源码核心架构速览-claude-code-架构分析) - [源码模块详细分析](#源码模块详细分析) - [1. main.tsx](#1-maintsx-----cli-入口与启动流程) - [2. tools/](#2-tools-----工具系统矩阵) - [3. commands/](#3-commands-----斜杠命令系统) - [4. services/](#4-services-----核心服务层) - [5. context/](#5-context-----react-context-状态管理) - [6. coordinator/](#6-coordinator-----多-agent-协调器) - [7. assistant/ (KAIROS)](#7-assistantkairos-----7x24-小时守护模式) - [8. buddy/](#8-buddy-----ai-伴侣系统) - [9. remote/](#9-remote-----远程控制与桥接) - [10. plugins/](#10-plugins-----插件系统) - [11. skills/](#11-skills-----技能系统) - [12. voice/](#12-voice-----语音交互) - [13. vim/](#13-vim-----vim-模式引擎) - [14. utils/](#14-utils-----工具函数库) - [15. Query Loop](#15-query-loop-----对话引擎核心) - [16. 上下文压缩架构](#16-上下文压缩架构) - [17. 安全与权限系统](#17-安全与权限系统) - [18. 关键文件行数](#15-关键文件行数统计) ### 隐藏功能 - [隐藏功能大曝光](#隐藏功能大曝光) - [1. KAIROS](#1-kairos-----7x24-小时自主守护进程-重磅) - [2. BUDDY](#2-buddy-----命令行电子宠物-) - [3. Coordinator](#3-coordinator-mode-----多智能体编排) - [4. Undercover Mode](#4-undercover-mode-----卧底模式-) - [5. 内部模型代号](#5-内部模型代号曝光) - [6. Feature Flags](#6-更多-feature-flags) - [7. 遥测系统](#7-遥测系统曝光) ### 技术分析 - [技术深度分析摘要](#技术深度分析摘要) - [对话引擎架构](#对话引擎架构-query-loop) - [三层上下文压缩架构](#三层上下文压缩架构) - [六级权限验证系统](#六级权限验证系统) - [代码质量争议](#代码质量争议) - [内存泄露问题汇总](#内存泄露问题汇总) - [架构亮点与争议](#架构亮点与争议) ### 事件追踪 - [事件始末与技术分析](#事件始末与技术分析) - [安全影响与建议](#安全影响与建议) ### 资源汇总 - [关键数据](#关键数据) - [GitHub 相关仓库](#github-相关仓库清单) - [参考资料](#参考资料) - [社区评价](#社区评价) - [常见问题 FAQ](#常见问题-faq) - [声明](#声明) ## 项目总览 | # | 目录 | 来源 | 定位 | 适合谁 | |---|------|------|------|--------| | 1 | `01-claude-code-source-crack/` | [Janlaywss/cloud-code](https://github.com/Janlaywss/cloud-code) | 原始破解版 -- 含 npm .tgz 包、还原脚本、source map 还原后源码 + 构建脚本 | 想了解还原过程的研究者 | | 2 | `02-claude-code-source-research/` | [Rito-w/claude-code](https://github.com/Rito-w/claude-code) | 学术研究版 -- 纯 `src/` 源码快照 + 详细架构分析文档 | 想阅读 **Claude Code** 源码、学习架构的开发者 | | 3 | `03-claude-code-runnable/` | [Rito-w/ClaudeCode](https://github.com/Rito-w/ClaudeCode) | **可直接运行版** -- 配好 shims、依赖、tsconfig,`bun install && bun run dev` 即可启动 | **想跑起来试试的人(推荐首选)** | --- ## 快速开始(5 分钟上手) > 只想最快跑起来?直接看 `03-claude-code-runnable/` 即可。 ### 前置环境要求 | 工具 | 版本要求 | 安装方式 | |------|---------|---------| | **Bun** | >= 1.3.5 | `curl -fsSL https://bun.sh/install | bash` | | **Node.js** | >= 24.0.0 | [nodejs.org](https://nodejs.org) 或 `nvm install 24` | | **Git** | any | 系统自带或 [git-scm.com](https://git-scm.com) | ### 步骤一:运行可运行版(03-claude-code-runnable) ```bash # 进入可运行版目录 cd 03-claude-code-runnable/ # 安装依赖 bun install # 启动 Claude Code CLI bun run dev # 验证版本 bun run version # 输出: 999.0.0-restored (Claude Code) ``` > **注意**: 运行需要有效的 Anthropic API Key。设置方式: > ```bash > export ANTHROPIC_API_KEY="sk-ant-xxxxx" > ``` > 或者通过 `claude /login` 命令进行 OAuth 登录。 --- ## 三个版本详细说明 ### 01-claude-code-source-crack -- 原始破解版 (Claude Code Source 还原) **来源**: [Janlaywss/cloud-code](https://github.com/Janlaywss/cloud-code) (99 stars, 219 forks) **内容清单**: ``` 01-claude-code-source-crack/ README.md # 还原方法说明 anthropic-ai-claude-code-2.1.88.tgz # 原始 npm 包 (.tgz) claude-code-extracted/package/ # 从 .tgz 直接解压的内容 claude-code-source/ # 从 source map 还原的完整源码 README.md # 构建说明(含 build.ts 配置) src/ # 1902 个核心源码文件 vendor/ # 原生模块源码 node_modules/ # 打包的第三方依赖 ``` **核心价值**: - 保留了原始 `.tgz` npm 包文件 - 包含完整的 source map 还原脚本 - `claude-code-source/README.md` 中有详细的 `build.ts` 构建配置(90+ 特性开关) - 展示了从 `cli.js.map` 逆向还原 4756 个源文件的完整过程 **还原方法**(已在 README 中说明): ```bash # 从 npm 下载 Claude Code v2.1.88 npm pack @anthropic-ai/claude-code --registry https://registry.npmjs.org # 解压 tar xzf anthropic-ai-claude-code-2.1.88.tgz # 用 source map 还原源码 node -e " const fs = require('fs'), path = require('path'); const map = JSON.parse(fs.readFileSync('package/cli.js.map', 'utf8')); for (let i = 0; i < map.sources.length; i++) { const content = map.sourcesContent[i]; if (!content) continue; let relPath = map.sources[i]; while (relPath.startsWith('../')) relPath = relPath.slice(3); const outPath = path.join('./claude-code-source', relPath); fs.mkdirSync(path.dirname(outPath), { recursive: true }); fs.writeFileSync(outPath, content); } " ``` --- ### 02-claude-code-source-research -- 学术研究版 (Claude Code 源码分析) **来源**: [Rito-w/claude-code](https://github.com/Rito-w/claude-code) (forked from instructkr/claude-code) **内容清单**: ``` 02-claude-code-source-research/ README.md # 详尽的架构分析文档 src/ # 1900+ 个 TypeScript 源文件 ``` **核心价值**: - **最详尽的架构文档** -- README 中包含了完整的工具系统、命令系统、服务层、权限系统等分析 - 40+ 工具实现说明(BashTool、FileReadTool、AgentTool、MCPTool...) - 50+ 斜杠命令说明(/commit、/review、/compact、/mcp...) - Bridge 桥接系统架构分析 - Tech Stack 技术栈总结(Bun + TypeScript + React + Ink + Commander.js + Zod v4) - 适合纯阅读和学习,不含构建配置 --- ### 03-claude-code-runnable -- 可运行版(推荐)Claude Code 完整源码 **来源**: [Rito-w/ClaudeCode](https://github.com/Rito-w/ClaudeCode) (forked from pengchengneo/Claude-Code) **内容清单**: ``` 03-claude-code-runnable/ package.json # 已配置好的依赖声明 tsconfig.json # TypeScript 配置 bun.lock # 锁定的依赖版本 AGENTS.md # 开发指南 image-processor.node # 原生图片处理模块 preview.png # 预览截图 shims/ # 原生模块的兼容替代 (stub) src/ # 核心源码 (1987 个文件) vendor/ # 原生绑定源码 xiaohongshu/ # 功能发现分析的配图素材 ``` **核心价值**: - **开箱即用** -- `bun install && bun run dev` 直接启动 - 已解决私有包问题:通过 `shims/` 目录提供了所有私有包的功能存根 - `@ant/claude-for-chrome-mcp` -- Chrome MCP 扩展存根 - `@ant/computer-use-input` -- 计算机使用输入存根 - `@anthropic-ai/mcpb` -- MCP bundle 处理器存根 - `color-diff-napi` -- 语法高亮 native 模块存根 - `modifiers-napi` -- macOS 按键修饰符存根 - `url-handler-napi` -- URL 处理存根 --- ## 源码核心架构速览 (Claude Code 架构分析) ``` src/ main.tsx # 应用入口 (Commander.js CLI + React/Ink 渲染) QueryEngine.ts # LLM 查询引擎 (~46K 行,核心中的核心) Tool.ts # 工具类型系统 (~29K 行) commands.ts # 命令注册表 (~25K 行) tools.ts # 工具注册表 tools/ # 53 个 Agent 工具实现 BashTool/ # Shell 命令执行 FileReadTool/ # 文件读取 FileWriteTool/ # 文件创建/覆写 FileEditTool/ # 局部文件修改 GlobTool/ # 文件模式匹配 GrepTool/ # ripgrep 内容搜索 AgentTool/ # 子代理派发 MCPTool/ # MCP 服务器工具调用 ... commands/ # 87 个斜杠命令 components/ # 148 个终端 UI 组件 (React + Ink) services/ # API / MCP / OAuth / Analytics 等核心服务 hooks/ # 87 个自定义 Hooks (含权限系统) bridge/ # IDE 桥接层 (VS Code / JetBrains 双向通信) coordinator/ # 多 Agent 协调器 buddy/ # 电子宠物系统 skills/ # 技能加载与执行 vim/ # Vim 模式引擎 voice/ # 语音交互 ... ``` **技术栈**: | 分类 | 技术 | |------|------| | 运行时 | Bun | | 语言 | TypeScript (strict) | | 终端 UI | React + Ink | | CLI 解析 | Commander.js (extra-typings) | | Schema 校验 | Zod v4 | | 代码搜索 | ripgrep | | 协议 | MCP SDK, LSP | | API | Anthropic SDK | | 遥测 | OpenTelemetry + gRPC | | 特性门控 | GrowthBook | | 认证 | OAuth 2.0, JWT, macOS Keychain | --- ## 隐藏功能大曝光 泄露源码中曝光的未发布功能,展现了 Claude Code 的迭代方向,也揭示了 Anthropic 打造"全域 AI 助手"的野心。 ### 1. KAIROS -- 7×24 小时自主守护进程 ⭐重磅 **源码注释**: `KAIROS (assistant mode)` -- 让 Claude Code 彻底变成一个 7×24 小时在线的全能助手。 **核心能力**: - 在用户离开电脑后继续运行维护 - 每日追加日志,记录观察、决策和操作 - 支持后台会话和记忆整合 - 在私有目录中存储记忆日志 - 主动监控并对观察到的事项采取行动 - 与 GitHub Webhooks 集成,自动响应代码推送、PR 创建等事件 **技术细节**: - 强制打开 brief 模式 - 允许工具在工作中途主动向用户发消息 - 支持 `claude assistant [sessionId]` 入口,可恢复、被持续运行 - 与 MCP channel notifications 连接,可用社交软件发送消息指挥助手 - 支持 cron、scheduled tasks、remote control > 简单来说:Claude 可以变成一个永不下线的 AI 管家,即使你关掉终端,它也在默默工作。 ### 2. BUDDY -- 命令行电子宠物 🐾 **代码完成度**: 极高,原计划 2026 年 4 月 1 日上线(愚人节彩蛋) **功能详情**: - 18 种宠物可选:鸭子、龙、美西螈、水豚、蘑菇、幽灵等 - 稀有度等级:普通 → 稀有 → 史诗 → 传说(1% 掉率) - 闪光变体(Shiny Variants) - 五维属性:调试能力、耐心、混沌值、智慧、毒舌 - 可以戴帽子 - 以对话气泡形式停留在输入框旁边 ### 3. Coordinator Mode -- 多智能体编排 Claude 可以调度并行工作的从属智能体,实现真正的多 Agent 协同作战。 **四阶段流程**: 1. **研究阶段**: 多个 Worker 并行调查代码库,搜索文件,理解问题 2. **综合阶段**: Coordinator 阅读所有 Worker 的发现 3. **规划阶段**: 制定行动计划 4. **执行阶段**: 指挥执行并整合结果 ### 4. Undercover Mode -- 卧底模式 🔒 专为 Anthropic 内部员工设计: - 在公共仓库中使用 Claude Code 时,自动激活"潜伏模式" - 不提及 AI、不暴露 Claude 身份、不添加 co-authored-by 标识 - 在公开仓库中强制开启,无法关闭 > 讽刺的是:他们建了一整套系统来阻止 AI 泄密——然后自己把全部源码打包发了上去。 ### 5. 内部模型代号曝光 | 代号 | 类型 | 备注 | |------|------|------| | **Capybara** | 模型家族 | Claude 4.6 内部代号,分三个层级 | | Fennec | 模型 | Opus 4.6 的内部名称 | | Numbat | 模型 | 仍在测试中 | **Capybara 性能数据**(第八版): - 错误率:29-30%(第四版为 16.7%) - 包含"assertiveness counterweight"机制,防止模型在重写代码时过于激进 ### 6. 更多 Feature Flags | 功能开关 | 说明 | |----------|------| | `COORDINATOR_MODE` | 多智能体协调 | | `KAIROS` | 持久守护进程 | | `PROACTIVE` | 主动执行任务 | | `AGENT_TRIGGERS` | 智能体触发器 | | `HISTORY_SNIP` | 历史记录裁剪 | | `REACTIVE_COMPACT` | 响应式压缩 | | `CONTEXT_COLLAPSE` | 上下文折叠 | | `WEB_BROWSER_TOOL` | 内置浏览器工具 | ### 7. 遥测系统曝光 Claude Code 追踪的用户行为比许多人预期的更详细: - ** frustration metric**: 追踪用户何时对 Claude 发脾气(咒骂) - **continue 追踪**: 追踪用户输入"continue"的频率(因为 Claude 老是在响应中途中断) - 数据通过 Datadog 发送 - 包含会话元数据:模型使用情况、环境详情等 - 内置安全防护:不会发送用户代码或文件路径 - 可通过环境变量完全禁用遥测 --- ## 事件始末与技术分析 ### 事件时间线 | 时间 | 事件 | |------|------| | 2025 年 2 月 | Claude Code 首次因 Source Map 问题泄露(版本 0.2.x) | | 2026 年 3 月 31 日 | 漏洞再次发生,版本 2.1.88,规模更大 | | 凌晨 4:23 (ET) | [@Fried_rice](https://x.com/Fried_rice/status/2038894956459290963) 发现泄露并发帖 | | 数小时内 | GitHub 镜像仓库 star 破 5,000,fork 破 18,000 | | 随后 | Anthropic 紧急回退到 2.1.87,删除泄露文件 | ### 泄露原因:Source Map 的"致命疏忽" 1. **Source Map 是什么**: 开发调试用的"地图",能把压缩混淆后的代码映射回原始 TypeScript 源码 2. **为什么会泄露**: Claude Code 使用 Bun 打包,默认会生成 source map,且未在 `.npmignore` 中过滤 `*.map` 文件 3. **致命细节**: `cli.js.map` 文件包含 `sourcesContent` 字段,源码本身完整嵌入其中 4. **讽刺之处**: 2025 年 2 月已发生过一次同类事故,CI/CD 流水线仍未修复 ### 技术架构亮点 **不是简单的 CLI 工具,是一个完整的 Agent 操作系统**: 1. **QueryEngine.ts**: 4.6 万行代码的"推理核心" - 复杂推理拆解、Token 计数、思维链处理 - 上下文管理、反幻觉、防越狱检测 - 语义校验与事实核查 2. **权限系统**: 四级权限模式 - `default`: 交互式确认 - `auto`: 基于 ML 分类器自动审批 - `bypass`: 跳过检查 - `yolo`: 全部拒绝 3. **安全防护**: 覆盖多种攻击向量 - 路径遍历攻击 - Unicode 标准化攻击 - 反斜杠注入 - 大小写路径操纵 - `.gitconfig`、`.bashrc`、`.zshrc` 等敏感文件保护 4. **记忆系统**: 三层记忆架构 - 轻量级索引文件,存储项目知识指针而非知识本身 - 保持 AI 工作内存精简准确 - 严格防止失败尝试记录到上下文中 --- ## 三个版本之间的区别对照 | 特性 | 01-claude-code-source-crack | 02-claude-code-source-research | 03-claude-code-runnable | |------|:-:|:-:|:-:| | 原始 .tgz npm 包 | ✅ | - | - | | Source map 还原脚本 | ✅ | - | - | | 完整 src/ 源码 | ✅ | ✅ | ✅ | | 架构分析文档 | 基础 | **详尽** | 隐藏功能分析 | | 构建脚本 (build.ts) | ✅ (在 README 中) | - | - | | package.json | - | - | ✅ | | shims 兼容层 | - | - | ✅ | | vendor 原生模块 | ✅ | - | ✅ | | 可直接 `bun run dev` | ❌ (需自行配置) | ❌ (仅源码) | ✅ | | 隐藏功能图文分析 | - | - | ✅ (xiaohongshu/) | --- ## 常见问题 FAQ ### Q: 我应该从哪个版本开始? **想跑起来玩**: 直接看 `03-claude-code-runnable/`,跟着快速开始走。 **想学习架构**: 先读 `02-claude-code-source-research/README.md` 了解整体设计,再到 `03-claude-code-runnable/src/` 中阅读具体实现。 **想了解还原过程**: 看 `01-claude-code-source-crack/README.md` 和 `01-claude-code-source-crack/claude-code-source/README.md`。 ### Q: `bun install` 失败怎么办? 1. 确认 Bun 版本 >= 1.3.5: `bun --version` 2. 确认 Node.js 版本 >= 24: `node --version` 3. 如果 shims 报错,检查 `03-claude-code-runnable/shims/` 目录是否完整 4. 网络问题可尝试: `bun install --registry https://registry.npmmirror.com` ### Q: 如何设置 API Key? ```bash # 方法 1: 环境变量 export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx" # 方法 2: OAuth 登录 (启动后执行) claude /login # 方法 3: 使用 AWS Bedrock export CLAUDE_CODE_USE_BEDROCK=1 export AWS_ACCESS_KEY_ID="xxxxx" export AWS_SECRET_ACCESS_KEY="xxxxx" # 方法 4: 使用 Google Vertex export CLAUDE_CODE_USE_VERTEX=1 ``` ### Q: 隐藏功能怎么开启? 大部分隐藏功能通过**编译开关**控制(需修改构建脚本重新编译),部分可通过**环境变量**尝试: ```bash # 协调器模式 (多 Agent) export CLAUDE_CODE_COORDINATOR_MODE=1 # 主动模式 export CLAUDE_CODE_PROACTIVE=1 # 简报模式 export CLAUDE_CODE_BRIEF=1 # 自定义模型 export ANTHROPIC_MODEL="claude-sonnet-4-20250514" # 最大输出 token export CLAUDE_CODE_MAX_OUTPUT_TOKENS=16384 ``` ### Q: 这些代码是怎么泄露的? 2026 年 3 月 31 日,[@Fried_rice](https://x.com/Fried_rice/status/2038894956459290963) 发现 `@anthropic-ai/claude-code` npm 包中的 `cli.js.map` source map 文件包含了完整的 `sourcesContent`,可以无损还原所有 4756 个 TypeScript 源文件。这是一个典型的**构建产物泄露**(build artifact leak)安全事件。 --- ## 安全影响与建议 ### 好消息 - ✅ 泄露的是 **CLI 客户端代码**,不是模型权重、训练数据或用户隐私数据 - ✅ 对普通用户没有直接安全风险 - ✅ Anthropic 紧急回退了 npm 版本 ### 需要警惕 ⚠️ **完整源码暴露意味着**: - Claude Code 内部架构已完全透明 - 安全机制、权限控制体系详细可见 - 为潜在攻击者提供了"详细地图" - 攻击者可以研究权限绕过方法 ### 紧急建议 如果你在 **2026 年 3 月 31 日 12:21 - 3:29 UTC** 期间通过 npm 更新过 Claude Code: 1. **检查 axios 恶意版本**: 查看 lock 文件中是否有 `axios 1.14.1` 或 `0.30.4`,以及 `plain-crypto-js` 依赖 2. **如发现恶意版本**: 立即视为系统已被入侵 3. **立即行动**: 轮换所有凭证、重装系统 4. **使用官方安装方式**: Anthropic 推荐使用原生安装程序,绕过 npm 依赖链 5. **降级 Claude Code**: 回退到 2.1.86 版本 6. **监控账号**: 关注 API 账户异常活动 --- ## 关键数据 | 指标 | 数值 | |------|------| | 源文件总数 | 4,756 | | 核心源码 (src/ + vendor/) | ~1,906 文件 | | 代码行数 | 512,000+ | | Source Map 大小 | 57-59.8 MB | | npm 包版本 | 2.1.88 | | 编译开关数量 | 50+ (外部版约 90 个配置项) | | 工具实现 | 53 个 | | 斜杠命令 | 87 个 | | UI 组件 | 148 个 | | GitHub Star (泄露后数小时) | 12,000+ | | GitHub Fork (泄露后数小时) | 18,000+ | --- ## 参考资料 ### 原始来源 - [@Fried_rice Twitter/X](https://x.com/Fried_rice/status/2038894956459290963) -- 首个发现者 - [Janlaywss/cloud-code](https://github.com/Janlaywss/cloud-code) -- 原始破解版 - [Rito-w/claude-code](https://github.com/Rito-w/claude-code) -- 研究版 - [Rito-w/ClaudeCode](https://github.com/Rito-w/ClaudeCode) -- 可运行版 ### 新闻报道 - [TechStartups: Anthropic's Claude source code leaked](https://techstartups.com/2026/03/31/anthropics-claude-source-code-leak-goes-viral-again-after-full-source-hits-npm-registry-revealing-hidden-capybara-models-and-ai-pet/) - [Rollingout: How devastating Anthropic's leak exposed 512,000 lines](https://rollingout.com/2026/03/31/anthropic-claude-code-leak-512000-lines/) - [Cybersecurity News: Claude Code Source Code Leaked](https://cybersecuritynews.com/claude-code-source-code-leaked/) - [IT Home: Claude Code 51万行代码全网狂欢](https://discovery.ithome.com/architor/0/934/677.htm) ### 中文深度分析 - [今日头条: Claude Code 源码泄露全面解析](http://m.toutiao.com/group/7623412360984527406/) - [今日头条: Claude Code 51.2万行代码泄露事件](http://m.toutiao.com/group/7623432389129175603/) - [腾讯新闻: Claude Code 51万源码泄露](http://news.qq.com/rain/a/20260331A07A8900) - [网易: Claude Code源代码泄露](https://c.m.163.com/news/a/KPCN6PA905119734.html) - [CSDN: Claude 51万行源码泄露](https://blog.csdn.net/yui9987/article/details/159697244) ### 社区讨论 - [DevTalk Forum: Claude Code's entire source just leaked](https://forum.devtalk.com/t/claude-codes-entire-source-just-leaked-512k-lines-anyone-else-digging-through-it/239586) - [Reddit: Claude Code source code leaked](https://www.reddit.com/r/programming/comments/1xxx/claude_codes_source_code_appears_to_have_leaked/) --- ## GitHub 相关仓库清单 泄露事件发生后,全网开发者迅速行动,创建了多个镜像和分析仓库。以下是主要仓库汇总: ### 源码镜像仓库 | 仓库 | 说明 | Stars | |------|------|-------| | [instructkr/claude-code](https://github.com/instructkr/claude-code) | 最早的完整镜像 | 20K+ | | [Rito-w/claude-code](https://github.com/Rito-w/claude-code) | 研究版,含架构分析 | - | | [Rito-w/ClaudeCode](https://github.com/Rito-w/ClaudeCode) | 可运行版 | - | | [Janlaywss/cloud-code](https://github.com/Janlaywss/cloud-code) | 原始破解版 | 99 | | [sanbuphy/claude-code-source-code](https://github.com/sanbuphy/claude-code-source-code) | 早期镜像 | - | ### 分析与工具仓库 | 仓库 | 说明 | |------|------| | [yanchuk/claude-code-architecture](https://gist.github.com/yanchuk/0c47dd351c2805236e44ec3935e9095d) | Claude Code Agent 完整架构深度分析 | | [dalsoop/claude-code-memory-leak-fix](https://github.com/dalsoop/claude-code-memory-leak-fix) | 内存泄露修复工具 | | [MadAppGang/claude-code](https://github.com/MadAppGang/claude-code) | Claude Plugins 生态系统 | ### 隐藏内容展示 | 网站 | 说明 | |------|------| | [ccleaks.com](https://ccleaks.com) | 社区搭建的隐藏功能展示站 | --- ## 技术深度分析摘要 ### 对话引擎架构 (Query Loop) Claude Code 的对话引擎建立在一个 `while(true)` 循环上,每次迭代完成一轮模型交互: ``` 预处理 → API调用(流式) → 工具执行 → 结果拼回 → 下一轮 ``` **关键设计**: - 使用 `async function*` (async generator) 实现背压控制 - 流式工具执行:模型输出 tool_use block 后立即开始执行,不等待 - Token 边际递减检测:连续 3 轮增量不足 500 token 则提前停止 ### 三层上下文压缩架构 | 层级 | 触发条件 | API 调用 | |------|----------|----------| | **Micro Compact** | 每轮 API 请求前 | 无 | | **Session Memory Compact** | 后台持续运行 | 无 | | **LLM Compact** | 上下文超限 | 是 | ### 六级权限验证系统 每次工具调用(Shell 命令、文件读写)都必须经过: 1. 基础权限检查 2. 风险分级 (LOW/MEDIUM/HIGH) 3. ML 分类器自动审批 4. YOLO 模式快速判断 5. 用户交互确认 6. 执行结果验证 ### 代码质量争议 社区在分析中也发现了一些"代码屎山": - `src/cli/print.ts`: 单一函数 3000+ 行,12 层嵌套 - 情绪检测使用正则表达式而非 AI 模型: ```typescript // 检测用户是否在骂人 /ffs|shitty/i.test(input) ``` --- ## 内存泄露问题汇总 泄露的源码也帮助社区定位了多个内存泄露问题: ### 主要 Issue | Issue | 版本 | 问题 | 影响 | |--------|------|------|------| | [#21220](https://github.com/anthropics/claude-code/issues/21220) | 2.1.8+ | 索引时内存暴涨 8-12GB | 大项目崩溃 | | [#26528](https://github.com/anthropics/claude-code/issues/26528) | 2.1.44 | 代码生成时内存到 8.5GB+ | 无法使用 | | [#36956](https://github.com/anthropics/claude-code/issues/36956) | 2.1.81 | glibc heap 泄露 189GB | 长时间运行 | | [#24644](https://github.com/anthropics/claude-code/issues/24644) | 2.1.38 | 会话恢复后 44GB+ | 无法终止进程 | | [#4953](https://github.com/anthropics/claude-code/issues/4953) | 1.0.53 | 120GB+ RAM OOM | 扩展会话崩溃 | ### 社区修复方案 **LD_PRELOAD guard** ([dalsoop/claude-code-memory-leak-fix](https://github.com/dalsoop/claude-code-memory-leak-fix)): ```bash git clone https://github.com/dalsoop/claude-code-memory-leak-fix.git cd claude-code-memory-leak-fix make && sudo make install claude-safe # 替代 claude 命令 ``` --- ## 架构亮点与争议 ### 亮点 1. **生产级 Agent Harness 设计**: REPL 启动、QueryEngine、工具注册、斜杠命令、权限系统、任务系统、多层状态管理 2. **流式并行执行**: 工具执行与模型输出并行,不浪费等待时间 3. **多层安全防护**: 路径遍历、Unicode 标准化、反斜杠注入等攻击向量的完整防护 4. **记忆系统设计**: 三层压缩架构,平衡上下文长度与信息保留 ### 争议 1. **Undercover Mode**: 强制在公开仓库抹除 AI 痕迹,开发者感到"不舒服" 2. **情绪监控**: 用正则表达式追踪用户是否"骂人" 3. **print.ts 屎山**: 3000+ 行单函数,12 层嵌套 4. **隐私顾虑**: Datadog 遥测追踪用户行为 --- ## 社区评价 > "整个 repo 分得很细,主流程包括 REPL 启动、QueryEngine、工具注册、Slash 命令、权限系统、任务系统,以及多层状态管理,非常典型的生产级 AI agent harness 设计。" > -- @sanbuphy > "他们建了一整套系统来阻止 AI 泄密——然后自己把全部源码打包发了上去。" > -- 社区评论 > "这应该是 Claude Code 官方不小心把 v2.1.88 的源码直接传到了 npm 包里,整体代码结构很成熟。" > -- 量子位分析 --- ## 源码模块详细分析 基于 51.2 万行源码的深度逆向分析,详解 Claude Code 的核心架构设计。 --- ### 1. main.tsx -- CLI 入口与启动流程 **文件规模**: 核心入口文件 **启动流程**: ``` CLI 启动 → 环境检测 → 认证检查 → MCP 配置加载 → REPL 初始化 → Query Loop ``` **核心功能**: | 功能 | 说明 | |------|------| | 环境检测 | 支持 GitHub Actions、SDK 集成、VS Code 扩展、远程会话、标准 CLI | | 客户端识别 | 7 种不同场景的客户端类型识别 | | 认证体系 | API Key > OAuth > 交互式登录 | | 权限模式 | default / bypassPermissions / enterprise | **关键设计**: - **Commander.js CLI 框架**: 处理命令行参数和子命令 - **React + Ink 渲染**: 终端 UI 组件化 - **状态机管理**: 多层状态转换控制 --- ### 2. tools/ -- 工具系统矩阵 **工具数量**: 53 个内置工具 **核心工具分类**: | 类别 | 工具 | 说明 | |------|------|------| | **文件操作** | ReadTool, WriteTool, EditTool, GlobTool | 文件读写修改 | | **代码搜索** | GrepTool, SearchTool | 内容搜索 | | **Shell 执行** | BashTool | 命令执行(沙箱/非沙箱) | | **Git 操作** | GitTool, CommitTool | 版本控制 | | **Agent 协作** | AgentTool, MCPTool | 子代理、MCP 服务器 | | **网络** | WebFetchTool, WebSearchTool | 网页访问 | **Bash 工具安全设计**: ```typescript // 智能沙箱模式切换 - 检测运行环境安全性 - 自动选择沙箱/非沙箱版本 - 权限白名单验证 - 命令审计日志 ``` **工具调用流程**: ``` API 返回 tool_use block → 分配唯一 ID → 并行/串行执行 → 结果封装 → 拼回消息数组 ``` **流式优化**: `StreamingToolExecutor` 在模型流式输出过程中就开始执行工具,不等待完整响应。 --- ### 3. commands/ -- 斜杠命令系统 **命令数量**: 87 个斜杠命令 **核心命令分类**: | 类别 | 命令示例 | 功能 | |------|----------|------| | **代码管理** | /commit, /review, /test | Git 提交、代码审查、测试 | | **上下文** | /compact, /clear | 上下文压缩、清除 | | **会话** | /session, /model | 会话管理、模型切换 | | **MCP** | /mcp, /mcp-add | MCP 服务器管理 | | **配置** | /config, /permissions | 配置管理、权限设置 | | **远程** | /remote, /rc | 远程控制功能 | **命令架构**: ```typescript // 命令注册表设计 commands/ ├── commit.ts // 提交命令 ├── review.ts // 审查命令 ├── compact.ts // 压缩命令 └── ... ``` **权限配置语法**: ```json "Bash(npm run:*)" // 前缀匹配 "Bash(npm *)" // 通配符匹配 "Bash" // 允许所有 ``` --- ### 4. services/ -- 核心服务层 **API 服务** (`services/api/claude.ts`): **3,419 行** | 功能 | 说明 | |------|------| | API 调用 | 7 个关键 API 调用点 | | SSE 解析 | 流式事件处理 | | 多云支持 | Anthropic / AWS Bedrock / Google Vertex | **认证服务**: ```typescript // 认证优先级 1. 环境变量 ANTHROPIC_API_KEY 2. OAuth 令牌 3. 交互式登录流程 ``` **MCP 服务**: ```typescript // 配置加载优先级 1. --mcp-config 命令行参数 2. 企业配置 (Enterprise MCP) 3. 项目配置 (.mcp.json) 4. 用户配置 (~/.claude/mcp.json) ``` **分析服务**: 用户行为分析、遥测数据收集 --- ### 5. context/ -- React Context 状态管理 **核心 Context**: | Context | 用途 | |---------|------| | AppContext | 应用全局状态 | | SessionContext | 会话状态管理 | | ToolContext | 工具调用状态 | | PermissionContext | 权限审批状态 | **状态管理设计**: ```typescript // 多层状态机 state = { messages: Message[], // 对话历史 transition: { reason }, // 状态转换原因 tools: ToolResult[], // 工具结果 permissions: Permission[] // 权限请求 } ``` --- ### 6. coordinator/ -- 多 Agent 协调器 **四阶段工作流**: ``` 研究阶段 → 综合阶段 → 规划阶段 → 执行阶段 ``` **协调机制**: 1. **研究阶段**: 多个 Worker 并行调查代码库 2. **综合阶段**: Coordinator 阅读所有 Worker 发现 3. **规划阶段**: 制定行动计划 4. **执行阶段**: 指挥执行并整合结果 **使用方式**: ```bash export CLAUDE_CODE_COORDINATOR_MODE=1 claude ``` --- ### 7. assistant/ (KAIROS) -- 7×24 小时守护模式 **核心能力**: | 功能 | 说明 | |------|------| | 永不掉线 | 后台持续运行,维护项目状态 | | 记忆整合 | 每日追加日志,记录观察和决策 | | 主动监控 | 对观察到的事项采取行动 | | GitHub 集成 | 自动响应代码推送、PR 事件 | **技术细节**: ```typescript // 强制打开简报模式 // 允许工具主动向用户发消息 // 支持 cron、scheduled tasks // 与 MCP channel notifications 连接 ``` --- ### 8. buddy/ -- AI 伴侣系统 **电子宠物完成度**: 极高(原计划愚人节发布) **功能特性**: | 特性 | 说明 | |------|------| | 宠物种类 | 18 种(鸭子、龙、美西螈、水豚等) | | 稀有度 | 普通 → 稀有 → 史诗 → 传说(1% 掉率) | | 闪光变体 | Shiny Variants 支持 | | 五维属性 | 调试能力、耐心、混沌值、智慧、毒舌 | | 装饰 | 可以戴帽子 | | 显示 | 对话气泡形式,停留在输入框旁边 | --- ### 9. remote/ -- 远程控制与桥接 **Remote Control 功能** (2026年2月25日上线): ``` ┌─────────────────┐ ┌─────────────────┐ │ 本地电脑 │◄───────►│ 手机/平板 │ │ │ 加密连接 │ │ │ • 代码执行 │ │ • 显示界面 │ │ • 文件操作 │ │ • 发送指令 │ │ • AI 计算 │ │ • 语音输入 │ └─────────────────┘ └─────────────────┘ ``` **Bridge MCP 架构** ([claude-bridge-mcp](https://github.com/0motionguy/claude-bridge-mcp)): ```typescript // 远程 MCP 工具 - claude_execute // 执行任务 - claude_query // 询问问题(只读) - claude_read_file // 读取文件 - claude_git_status // Git 状态 ``` **安全特性**: - IP 白名单 - Bearer Token 认证 - 目录白名单 - Symlink 保护 - 执行队列限流 --- ### 10. plugins/ -- 插件系统 **插件架构**: ```typescript // 插件目录结构 plugins/ ├── lt-dev/ // 示例插件 │ ├── commands/ // 插件命令 │ └── skills/ // 插件技能 └── ... ``` **插件能力**: - 自定义斜杠命令 - 自定义工具 - 自定义技能 - 生命周期钩子 --- ### 11. skills/ -- 技能系统 **技能定义**: ```yaml # skill.yaml 示例 name: custom-skill description: 自定义技能描述 commands: - /custom-cmd tools: - custom-tool ``` **内置技能**: - 语言模型优化 - 代码片段生成 - 文档生成 - 测试用例生成 --- ### 12. voice/ -- 语音交互 **VoiceMode 功能**: | 功能 | 说明 | |------|------| | 语音输入 | 手机端语音指令 | | 语音播报 | 回复内容朗读 | | 实时转写 | 语音 → 文字 | **集成方式**: ```bash # 手机端语音输入 🎤 "帮我重构这个函数,使其更符合 ES6 规范" ``` --- ### 13. vim/ -- Vim 模式引擎 **Vim 模式特性**: | 功能 | 说明 | |------|------| | 模式切换 | Normal / Insert / Visual / Command | | 快捷键 | Vim 风格快捷键绑定 | | 终端集成 | 与终端操作无缝衔接 | **状态管理**: ```typescript // Vim 状态机 type VimMode = 'normal' | 'insert' | 'visual' | 'command'; type VimState = { mode: VimMode; buffer: string; cursor: Position; registers: Register[]; }; ``` --- ### 14. utils/ -- 工具函数库 **核心工具模块**: | 模块 | 功能 | |------|------| | git.ts | Git 操作封装 | | model.ts | 模型选择与配置 | | auth.ts | 认证相关工具 | | env.ts | 环境变量管理 | | security.ts | 安全检查(Hooks: **5,022 行**) | **安全相关** (`utils/hooks.ts`): **5,022 行** - 路径遍历防护 - Unicode 标准化攻击防护 - 反斜杠注入防护 - `.gitconfig`、`.bashrc` 等敏感文件保护 --- ### 15. 关键文件行数统计 | 文件 | 行数 | 功能 | |------|------|------| | `services/api/claude.ts` | 3,419 | API 调用与 SSE 解析 | | `utils/hooks.ts` | 5,022 | 安全钩子 | | `screens/REPL.tsx` | 5,005 | REPL 主屏幕 | | `query.ts` | 1,729 | 对话主循环 | | `bashSecurity.ts` | 2,592 | Bash 安全检查 | | `tools/` | 53 个工具 | 工具实现 | --- ### 16. Query Loop -- 对话引擎核心 **架构设计** (`query.ts:307`): ```typescript // async generator 实现 async function* query() { while (true) { // 1. 预处理:微压缩、context collapse // 2. API 调用:流式接收回复 // 3. 工具执行:收集 tool_use blocks // 4. 结果拼回:进入下一轮迭代 // 5. 终止判断:stop hooks 检查 } } ``` **背压控制**: ```typescript // yield 实现流式推送 // 消费者不调 .next(),生产者不推进 // .return() 干净关闭 generator 链 ``` **Token 边际递减检测** (`tokenBudget.ts`): ```typescript // 连续 3 轮增量不足 500 token → 提前停止 // 避免模型反复输出无意义小增量 ``` --- ### 17. 上下文压缩架构 **三层压缩系统**: | 层级 | 触发条件 | API 调用 | 说明 | |------|----------|----------|------| | **Micro Compact** | 每次 API 请求前 | 无 | 替换旧工具结果为 `[Old tool result content cleared]` | | **Session Memory Compact** | 后台持续运行 | 无 | 会话记忆直接替代 LLM 摘要 | | **LLM Compact** | 上下文超限 | 是 | 调用模型生成摘要 | **清理策略**: - 60 分钟时间阈值(对齐服务端 prompt cache TTL) - Read、Shell、Grep、Glob、WebSearch、WebFetch、Edit、Write 可清理 --- ### 18. 安全与权限系统 **六级权限验证**: ``` 基础检查 → 风险分级 → ML 分类器 → YOLO 模式 → 用户确认 → 结果验证 ``` **权限模式**: | 模式 | 说明 | |------|------| | `default` | 完整权限检查 | | `bypassPermissions` | 跳过所有检查 | | `enterprise` | 企业托管模式 | **文件系统权限**: ```json // 白名单/黑名单机制 { "allow": ["/path/to/project/**"], "deny": ["~/.ssh/**", "**/.env"] } ``` --- ## 声明 - 本仓库为 **Claude Code Source** 整合存档,源码版权归 [Anthropic](https://www.anthropic.com) 所有 - 仅用于技术研究与学习,请勿用于商业用途 - 如有侵权,请联系删除 - 本仓库不隶属于、未经 Anthropic 认可或维护