{"id":50508985,"url":"https://github.com/aaronlab/claude-code-source-analysis","last_synced_at":"2026-06-02T18:32:52.167Z","repository":{"id":348485063,"uuid":"1198266947","full_name":"aaronlab/claude-code-source-analysis","owner":"aaronlab","description":"🔬 Claude Code 源码深度解析 | 22 章完整学习手册 + 可视化学习网页 | 架构、Tool系统、Prompt工程、安全体系全覆盖","archived":false,"fork":false,"pushed_at":"2026-04-12T17:55:28.000Z","size":1272,"stargazers_count":8,"open_issues_count":0,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-02T18:32:50.613Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaronlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-01T09:06:58.000Z","updated_at":"2026-05-25T05:53:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aaronlab/claude-code-source-analysis","commit_stats":null,"previous_names":["aaronagent/claude-code-source-analysis","aaronlab/claude-code-source-analysis"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aaronlab/claude-code-source-analysis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronlab%2Fclaude-code-source-analysis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronlab%2Fclaude-code-source-analysis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronlab%2Fclaude-code-source-analysis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronlab%2Fclaude-code-source-analysis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronlab","download_url":"https://codeload.github.com/aaronlab/claude-code-source-analysis/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronlab%2Fclaude-code-source-analysis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33833277,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-02T18:32:51.516Z","updated_at":"2026-06-02T18:32:52.160Z","avatar_url":"https://github.com/aaronlab.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🔬 Claude Code 源码深度解析\n\n### 22 章完整学习手册 + 可视化学习网页\n\n基于 2026-03-31 通过 npm source map 泄露的 Claude Code 源码快照\n\n**TypeScript** · **Bun** · **React + Ink** · **~1,900 文件** · **512,000+ 行代码**\n\n[![GitHub Pages](https://img.shields.io/badge/在线学习-GitHub_Pages-blue?style=for-the-badge\u0026logo=github)](https://aaronagent.github.io/claude-code-source-analysis/)\n[![License](https://img.shields.io/badge/license-MIT-green?style=for-the-badge)](LICENSE)\n\n[**🌐 在线学习网页**](https://aaronagent.github.io/claude-code-source-analysis/) · [**📖 开始阅读**](#-学习路线) · [**🏗️ 架构总览**](#-核心架构)\n\n\u003c/div\u003e\n\n---\n\n## 🎯 这是什么\n\n这是一份对 **Claude Code** (Anthropic 的 AI 编程助手 CLI 工具) 源码的**深度逆向分析手册**，涵盖：\n\n- 🏗️ **完整架构解析** — 从入口到渲染的全链路分析\n- 🔧 **40+ Tool 系统** — 每个工具的接口、权限、Prompt 设计\n- 📝 **Prompt 工程体系** — 6 大子系统、20+ Section 模块化架构\n- 🛡️ **10 层安全纵深** — 从 Prompt 指令到容器沙箱的完整防御体系\n- 🤖 **多 Agent 协调** — 6 种 Agent 类型 + Coordinator 模式\n- 💾 **缓存与上下文** — 三级缓存策略 + Auto-Compact 机制\n\n\u003e **适合谁？** AI 工程师、Prompt 工程师、对 AI Agent 架构感兴趣的开发者\n\n---\n\n## 🏗️ 核心架构\n\n```\n┌─────────────────────────────────────────────────────┐\n│                     用户界面层                        │\n│   终端 CLI (React+Ink)  │  IDE Bridge  │  SDK/Server │\n├─────────────────────────────────────────────────────┤\n│              QueryEngine 会话引擎                     │\n│   多轮管理 · 上下文构建 · Auto-Compact · 状态机       │\n├──────────────┬──────────────────┬────────────────────┤\n│  Tool 系统   │   命令系统        │    服务层           │\n│  40+ Tools   │   100+ Commands  │  API·MCP·OAuth·LSP │\n├──────────────┴──────────────────┴────────────────────┤\n│              权限与安全 (10 层纵深)                    │\n│  Prompt → 规则 → 工具 → 路径 → 黑名单 → AST          │\n│  → AI分类器 → 沙箱 → 拒绝追踪 → 企业策略              │\n└─────────────────────────────────────────────────────┘\n```\n\n---\n\n## 📊 关键数字\n\n| 指标 | 数值 | 指标 | 数值 |\n|------|------|------|------|\n| TypeScript 文件 | ~1,900 | System Prompt Sections | 20+ |\n| 代码行数 | 512,000+ | 内置 Tools | 40 |\n| React 组件 | 140+ | Agent 类型 | 6+1 |\n| 斜杠命令 | 100+ | Memory 层级 | 6 |\n| 服务模块 | 20+ | Hook 事件 | 27 |\n| Feature Flags | 12+ | 安全防御层 | 10 |\n\n---\n\n## 📖 学习路线\n\n### Part 1: 核心架构 (01-12)\n\n\u003e 建议按序阅读，从入门到精通掌握 Claude Code 的核心设计\n\n| 章节 | 内容 | 难度 | 链接 |\n|------|------|:----:|------|\n| **00** | 导读 — 阅读指南与术语表 | 📗 导读 | [阅读](docs/00%20-%20导读.md) |\n| **01** | 项目概览 — Claude Code 是什么 | 📗 入门 | [阅读](docs/01%20-%20项目概览.md) |\n| **02** | 技术栈与架构总览 — Bun + TS + React/Ink | 📗 入门 | [阅读](docs/02%20-%20技术栈与架构总览.md) |\n| **03** | 启动流程 — 从 `claude` 命令到 UI 渲染 | 📘 基础 | [阅读](docs/03%20-%20启动流程.md) |\n| **04** | Tool 系统 — 40+ 工具的接口、注册、调度 | 📙 核心 | [阅读](docs/04%20-%20Tool%20系统.md) |\n| **05** | 权限系统 — 四种模式、规则匹配、安全检查 | 📙 核心 | [阅读](docs/05%20-%20权限系统.md) |\n| **06** | Query 引擎与对话循环 — LLM 交互核心 | 📙 核心 | [阅读](docs/06%20-%20Query%20引擎与对话循环.md) |\n| **07** | 命令系统 — 100+ 斜杠命令的三种类型 | 📕 进阶 | [阅读](docs/07%20-%20命令系统.md) |\n| **08** | 服务层 — API/MCP/OAuth/LSP 集成 | 📕 进阶 | [阅读](docs/08%20-%20服务层.md) |\n| **09** | UI 渲染系统 — React 如何渲染到终端 | 📕 进阶 | [阅读](docs/09%20-%20UI%20渲染系统.md) |\n| **10** | 多 Agent 与协调器 — Agent Swarms 设计 | 🔴 高级 | [阅读](docs/10%20-%20多%20Agent%20与协调器.md) |\n| **11** | 配置与内存系统 — CLAUDE.md 与持久化 | 🔴 高级 | [阅读](docs/11%20-%20配置与内存系统.md) |\n| **12** | 关键设计模式 — 架构思想总结 | 🟣 总结 | [阅读](docs/12%20-%20关键设计模式.md) |\n\n### Part 2: Prompt 体系深度分析 (13-21)\n\n\u003e 深入 Claude Code 的 Prompt 工程，学习产品级 AI 系统的 Prompt 设计\n\n| 章节 | 内容 | 难度 | 链接 |\n|------|------|:----:|------|\n| **13** | Prompt 体系总览 — 6 大子系统导航 | 🟣 导读 | [阅读](docs/13%20-%20Prompt%20体系总览.md) |\n| **14** | System Prompt 架构 — 20+ Section 组装 | 📙 核心 | [阅读](docs/14%20-%20System%20Prompt%20架构.md) |\n| **15** | Agent 与 SubAgent Prompt — 权限矩阵 | 📙 核心 | [阅读](docs/15%20-%20Agent%20与%20SubAgent%20Prompt.md) |\n| **16** | Prompt Caching 与 Context 管理 | 🔴 高级 | [阅读](docs/16%20-%20Prompt%20Caching%20与%20Context%20管理.md) |\n| **17** | 权限系统与 Safety Prompt — 纵深防御 | 🔴 高级 | [阅读](docs/17%20-%20权限系统与%20Safety%20Prompt.md) |\n| **18** | Memory 与 Hooks 系统 — 6 层 + 27 Hook | 🔴 高级 | [阅读](docs/18%20-%20Memory%20与%20Hooks%20系统.md) |\n| **19** | Prompt 工程技巧与设计模式 — 12 模式 | ⭐ 精华 | [阅读](docs/19%20-%20Prompt%20工程技巧与设计模式.md) |\n| **20** | Tool 系统 Prompt 详解 — 40 工具分析 | 📙 核心 | [阅读](docs/20%20-%20Tool%20系统%20Prompt%20详解.md) |\n| **21** | 用户输入处理与消息格式化 | 📕 进阶 | [阅读](docs/21%20-%20用户输入处理与消息格式化.md) |\n\n---\n\n## ⚡ 技术栈\n\n| 层级 | 技术 | 说明 |\n|------|------|------|\n| 运行时 | **Bun** | 替代 Node.js，更快的启动和执行 |\n| 语言 | **TypeScript (strict)** | 严格模式类型检查 |\n| 终端 UI | **React + 自定义 Ink** | 项目内嵌的深度定制版渲染器 |\n| CLI 框架 | **Commander.js** | 命令行参数解析 |\n| 校验 | **Zod v4** | 运行时 Schema 校验 |\n| AI API | **@anthropic-ai/sdk** | Claude API 调用 |\n| 扩展协议 | **MCP** | Model Context Protocol |\n| 语言服务 | **LSP** | Language Server Protocol |\n| 认证 | **OAuth 2.0 + JWT** | 多层认证方案 |\n| 构建 | **Bun bundler + Feature Flags** | 编译时特性开关 |\n\n---\n\n## 🧩 8 大核心设计原则\n\n1. **模块化数组架构** — System Prompt 是 `string[]`，支持分段缓存\n2. **静态/动态分界** — BOUNDARY 分离可缓存与动态内容\n3. **缓存感知设计** — 路径规范化到 Agent 列表外移，处处优化命中率\n4. **10 层纵深防御** — 即使 bypass 权限也有不可绕过的检查\n5. **永不委派理解** — Coordinator 禁止懒惰委派，必须理解后再指令\n6. **Scratchpad CoT** — `\u003canalysis\u003e` 先思考后输出，删除中间推理\n7. **DANGEROUS_ 命名** — 非缓存 section 刻意制造审查摩擦\n8. **三层注入架构** — System Prompt + System Context + User Context\n\n---\n\n## 🚀 快速开始\n\n```bash\n# 克隆仓库\ngit clone https://github.com/aaronagent/claude-code-source-analysis.git\ncd claude-code-source-analysis\n\n# 直接打开 index.html 即可浏览可视化学习网页\nopen index.html\n\n# 或查阅 docs/ 目录下的 Markdown 文件\nls docs/\n```\n\n也可以直接访问 [**在线学习网页**](https://aaronagent.github.io/claude-code-source-analysis/) 📖\n\n---\n\n## 📜 免责声明\n\n本项目用于**技术学习和研究目的**。源码分析基于公开泄露的 source map 快照，不包含任何原始源代码。所有内容均为作者的分析笔记和理解。\n\n---\n\n## 📄 License\n\nMIT License · 详见 [LICENSE](LICENSE)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nMade with ❤️ by [AARON AGENT](https://github.com/aaronagent)\n\n**如果觉得有帮助，请给个 ⭐ Star！**\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronlab%2Fclaude-code-source-analysis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronlab%2Fclaude-code-source-analysis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronlab%2Fclaude-code-source-analysis/lists"}