An open API service indexing awesome lists of open source software.

https://github.com/aaronlab/claude-code-source-analysis

🔬 Claude Code 源码深度解析 | 22 章完整学习手册 + 可视化学习网页 | 架构、Tool系统、Prompt工程、安全体系全覆盖
https://github.com/aaronlab/claude-code-source-analysis

Last synced: 11 days ago
JSON representation

🔬 Claude Code 源码深度解析 | 22 章完整学习手册 + 可视化学习网页 | 架构、Tool系统、Prompt工程、安全体系全覆盖

Awesome Lists containing this project

README

          

# 🔬 Claude Code 源码深度解析

### 22 章完整学习手册 + 可视化学习网页

基于 2026-03-31 通过 npm source map 泄露的 Claude Code 源码快照

**TypeScript** · **Bun** · **React + Ink** · **~1,900 文件** · **512,000+ 行代码**

[![GitHub Pages](https://img.shields.io/badge/在线学习-GitHub_Pages-blue?style=for-the-badge&logo=github)](https://aaronagent.github.io/claude-code-source-analysis/)
[![License](https://img.shields.io/badge/license-MIT-green?style=for-the-badge)](LICENSE)

[**🌐 在线学习网页**](https://aaronagent.github.io/claude-code-source-analysis/) · [**📖 开始阅读**](#-学习路线) · [**🏗️ 架构总览**](#-核心架构)

---

## 🎯 这是什么

这是一份对 **Claude Code** (Anthropic 的 AI 编程助手 CLI 工具) 源码的**深度逆向分析手册**,涵盖:

- 🏗️ **完整架构解析** — 从入口到渲染的全链路分析
- 🔧 **40+ Tool 系统** — 每个工具的接口、权限、Prompt 设计
- 📝 **Prompt 工程体系** — 6 大子系统、20+ Section 模块化架构
- 🛡️ **10 层安全纵深** — 从 Prompt 指令到容器沙箱的完整防御体系
- 🤖 **多 Agent 协调** — 6 种 Agent 类型 + Coordinator 模式
- 💾 **缓存与上下文** — 三级缓存策略 + Auto-Compact 机制

> **适合谁?** AI 工程师、Prompt 工程师、对 AI Agent 架构感兴趣的开发者

---

## 🏗️ 核心架构

```
┌─────────────────────────────────────────────────────┐
│ 用户界面层 │
│ 终端 CLI (React+Ink) │ IDE Bridge │ SDK/Server │
├─────────────────────────────────────────────────────┤
│ QueryEngine 会话引擎 │
│ 多轮管理 · 上下文构建 · Auto-Compact · 状态机 │
├──────────────┬──────────────────┬────────────────────┤
│ Tool 系统 │ 命令系统 │ 服务层 │
│ 40+ Tools │ 100+ Commands │ API·MCP·OAuth·LSP │
├──────────────┴──────────────────┴────────────────────┤
│ 权限与安全 (10 层纵深) │
│ Prompt → 规则 → 工具 → 路径 → 黑名单 → AST │
│ → AI分类器 → 沙箱 → 拒绝追踪 → 企业策略 │
└─────────────────────────────────────────────────────┘
```

---

## 📊 关键数字

| 指标 | 数值 | 指标 | 数值 |
|------|------|------|------|
| TypeScript 文件 | ~1,900 | System Prompt Sections | 20+ |
| 代码行数 | 512,000+ | 内置 Tools | 40 |
| React 组件 | 140+ | Agent 类型 | 6+1 |
| 斜杠命令 | 100+ | Memory 层级 | 6 |
| 服务模块 | 20+ | Hook 事件 | 27 |
| Feature Flags | 12+ | 安全防御层 | 10 |

---

## 📖 学习路线

### Part 1: 核心架构 (01-12)

> 建议按序阅读,从入门到精通掌握 Claude Code 的核心设计

| 章节 | 内容 | 难度 | 链接 |
|------|------|:----:|------|
| **00** | 导读 — 阅读指南与术语表 | 📗 导读 | [阅读](docs/00%20-%20导读.md) |
| **01** | 项目概览 — Claude Code 是什么 | 📗 入门 | [阅读](docs/01%20-%20项目概览.md) |
| **02** | 技术栈与架构总览 — Bun + TS + React/Ink | 📗 入门 | [阅读](docs/02%20-%20技术栈与架构总览.md) |
| **03** | 启动流程 — 从 `claude` 命令到 UI 渲染 | 📘 基础 | [阅读](docs/03%20-%20启动流程.md) |
| **04** | Tool 系统 — 40+ 工具的接口、注册、调度 | 📙 核心 | [阅读](docs/04%20-%20Tool%20系统.md) |
| **05** | 权限系统 — 四种模式、规则匹配、安全检查 | 📙 核心 | [阅读](docs/05%20-%20权限系统.md) |
| **06** | Query 引擎与对话循环 — LLM 交互核心 | 📙 核心 | [阅读](docs/06%20-%20Query%20引擎与对话循环.md) |
| **07** | 命令系统 — 100+ 斜杠命令的三种类型 | 📕 进阶 | [阅读](docs/07%20-%20命令系统.md) |
| **08** | 服务层 — API/MCP/OAuth/LSP 集成 | 📕 进阶 | [阅读](docs/08%20-%20服务层.md) |
| **09** | UI 渲染系统 — React 如何渲染到终端 | 📕 进阶 | [阅读](docs/09%20-%20UI%20渲染系统.md) |
| **10** | 多 Agent 与协调器 — Agent Swarms 设计 | 🔴 高级 | [阅读](docs/10%20-%20多%20Agent%20与协调器.md) |
| **11** | 配置与内存系统 — CLAUDE.md 与持久化 | 🔴 高级 | [阅读](docs/11%20-%20配置与内存系统.md) |
| **12** | 关键设计模式 — 架构思想总结 | 🟣 总结 | [阅读](docs/12%20-%20关键设计模式.md) |

### Part 2: Prompt 体系深度分析 (13-21)

> 深入 Claude Code 的 Prompt 工程,学习产品级 AI 系统的 Prompt 设计

| 章节 | 内容 | 难度 | 链接 |
|------|------|:----:|------|
| **13** | Prompt 体系总览 — 6 大子系统导航 | 🟣 导读 | [阅读](docs/13%20-%20Prompt%20体系总览.md) |
| **14** | System Prompt 架构 — 20+ Section 组装 | 📙 核心 | [阅读](docs/14%20-%20System%20Prompt%20架构.md) |
| **15** | Agent 与 SubAgent Prompt — 权限矩阵 | 📙 核心 | [阅读](docs/15%20-%20Agent%20与%20SubAgent%20Prompt.md) |
| **16** | Prompt Caching 与 Context 管理 | 🔴 高级 | [阅读](docs/16%20-%20Prompt%20Caching%20与%20Context%20管理.md) |
| **17** | 权限系统与 Safety Prompt — 纵深防御 | 🔴 高级 | [阅读](docs/17%20-%20权限系统与%20Safety%20Prompt.md) |
| **18** | Memory 与 Hooks 系统 — 6 层 + 27 Hook | 🔴 高级 | [阅读](docs/18%20-%20Memory%20与%20Hooks%20系统.md) |
| **19** | Prompt 工程技巧与设计模式 — 12 模式 | ⭐ 精华 | [阅读](docs/19%20-%20Prompt%20工程技巧与设计模式.md) |
| **20** | Tool 系统 Prompt 详解 — 40 工具分析 | 📙 核心 | [阅读](docs/20%20-%20Tool%20系统%20Prompt%20详解.md) |
| **21** | 用户输入处理与消息格式化 | 📕 进阶 | [阅读](docs/21%20-%20用户输入处理与消息格式化.md) |

---

## ⚡ 技术栈

| 层级 | 技术 | 说明 |
|------|------|------|
| 运行时 | **Bun** | 替代 Node.js,更快的启动和执行 |
| 语言 | **TypeScript (strict)** | 严格模式类型检查 |
| 终端 UI | **React + 自定义 Ink** | 项目内嵌的深度定制版渲染器 |
| CLI 框架 | **Commander.js** | 命令行参数解析 |
| 校验 | **Zod v4** | 运行时 Schema 校验 |
| AI API | **@anthropic-ai/sdk** | Claude API 调用 |
| 扩展协议 | **MCP** | Model Context Protocol |
| 语言服务 | **LSP** | Language Server Protocol |
| 认证 | **OAuth 2.0 + JWT** | 多层认证方案 |
| 构建 | **Bun bundler + Feature Flags** | 编译时特性开关 |

---

## 🧩 8 大核心设计原则

1. **模块化数组架构** — System Prompt 是 `string[]`,支持分段缓存
2. **静态/动态分界** — BOUNDARY 分离可缓存与动态内容
3. **缓存感知设计** — 路径规范化到 Agent 列表外移,处处优化命中率
4. **10 层纵深防御** — 即使 bypass 权限也有不可绕过的检查
5. **永不委派理解** — Coordinator 禁止懒惰委派,必须理解后再指令
6. **Scratchpad CoT** — `` 先思考后输出,删除中间推理
7. **DANGEROUS_ 命名** — 非缓存 section 刻意制造审查摩擦
8. **三层注入架构** — System Prompt + System Context + User Context

---

## 🚀 快速开始

```bash
# 克隆仓库
git clone https://github.com/aaronagent/claude-code-source-analysis.git
cd claude-code-source-analysis

# 直接打开 index.html 即可浏览可视化学习网页
open index.html

# 或查阅 docs/ 目录下的 Markdown 文件
ls docs/
```

也可以直接访问 [**在线学习网页**](https://aaronagent.github.io/claude-code-source-analysis/) 📖

---

## 📜 免责声明

本项目用于**技术学习和研究目的**。源码分析基于公开泄露的 source map 快照,不包含任何原始源代码。所有内容均为作者的分析笔记和理解。

---

## 📄 License

MIT License · 详见 [LICENSE](LICENSE)

---

Made with ❤️ by [AARON AGENT](https://github.com/aaronagent)

**如果觉得有帮助,请给个 ⭐ Star!**