本仓库镜像了一份公开暴露的 Claude Code 源码快照,该源码于 2026 年 3 月 31 日 通过 npm 安装包中的源码映射文件(source map)被公开获取。本仓库仅用于教育、防御性安全研究及软件供应链分析。
本仓库由一名在校大学生维护,研究方向包括:
- 软件供应链暴露与构建产物泄露
- 软件工程安全实践
- 智能体开发工具架构
- 真实命令行工具系统的防御性分析
该归档文件旨在支持以下用途:
- 教学研究
- 安全研究实践
- 架构审查
- 软件打包与发布流程缺陷讨论
本仓库不主张对原始代码拥有任何所有权,也不应被视为 Anthropic 官方仓库。
Chaofan Shou (@Fried_rice) 公开发布称,在 npm 安装包中暴露的 .map 文件可直接访问 Claude Code 源码:
"Claude 代码源码通过其 npm 仓库中的映射文件泄露了!
该公开源码映射文件指向了 Anthropic R2 存储桶中未做混淆处理的 TypeScript 源码,使得 src/ 目录快照可被公开下载。
Claude Code 是 Anthropic 推出的命令行工具,用于在终端中与 Claude 交互,执行代码编辑、运行命令、搜索代码库、协调工作流等软件工程任务。
本仓库包含用于研究与分析的 src/ 目录镜像。
- 公开暴露发现时间: 2026-03-31
- 开发语言:TypeScript
- 运行环境:Bun
- 终端界面:React + Ink
- 代码规模:~1,900 files, 512,000+ lines of code
src/
├── main.tsx # 入口调度(基于 Commander.js 的命令行逻辑)
├── commands.ts # 命令注册
├── tools.ts # 工具注册
├── Tool.ts # 工具类型定义
├── QueryEngine.ts # 大语言模型查询引擎
├── context.ts # 系统/用户上下文收集
├── cost-tracker.ts # Token 用量计费统计
│
├── commands/ # 斜杠命令实现(约 50 个)
├── tools/ # 智能体工具实现(约 40 个)
├── components/ # Ink 界面组件(约 140 个)
├── hooks/ # React 钩子
├── services/ # 外部服务集成
├── screens/ # 全屏界面(诊断、REPL、会话恢复)
├── types/ # TypeScript 类型定义
├── utils/ # 工具函数
│
├── bridge/ # IDE 与远程控制桥接
├── coordinator/ # 多智能体协调器
├── plugins/ # 插件系统
├── skills/ # 技能系统
├── keybindings/ # 快捷键配置
├── vim/ # Vim 模式
├── voice/ # 语音输入
├── remote/ # 远程会话
├── server/ # 服务端模式
├── memdir/ # 持久化记忆目录
├── tasks/ # 任务管理
├── state/ # 状态管理
├── migrations/ # 配置迁移
├── schemas/ # 配置校验(Zod)
├── entrypoints/ # 初始化逻辑
├── ink/ # Ink 渲染器封装
├── buddy/ # 助手交互模块
├── native-ts/ # TypeScript 原生工具
├── outputStyles/ # 输出样式
├── query/ # 查询流程
└── upstreamproxy/ # 代理配置
Claude Code 可调用的所有工具均为独立模块实现,每个工具定义了输入校验规则、权限模型与执行逻辑。
| 工具 | 说明 |
|---|---|
BashTool |
执行 Shell 命令 |
FileReadTool |
读取文件(图片、PDF、笔记本文件) |
FileWriteTool |
创建 / 覆盖文件 |
FileEditTool |
局部文件修改(字符串替换) |
GlobTool |
按文件通配符搜索 |
GrepTool |
基于 ripgrep 的内容搜索 |
WebFetchTool |
获取 URL 内容 |
WebSearchTool |
网页搜索 |
AgentTool |
创建子智能体 |
SkillTool |
执行技能 |
MCPTool |
调用 MCP 服务端工具 |
LSPTool |
语言服务协议集成 |
NotebookEditTool |
编辑 Jupyter 笔记本 |
TaskCreateTool / TaskUpdateTool |
创建与管理任务 |
SendMessageTool |
智能体间消息通信 |
TeamCreateTool / TeamDeleteTool |
团队智能体管理 |
EnterPlanModeTool / ExitPlanModeTool |
切换计划模式 |
EnterWorktreeTool / ExitWorktreeTool |
Git 工作树隔离 |
ToolSearchTool |
延迟式工具发现 |
CronCreateTool |
创建定时触发任务 |
RemoteTriggerTool |
远程触发 |
SleepTool |
主动模式等待 |
SyntheticOutputTool |
结构化输出生成 |
用户通过 / 前缀调用的交互命令。
| 命令 | 说明 |
|---|---|
/commit |
创建 git 提交 |
/review |
代码审查 |
/compact |
上下文压缩 |
/mcp |
MCP 服务管理 |
/config |
设置管理 |
/doctor |
环境诊断 |
/login / /logout |
登录 / 登出认证 |
/memory |
持久化记忆管理 |
/skills |
技能管理 |
/tasks |
任务管理 |
/vim |
切换 Vim 模式 |
/diff |
查看变更 |
/cost |
查看使用成本 |
/theme |
切换主题 |
/context |
上下文可视化 |
/pr_comments |
查看 PR 评论 |
/resume |
恢复上一会话 |
/share |
分享会话 |
/desktop |
切换到桌面端应用 |
/mobile |
切换到移动端应用 |
| 服务 | 说明 |
|---|---|
api/ |
Anthropic API 客户端、文件 API、启动引导 |
mcp/ |
模型上下文协议服务端连接与管理 |
oauth/ |
OAuth 2.0 认证流程 |
lsp/ |
语言服务协议管理器 |
analytics/ |
基于 GrowthBook 的功能开关与数据分析 |
plugins/ |
插件加载器 |
compact/ |
对话上下文压缩 |
policyLimits/ |
组织策略限制 |
remoteManagedSettings/ |
远程托管设置 |
extractMemories/ |
自动记忆提取 |
tokenEstimation.ts |
Token 数量估算 |
teamMemorySync/ |
团队记忆同步 |
用于连接 IDE 插件(VS Code、JetBrains)与 Claude Code 命令行的双向通信层。
bridgeMain.ts— 桥接主循环bridgeMessaging.ts— 消息协议bridgePermissionCallbacks.ts— 权限回调replBridge.ts— REPL 会话桥接jwtUtils.ts— 基于 JWT 的认证sessionRunner.ts— 会话执行管理
每次工具调用都会进行权限检查。系统会向用户请求允许/拒绝,或根据配置的权限模式自动处理(default、plan、bypassPermissions、auto 等)。
通过 Bun 的 bun:bundle 功能开关实现死代码剔除:
import { feature } from 'bun:bundle'
// 未启用的代码会在构建时完全剔除
const voiceCommand = feature('VOICE_MODE')
? require('./commands/voice/index.js').default
: null主要开关:PROACTIVE、KAIROS、BRIDGE_MODE、DAEMON、VOICE_MODE、AGENT_TRIGGERS、MONITOR_TOOL
大语言模型 API 调用的核心引擎,负责处理流式响应、工具调用循环、思考模式、重试逻辑与 Token 计数。
定义所有工具的基础类型与接口,包括输入结构、权限模型与进度状态类型。
管理所有斜杠命令的注册与执行,根据运行环境使用条件导入加载不同的命令集合。
基于 Commander.js 的 CLI 解析器与 React/Ink 渲染器初始化入口。启动时并行加载 MDM 配置、钥匙串预取与 GrowthBook 初始化,以实现更快启动。
| 分类 | 技术 |
|---|---|
| 运行时 | Bun |
| 语言 | TypeScript (严格模式) |
| 终端界面 | React + Ink |
| CLI 解析 | Commander.js |
| 结构校验 | Zod v4 |
| 代码搜索 | ripgrep |
| 通信协议 | MCP SDK, LSP |
| API | Anthropic SDK |
| 监控遥测 | OpenTelemetry + gRPC |
| 功能开关 | GrowthBook |
| 认证 | OAuth 2.0, JWT, macOS Keychain |
为优化启动速度,在加载大量模块之前,会并行预取 MDM 配置、钥匙串数据与 API 预连接。
// main.tsx — 在其他模块导入前执行
startMdmRawRead()
startKeychainPrefetch()大型模块(OpenTelemetry、gRPC、分析服务等)通过动态 import() 延迟加载,仅在实际需要时才引入。
通过 AgentTool 创建子智能体,由 coordinator/ 模块负责多智能体协同调度,TeamCreateTool 支持团队级并行工作。
在 skills/ 中定义可复用工作流,通过 SkillTool 执行,用户可自定义扩展技能。
内置插件与第三方插件统一通过 plugins/ 子系统加载管理。
- 本仓库为一名大学生维护的教育与防御性安全研究归档项目。
- 用途仅限研究源码暴露问题、打包流程缺陷与现代智能体 CLI 架构。
- 原始 Claude Code 源码版权归 Anthropic 所有。
- 本仓库与 Anthropic 无任何关联,未获得其认可、授权或维护。
