Claude Code Source v2.1.88 源码泄露存档合集 -- 整合自三个不同来源,涵盖从原始破解还原到可直接运行的完整版本。Claude Code 源码、v2.1.88 下载、Claude Code 破解版、Claude Code 完整源码。
| # | 目录 | 来源 | 定位 | 适合谁 |
|---|---|---|---|---|
| 1 | 01-claude-code-source-crack/ |
Janlaywss/cloud-code | 原始破解版 -- 含 npm .tgz 包、还原脚本、source map 还原后源码 + 构建脚本 | 想了解还原过程的研究者 |
| 2 | 02-claude-code-source-research/ |
Rito-w/claude-code | 学术研究版 -- 纯 src/ 源码快照 + 详细架构分析文档 |
想阅读 Claude Code 源码、学习架构的开发者 |
| 3 | 03-claude-code-runnable/ |
Rito-w/ClaudeCode | 可直接运行版 -- 配好 shims、依赖、tsconfig,bun install && bun run dev 即可启动 |
想跑起来试试的人(推荐首选) |
只想最快跑起来?直接看
03-claude-code-runnable/即可。
| 工具 | 版本要求 | 安装方式 |
|---|---|---|
| Bun | >= 1.3.5 | `curl -fsSL https://bun.sh/install |
| Node.js | >= 24.0.0 | nodejs.org 或 nvm install 24 |
| Git | any | 系统自带或 git-scm.com |
# 进入可运行版目录
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。设置方式:
export ANTHROPIC_API_KEY="sk-ant-xxxxx"或者通过
claude /login命令进行 OAuth 登录。
来源: 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/ # 打包的第三方依赖
核心价值:
- 保留了原始
.tgznpm 包文件 - 包含完整的 source map 还原脚本
claude-code-source/README.md中有详细的build.ts构建配置(90+ 特性开关)- 展示了从
cli.js.map逆向还原 4756 个源文件的完整过程
还原方法(已在 README 中说明):
# 从 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);
}
"来源: 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)
- 适合纯阅读和学习,不含构建配置
来源: 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 处理存根
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 助手"的野心。
源码注释: KAIROS (assistant mode) -- 让 Claude Code 彻底变成一个 7×24 小时在线的全能助手。
核心能力:
- 在用户离开电脑后继续运行维护
- 每日追加日志,记录观察、决策和操作
- 支持后台会话和记忆整合
- 在私有目录中存储记忆日志
- 主动监控并对观察到的事项采取行动
- 与 GitHub Webhooks 集成,自动响应代码推送、PR 创建等事件
技术细节:
- 强制打开 brief 模式
- 允许工具在工作中途主动向用户发消息
- 支持
claude assistant [sessionId]入口,可恢复、被持续运行 - 与 MCP channel notifications 连接,可用社交软件发送消息指挥助手
- 支持 cron、scheduled tasks、remote control
简单来说:Claude 可以变成一个永不下线的 AI 管家,即使你关掉终端,它也在默默工作。
代码完成度: 极高,原计划 2026 年 4 月 1 日上线(愚人节彩蛋)
功能详情:
- 18 种宠物可选:鸭子、龙、美西螈、水豚、蘑菇、幽灵等
- 稀有度等级:普通 → 稀有 → 史诗 → 传说(1% 掉率)
- 闪光变体(Shiny Variants)
- 五维属性:调试能力、耐心、混沌值、智慧、毒舌
- 可以戴帽子
- 以对话气泡形式停留在输入框旁边
Claude 可以调度并行工作的从属智能体,实现真正的多 Agent 协同作战。
四阶段流程:
- 研究阶段: 多个 Worker 并行调查代码库,搜索文件,理解问题
- 综合阶段: Coordinator 阅读所有 Worker 的发现
- 规划阶段: 制定行动计划
- 执行阶段: 指挥执行并整合结果
专为 Anthropic 内部员工设计:
- 在公共仓库中使用 Claude Code 时,自动激活"潜伏模式"
- 不提及 AI、不暴露 Claude 身份、不添加 co-authored-by 标识
- 在公开仓库中强制开启,无法关闭
讽刺的是:他们建了一整套系统来阻止 AI 泄密——然后自己把全部源码打包发了上去。
| 代号 | 类型 | 备注 |
|---|---|---|
| Capybara | 模型家族 | Claude 4.6 内部代号,分三个层级 |
| Fennec | 模型 | Opus 4.6 的内部名称 |
| Numbat | 模型 | 仍在测试中 |
Capybara 性能数据(第八版):
- 错误率:29-30%(第四版为 16.7%)
- 包含"assertiveness counterweight"机制,防止模型在重写代码时过于激进
| 功能开关 | 说明 |
|---|---|
COORDINATOR_MODE |
多智能体协调 |
KAIROS |
持久守护进程 |
PROACTIVE |
主动执行任务 |
AGENT_TRIGGERS |
智能体触发器 |
HISTORY_SNIP |
历史记录裁剪 |
REACTIVE_COMPACT |
响应式压缩 |
CONTEXT_COLLAPSE |
上下文折叠 |
WEB_BROWSER_TOOL |
内置浏览器工具 |
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 发现泄露并发帖 |
| 数小时内 | GitHub 镜像仓库 star 破 5,000,fork 破 18,000 |
| 随后 | Anthropic 紧急回退到 2.1.87,删除泄露文件 |
- Source Map 是什么: 开发调试用的"地图",能把压缩混淆后的代码映射回原始 TypeScript 源码
- 为什么会泄露: Claude Code 使用 Bun 打包,默认会生成 source map,且未在
.npmignore中过滤*.map文件 - 致命细节:
cli.js.map文件包含sourcesContent字段,源码本身完整嵌入其中 - 讽刺之处: 2025 年 2 月已发生过一次同类事故,CI/CD 流水线仍未修复
不是简单的 CLI 工具,是一个完整的 Agent 操作系统:
-
QueryEngine.ts: 4.6 万行代码的"推理核心"
- 复杂推理拆解、Token 计数、思维链处理
- 上下文管理、反幻觉、防越狱检测
- 语义校验与事实核查
-
权限系统: 四级权限模式
default: 交互式确认auto: 基于 ML 分类器自动审批bypass: 跳过检查yolo: 全部拒绝
-
安全防护: 覆盖多种攻击向量
- 路径遍历攻击
- Unicode 标准化攻击
- 反斜杠注入
- 大小写路径操纵
.gitconfig、.bashrc、.zshrc等敏感文件保护
-
记忆系统: 三层记忆架构
- 轻量级索引文件,存储项目知识指针而非知识本身
- 保持 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/) |
想跑起来玩: 直接看 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。
- 确认 Bun 版本 >= 1.3.5:
bun --version - 确认 Node.js 版本 >= 24:
node --version - 如果 shims 报错,检查
03-claude-code-runnable/shims/目录是否完整 - 网络问题可尝试:
bun install --registry https://registry.npmmirror.com
# 方法 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大部分隐藏功能通过编译开关控制(需修改构建脚本重新编译),部分可通过环境变量尝试:
# 协调器模式 (多 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=163842026 年 3 月 31 日,@Fried_rice 发现 @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:
- 检查 axios 恶意版本: 查看 lock 文件中是否有
axios 1.14.1或0.30.4,以及plain-crypto-js依赖 - 如发现恶意版本: 立即视为系统已被入侵
- 立即行动: 轮换所有凭证、重装系统
- 使用官方安装方式: Anthropic 推荐使用原生安装程序,绕过 npm 依赖链
- 降级 Claude Code: 回退到 2.1.86 版本
- 监控账号: 关注 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 -- 首个发现者
- Janlaywss/cloud-code -- 原始破解版
- Rito-w/claude-code -- 研究版
- Rito-w/ClaudeCode -- 可运行版
- TechStartups: Anthropic's Claude source code leaked
- Rollingout: How devastating Anthropic's leak exposed 512,000 lines
- Cybersecurity News: Claude Code Source Code Leaked
- IT Home: Claude Code 51万行代码全网狂欢
- 今日头条: Claude Code 源码泄露全面解析
- 今日头条: Claude Code 51.2万行代码泄露事件
- 腾讯新闻: Claude Code 51万源码泄露
- 网易: Claude Code源代码泄露
- CSDN: Claude 51万行源码泄露
泄露事件发生后,全网开发者迅速行动,创建了多个镜像和分析仓库。以下是主要仓库汇总:
| 仓库 | 说明 | Stars |
|---|---|---|
| instructkr/claude-code | 最早的完整镜像 | 20K+ |
| Rito-w/claude-code | 研究版,含架构分析 | - |
| Rito-w/ClaudeCode | 可运行版 | - |
| Janlaywss/cloud-code | 原始破解版 | 99 |
| sanbuphy/claude-code-source-code | 早期镜像 | - |
| 仓库 | 说明 |
|---|---|
| yanchuk/claude-code-architecture | Claude Code Agent 完整架构深度分析 |
| dalsoop/claude-code-memory-leak-fix | 内存泄露修复工具 |
| MadAppGang/claude-code | Claude Plugins 生态系统 |
| 网站 | 说明 |
|---|---|
| ccleaks.com | 社区搭建的隐藏功能展示站 |
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 命令、文件读写)都必须经过:
- 基础权限检查
- 风险分级 (LOW/MEDIUM/HIGH)
- ML 分类器自动审批
- YOLO 模式快速判断
- 用户交互确认
- 执行结果验证
社区在分析中也发现了一些"代码屎山":
src/cli/print.ts: 单一函数 3000+ 行,12 层嵌套- 情绪检测使用正则表达式而非 AI 模型:
// 检测用户是否在骂人 /ffs|shitty/i.test(input)
泄露的源码也帮助社区定位了多个内存泄露问题:
| Issue | 版本 | 问题 | 影响 |
|---|---|---|---|
| #21220 | 2.1.8+ | 索引时内存暴涨 8-12GB | 大项目崩溃 |
| #26528 | 2.1.44 | 代码生成时内存到 8.5GB+ | 无法使用 |
| #36956 | 2.1.81 | glibc heap 泄露 189GB | 长时间运行 |
| #24644 | 2.1.38 | 会话恢复后 44GB+ | 无法终止进程 |
| #4953 | 1.0.53 | 120GB+ RAM OOM | 扩展会话崩溃 |
LD_PRELOAD guard (dalsoop/claude-code-memory-leak-fix):
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 命令- 生产级 Agent Harness 设计: REPL 启动、QueryEngine、工具注册、斜杠命令、权限系统、任务系统、多层状态管理
- 流式并行执行: 工具执行与模型输出并行,不浪费等待时间
- 多层安全防护: 路径遍历、Unicode 标准化、反斜杠注入等攻击向量的完整防护
- 记忆系统设计: 三层压缩架构,平衡上下文长度与信息保留
- Undercover Mode: 强制在公开仓库抹除 AI 痕迹,开发者感到"不舒服"
- 情绪监控: 用正则表达式追踪用户是否"骂人"
- print.ts 屎山: 3000+ 行单函数,12 层嵌套
- 隐私顾虑: Datadog 遥测追踪用户行为
"整个 repo 分得很细,主流程包括 REPL 启动、QueryEngine、工具注册、Slash 命令、权限系统、任务系统,以及多层状态管理,非常典型的生产级 AI agent harness 设计。" -- @sanbuphy
"他们建了一整套系统来阻止 AI 泄密——然后自己把全部源码打包发了上去。" -- 社区评论
"这应该是 Claude Code 官方不小心把 v2.1.88 的源码直接传到了 npm 包里,整体代码结构很成熟。" -- 量子位分析
基于 51.2 万行源码的深度逆向分析,详解 Claude Code 的核心架构设计。
文件规模: 核心入口文件
启动流程:
CLI 启动 → 环境检测 → 认证检查 → MCP 配置加载 → REPL 初始化 → Query Loop
核心功能:
| 功能 | 说明 |
|---|---|
| 环境检测 | 支持 GitHub Actions、SDK 集成、VS Code 扩展、远程会话、标准 CLI |
| 客户端识别 | 7 种不同场景的客户端类型识别 |
| 认证体系 | API Key > OAuth > 交互式登录 |
| 权限模式 | default / bypassPermissions / enterprise |
关键设计:
- Commander.js CLI 框架: 处理命令行参数和子命令
- React + Ink 渲染: 终端 UI 组件化
- 状态机管理: 多层状态转换控制
工具数量: 53 个内置工具
核心工具分类:
| 类别 | 工具 | 说明 |
|---|---|---|
| 文件操作 | ReadTool, WriteTool, EditTool, GlobTool | 文件读写修改 |
| 代码搜索 | GrepTool, SearchTool | 内容搜索 |
| Shell 执行 | BashTool | 命令执行(沙箱/非沙箱) |
| Git 操作 | GitTool, CommitTool | 版本控制 |
| Agent 协作 | AgentTool, MCPTool | 子代理、MCP 服务器 |
| 网络 | WebFetchTool, WebSearchTool | 网页访问 |
Bash 工具安全设计:
// 智能沙箱模式切换
- 检测运行环境安全性
- 自动选择沙箱/非沙箱版本
- 权限白名单验证
- 命令审计日志工具调用流程:
API 返回 tool_use block → 分配唯一 ID → 并行/串行执行 → 结果封装 → 拼回消息数组
流式优化: StreamingToolExecutor 在模型流式输出过程中就开始执行工具,不等待完整响应。
命令数量: 87 个斜杠命令
核心命令分类:
| 类别 | 命令示例 | 功能 |
|---|---|---|
| 代码管理 | /commit, /review, /test | Git 提交、代码审查、测试 |
| 上下文 | /compact, /clear | 上下文压缩、清除 |
| 会话 | /session, /model | 会话管理、模型切换 |
| MCP | /mcp, /mcp-add | MCP 服务器管理 |
| 配置 | /config, /permissions | 配置管理、权限设置 |
| 远程 | /remote, /rc | 远程控制功能 |
命令架构:
// 命令注册表设计
commands/
├── commit.ts // 提交命令
├── review.ts // 审查命令
├── compact.ts // 压缩命令
└── ...权限配置语法:
"Bash(npm run:*)" // 前缀匹配
"Bash(npm *)" // 通配符匹配
"Bash" // 允许所有API 服务 (services/api/claude.ts): 3,419 行
| 功能 | 说明 |
|---|---|
| API 调用 | 7 个关键 API 调用点 |
| SSE 解析 | 流式事件处理 |
| 多云支持 | Anthropic / AWS Bedrock / Google Vertex |
认证服务:
// 认证优先级
1. 环境变量 ANTHROPIC_API_KEY
2. OAuth 令牌
3. 交互式登录流程MCP 服务:
// 配置加载优先级
1. --mcp-config 命令行参数
2. 企业配置 (Enterprise MCP)
3. 项目配置 (.mcp.json)
4. 用户配置 (~/.claude/mcp.json)分析服务: 用户行为分析、遥测数据收集
核心 Context:
| Context | 用途 |
|---|---|
| AppContext | 应用全局状态 |
| SessionContext | 会话状态管理 |
| ToolContext | 工具调用状态 |
| PermissionContext | 权限审批状态 |
状态管理设计:
// 多层状态机
state = {
messages: Message[], // 对话历史
transition: { reason }, // 状态转换原因
tools: ToolResult[], // 工具结果
permissions: Permission[] // 权限请求
}四阶段工作流:
研究阶段 → 综合阶段 → 规划阶段 → 执行阶段
协调机制:
- 研究阶段: 多个 Worker 并行调查代码库
- 综合阶段: Coordinator 阅读所有 Worker 发现
- 规划阶段: 制定行动计划
- 执行阶段: 指挥执行并整合结果
使用方式:
export CLAUDE_CODE_COORDINATOR_MODE=1
claude核心能力:
| 功能 | 说明 |
|---|---|
| 永不掉线 | 后台持续运行,维护项目状态 |
| 记忆整合 | 每日追加日志,记录观察和决策 |
| 主动监控 | 对观察到的事项采取行动 |
| GitHub 集成 | 自动响应代码推送、PR 事件 |
技术细节:
// 强制打开简报模式
// 允许工具主动向用户发消息
// 支持 cron、scheduled tasks
// 与 MCP channel notifications 连接电子宠物完成度: 极高(原计划愚人节发布)
功能特性:
| 特性 | 说明 |
|---|---|
| 宠物种类 | 18 种(鸭子、龙、美西螈、水豚等) |
| 稀有度 | 普通 → 稀有 → 史诗 → 传说(1% 掉率) |
| 闪光变体 | Shiny Variants 支持 |
| 五维属性 | 调试能力、耐心、混沌值、智慧、毒舌 |
| 装饰 | 可以戴帽子 |
| 显示 | 对话气泡形式,停留在输入框旁边 |
Remote Control 功能 (2026年2月25日上线):
┌─────────────────┐ ┌─────────────────┐
│ 本地电脑 │◄───────►│ 手机/平板 │
│ │ 加密连接 │ │
│ • 代码执行 │ │ • 显示界面 │
│ • 文件操作 │ │ • 发送指令 │
│ • AI 计算 │ │ • 语音输入 │
└─────────────────┘ └─────────────────┘
Bridge MCP 架构 (claude-bridge-mcp):
// 远程 MCP 工具
- claude_execute // 执行任务
- claude_query // 询问问题(只读)
- claude_read_file // 读取文件
- claude_git_status // Git 状态安全特性:
- IP 白名单
- Bearer Token 认证
- 目录白名单
- Symlink 保护
- 执行队列限流
插件架构:
// 插件目录结构
plugins/
├── lt-dev/ // 示例插件
│ ├── commands/ // 插件命令
│ └── skills/ // 插件技能
└── ...插件能力:
- 自定义斜杠命令
- 自定义工具
- 自定义技能
- 生命周期钩子
技能定义:
# skill.yaml 示例
name: custom-skill
description: 自定义技能描述
commands:
- /custom-cmd
tools:
- custom-tool内置技能:
- 语言模型优化
- 代码片段生成
- 文档生成
- 测试用例生成
VoiceMode 功能:
| 功能 | 说明 |
|---|---|
| 语音输入 | 手机端语音指令 |
| 语音播报 | 回复内容朗读 |
| 实时转写 | 语音 → 文字 |
集成方式:
# 手机端语音输入
🎤 "帮我重构这个函数,使其更符合 ES6 规范"Vim 模式特性:
| 功能 | 说明 |
|---|---|
| 模式切换 | Normal / Insert / Visual / Command |
| 快捷键 | Vim 风格快捷键绑定 |
| 终端集成 | 与终端操作无缝衔接 |
状态管理:
// Vim 状态机
type VimMode = 'normal' | 'insert' | 'visual' | 'command';
type VimState = {
mode: VimMode;
buffer: string;
cursor: Position;
registers: Register[];
};核心工具模块:
| 模块 | 功能 |
|---|---|
| git.ts | Git 操作封装 |
| model.ts | 模型选择与配置 |
| auth.ts | 认证相关工具 |
| env.ts | 环境变量管理 |
| security.ts | 安全检查(Hooks: 5,022 行) |
安全相关 (utils/hooks.ts): 5,022 行
- 路径遍历防护
- Unicode 标准化攻击防护
- 反斜杠注入防护
.gitconfig、.bashrc等敏感文件保护
| 文件 | 行数 | 功能 |
|---|---|---|
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 个工具 | 工具实现 |
架构设计 (query.ts:307):
// async generator 实现
async function* query() {
while (true) {
// 1. 预处理:微压缩、context collapse
// 2. API 调用:流式接收回复
// 3. 工具执行:收集 tool_use blocks
// 4. 结果拼回:进入下一轮迭代
// 5. 终止判断:stop hooks 检查
}
}背压控制:
// yield 实现流式推送
// 消费者不调 .next(),生产者不推进
// .return() 干净关闭 generator 链Token 边际递减检测 (tokenBudget.ts):
// 连续 3 轮增量不足 500 token → 提前停止
// 避免模型反复输出无意义小增量三层压缩系统:
| 层级 | 触发条件 | 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 可清理
六级权限验证:
基础检查 → 风险分级 → ML 分类器 → YOLO 模式 → 用户确认 → 结果验证
权限模式:
| 模式 | 说明 |
|---|---|
default |
完整权限检查 |
bypassPermissions |
跳过所有检查 |
enterprise |
企业托管模式 |
文件系统权限:
// 白名单/黑名单机制
{
"allow": ["/path/to/project/**"],
"deny": ["~/.ssh/**", "**/.env"]
}- 本仓库为 Claude Code Source 整合存档,源码版权归 Anthropic 所有
- 仅用于技术研究与学习,请勿用于商业用途
- 如有侵权,请联系删除
- 本仓库不隶属于、未经 Anthropic 认可或维护