Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Claude Code 源码深度解读

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块。

项目简介

本项目是对 Claude Code(Anthropic 的终端 Agent 应用)的源码深度解读。通过系统性的源码分析,揭示其从 Agent Loop 到多智能体编排的完整架构设计。

Claude Code 是一个基于 TypeScript 的终端 Agent 应用,构建在 Bun 运行时之上,采用 React + Ink 渲染 TUI。其架构设计遵循分层解耦、流式驱动、不可变状态三大原则。

文档导航

核心模块解读

模块文档说明
整体架构src/README.md源码目录结构与模块概览
入口层docs/01-entry-layer.mdmain.tsx、多客户端入口、Feature Flag
核心引擎docs/02-core-engine.mdAgent Loop、QueryEngine、流式驱动
上下文系统docs/03-context-system.mdSystem/User Context、压缩策略
工具系统docs/04-tool-system.md43 个工具、编排器、读写分离
权限安全docs/05-permission-system.md五层决策引擎、6 种权限模式
多智能体docs/06-multi-agent.mdSubagent/Coordinator/Swarm/Team
记忆系统docs/07-memory-system.mdMEMORY.md、Agent 记忆、团队同步
可观测性docs/08-observability.md22 种 Hook、遥测、成本追踪
TUI 渲染docs/09-tui-system.mdInk 引擎、组件系统
状态管理docs/10-state-management.mdBootstrap State、不可变状态
命令系统docs/11-commands-system.mdSlash 命令、命令路由
Bridge 系统docs/12-bridge-system.md远程通信、WebSocket、SSE
服务层docs/13-services.mdAPI、MCP、Analytics 等服务

架构全景

┌─────────────────────────────────────────────────────────────┐
│ 入口层 Entry Layer │
│ CLI (main.tsx) │ SDK │ VSCode Extension │ Remote Session │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 核心引擎 Core Engine │
│ query.ts (Agent Loop) │ QueryEngine.ts │ State │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────┬───────┴───────┬─────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 上下文系统 │ │ 工具系统 │ │ 权限系统 │ │ 多智能体 │
│ Context │ │ Tool(43) │ │ Permission │ │ Multi-Agent│
└───────────┘ └────────────┘ └────────────┘ └────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 记忆系统 │ │ 可观测性 │ │ TUI 渲染 │ │ 状态管理 │
│ Memory │ │ Hooks(22) │ │ Ink/React │ │ AppState │
└───────────┘ └────────────┘ └────────────┘ └────────────┘

核心设计理念

  1. 流式优先:从 Agent Loop 到 Tool 执行,全部采用 async generator
  2. 安全默认:Tool Builder 的 fail-closed 设计、五层权限决策
  3. 不可变状态:DeepImmutable 类型约束 + 函数式更新
  4. 模块化编排:43 个工具通过统一接口和编排器协同工作
  5. 多智能体层次:从 Subagent 到 Swarm 的渐进式复杂度
  6. 可观测性内建:22 种 Hook + OpenTelemetry + Perfetto
  7. Feature Flag 驱动:编译时死代码消除 + 灰度发布

关键指标

指标数值
工具数量43+
Hook 类型22
权限模式6
Agent 类型5
核心文件20+
总代码行数50,000+

源码来源

  • src/ - Claude Code 源码副本
  • src.zip - 源码压缩包
  • analysis/ - 原始分析文档

如何使用

  1. 整体架构 开始了解目录结构
  2. 按顺序阅读各模块文档,或跳转到感兴趣的模块

参考

About

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块

Resources

Stars

84 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Claude Code 源码深度解读

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块。

项目简介

本项目是对 Claude Code(Anthropic 的终端 Agent 应用)的源码深度解读。通过系统性的源码分析,揭示其从 Agent Loop 到多智能体编排的完整架构设计。

Claude Code 是一个基于 TypeScript 的终端 Agent 应用,构建在 Bun 运行时之上,采用 React + Ink 渲染 TUI。其架构设计遵循分层解耦、流式驱动、不可变状态三大原则。

文档导航

核心模块解读

模块文档说明
整体架构src/README.md源码目录结构与模块概览
入口层docs/01-entry-layer.mdmain.tsx、多客户端入口、Feature Flag
核心引擎docs/02-core-engine.mdAgent Loop、QueryEngine、流式驱动
上下文系统docs/03-context-system.mdSystem/User Context、压缩策略
工具系统docs/04-tool-system.md43 个工具、编排器、读写分离
权限安全docs/05-permission-system.md五层决策引擎、6 种权限模式
多智能体docs/06-multi-agent.mdSubagent/Coordinator/Swarm/Team
记忆系统docs/07-memory-system.mdMEMORY.md、Agent 记忆、团队同步
可观测性docs/08-observability.md22 种 Hook、遥测、成本追踪
TUI 渲染docs/09-tui-system.mdInk 引擎、组件系统
状态管理docs/10-state-management.mdBootstrap State、不可变状态
命令系统docs/11-commands-system.mdSlash 命令、命令路由
Bridge 系统docs/12-bridge-system.md远程通信、WebSocket、SSE
服务层docs/13-services.mdAPI、MCP、Analytics 等服务

架构全景

┌─────────────────────────────────────────────────────────────┐
│ 入口层 Entry Layer │
│ CLI (main.tsx) │ SDK │ VSCode Extension │ Remote Session │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 核心引擎 Core Engine │
│ query.ts (Agent Loop) │ QueryEngine.ts │ State │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────┬───────┴───────┬─────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 上下文系统 │ │ 工具系统 │ │ 权限系统 │ │ 多智能体 │
│ Context │ │ Tool(43) │ │ Permission │ │ Multi-Agent│
└───────────┘ └────────────┘ └────────────┘ └────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 记忆系统 │ │ 可观测性 │ │ TUI 渲染 │ │ 状态管理 │
│ Memory │ │ Hooks(22) │ │ Ink/React │ │ AppState │
└───────────┘ └────────────┘ └────────────┘ └────────────┘

核心设计理念

  1. 流式优先:从 Agent Loop 到 Tool 执行,全部采用 async generator
  2. 安全默认:Tool Builder 的 fail-closed 设计、五层权限决策
  3. 不可变状态:DeepImmutable 类型约束 + 函数式更新
  4. 模块化编排:43 个工具通过统一接口和编排器协同工作
  5. 多智能体层次:从 Subagent 到 Swarm 的渐进式复杂度
  6. 可观测性内建:22 种 Hook + OpenTelemetry + Perfetto
  7. Feature Flag 驱动:编译时死代码消除 + 灰度发布

关键指标

指标数值
工具数量43+
Hook 类型22
权限模式6
Agent 类型5
核心文件20+
总代码行数50,000+

源码来源

  • src/ - Claude Code 源码副本
  • src.zip - 源码压缩包
  • analysis/ - 原始分析文档

如何使用

  1. 整体架构 开始了解目录结构
  2. 按顺序阅读各模块文档,或跳转到感兴趣的模块

参考

About

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块

Resources

Stars

84 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Claude Code 源码深度解读

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块。

项目简介

本项目是对 Claude Code(Anthropic 的终端 Agent 应用)的源码深度解读。通过系统性的源码分析,揭示其从 Agent Loop 到多智能体编排的完整架构设计。

Claude Code 是一个基于 TypeScript 的终端 Agent 应用,构建在 Bun 运行时之上,采用 React + Ink 渲染 TUI。其架构设计遵循分层解耦、流式驱动、不可变状态三大原则。

文档导航

核心模块解读

模块文档说明
整体架构src/README.md源码目录结构与模块概览
入口层docs/01-entry-layer.mdmain.tsx、多客户端入口、Feature Flag
核心引擎docs/02-core-engine.mdAgent Loop、QueryEngine、流式驱动
上下文系统docs/03-context-system.mdSystem/User Context、压缩策略
工具系统docs/04-tool-system.md43 个工具、编排器、读写分离
权限安全docs/05-permission-system.md五层决策引擎、6 种权限模式
多智能体docs/06-multi-agent.mdSubagent/Coordinator/Swarm/Team
记忆系统docs/07-memory-system.mdMEMORY.md、Agent 记忆、团队同步
可观测性docs/08-observability.md22 种 Hook、遥测、成本追踪
TUI 渲染docs/09-tui-system.mdInk 引擎、组件系统
状态管理docs/10-state-management.mdBootstrap State、不可变状态
命令系统docs/11-commands-system.mdSlash 命令、命令路由
Bridge 系统docs/12-bridge-system.md远程通信、WebSocket、SSE
服务层docs/13-services.mdAPI、MCP、Analytics 等服务

架构全景

┌─────────────────────────────────────────────────────────────┐
│ 入口层 Entry Layer │
│ CLI (main.tsx) │ SDK │ VSCode Extension │ Remote Session │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 核心引擎 Core Engine │
│ query.ts (Agent Loop) │ QueryEngine.ts │ State │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────┬───────┴───────┬─────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 上下文系统 │ │ 工具系统 │ │ 权限系统 │ │ 多智能体 │
│ Context │ │ Tool(43) │ │ Permission │ │ Multi-Agent│
└───────────┘ └────────────┘ └────────────┘ └────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 记忆系统 │ │ 可观测性 │ │ TUI 渲染 │ │ 状态管理 │
│ Memory │ │ Hooks(22) │ │ Ink/React │ │ AppState │
└───────────┘ └────────────┘ └────────────┘ └────────────┘

核心设计理念

  1. 流式优先:从 Agent Loop 到 Tool 执行,全部采用 async generator
  2. 安全默认:Tool Builder 的 fail-closed 设计、五层权限决策
  3. 不可变状态:DeepImmutable 类型约束 + 函数式更新
  4. 模块化编排:43 个工具通过统一接口和编排器协同工作
  5. 多智能体层次:从 Subagent 到 Swarm 的渐进式复杂度
  6. 可观测性内建:22 种 Hook + OpenTelemetry + Perfetto
  7. Feature Flag 驱动:编译时死代码消除 + 灰度发布

关键指标

指标数值
工具数量43+
Hook 类型22
权限模式6
Agent 类型5
核心文件20+
总代码行数50,000+

源码来源

  • src/ - Claude Code 源码副本
  • src.zip - 源码压缩包
  • analysis/ - 原始分析文档

如何使用

  1. 整体架构 开始了解目录结构
  2. 按顺序阅读各模块文档,或跳转到感兴趣的模块

参考

About

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块

Resources

Stars

84 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Claude Code 源码深度解读

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块。

项目简介

本项目是对 Claude Code(Anthropic 的终端 Agent 应用)的源码深度解读。通过系统性的源码分析,揭示其从 Agent Loop 到多智能体编排的完整架构设计。

Claude Code 是一个基于 TypeScript 的终端 Agent 应用,构建在 Bun 运行时之上,采用 React + Ink 渲染 TUI。其架构设计遵循分层解耦、流式驱动、不可变状态三大原则。

文档导航

核心模块解读

模块文档说明
整体架构src/README.md源码目录结构与模块概览
入口层docs/01-entry-layer.mdmain.tsx、多客户端入口、Feature Flag
核心引擎docs/02-core-engine.mdAgent Loop、QueryEngine、流式驱动
上下文系统docs/03-context-system.mdSystem/User Context、压缩策略
工具系统docs/04-tool-system.md43 个工具、编排器、读写分离
权限安全docs/05-permission-system.md五层决策引擎、6 种权限模式
多智能体docs/06-multi-agent.mdSubagent/Coordinator/Swarm/Team
记忆系统docs/07-memory-system.mdMEMORY.md、Agent 记忆、团队同步
可观测性docs/08-observability.md22 种 Hook、遥测、成本追踪
TUI 渲染docs/09-tui-system.mdInk 引擎、组件系统
状态管理docs/10-state-management.mdBootstrap State、不可变状态
命令系统docs/11-commands-system.mdSlash 命令、命令路由
Bridge 系统docs/12-bridge-system.md远程通信、WebSocket、SSE
服务层docs/13-services.mdAPI、MCP、Analytics 等服务

架构全景

┌─────────────────────────────────────────────────────────────┐
│ 入口层 Entry Layer │
│ CLI (main.tsx) │ SDK │ VSCode Extension │ Remote Session │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 核心引擎 Core Engine │
│ query.ts (Agent Loop) │ QueryEngine.ts │ State │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────┬───────┴───────┬─────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 上下文系统 │ │ 工具系统 │ │ 权限系统 │ │ 多智能体 │
│ Context │ │ Tool(43) │ │ Permission │ │ Multi-Agent│
└───────────┘ └────────────┘ └────────────┘ └────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 记忆系统 │ │ 可观测性 │ │ TUI 渲染 │ │ 状态管理 │
│ Memory │ │ Hooks(22) │ │ Ink/React │ │ AppState │
└───────────┘ └────────────┘ └────────────┘ └────────────┘

核心设计理念

  1. 流式优先:从 Agent Loop 到 Tool 执行,全部采用 async generator
  2. 安全默认:Tool Builder 的 fail-closed 设计、五层权限决策
  3. 不可变状态:DeepImmutable 类型约束 + 函数式更新
  4. 模块化编排:43 个工具通过统一接口和编排器协同工作
  5. 多智能体层次:从 Subagent 到 Swarm 的渐进式复杂度
  6. 可观测性内建:22 种 Hook + OpenTelemetry + Perfetto
  7. Feature Flag 驱动:编译时死代码消除 + 灰度发布

关键指标

指标数值
工具数量43+
Hook 类型22
权限模式6
Agent 类型5
核心文件20+
总代码行数50,000+

源码来源

  • src/ - Claude Code 源码副本
  • src.zip - 源码压缩包
  • analysis/ - 原始分析文档

如何使用

  1. 整体架构 开始了解目录结构
  2. 按顺序阅读各模块文档,或跳转到感兴趣的模块

参考

About

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块

Resources

Stars

84 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Claude Code 源码深度解读

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块。

项目简介

本项目是对 Claude Code(Anthropic 的终端 Agent 应用)的源码深度解读。通过系统性的源码分析,揭示其从 Agent Loop 到多智能体编排的完整架构设计。

Claude Code 是一个基于 TypeScript 的终端 Agent 应用,构建在 Bun 运行时之上,采用 React + Ink 渲染 TUI。其架构设计遵循分层解耦、流式驱动、不可变状态三大原则。

文档导航

核心模块解读

模块文档说明
整体架构src/README.md源码目录结构与模块概览
入口层docs/01-entry-layer.mdmain.tsx、多客户端入口、Feature Flag
核心引擎docs/02-core-engine.mdAgent Loop、QueryEngine、流式驱动
上下文系统docs/03-context-system.mdSystem/User Context、压缩策略
工具系统docs/04-tool-system.md43 个工具、编排器、读写分离
权限安全docs/05-permission-system.md五层决策引擎、6 种权限模式
多智能体docs/06-multi-agent.mdSubagent/Coordinator/Swarm/Team
记忆系统docs/07-memory-system.mdMEMORY.md、Agent 记忆、团队同步
可观测性docs/08-observability.md22 种 Hook、遥测、成本追踪
TUI 渲染docs/09-tui-system.mdInk 引擎、组件系统
状态管理docs/10-state-management.mdBootstrap State、不可变状态
命令系统docs/11-commands-system.mdSlash 命令、命令路由
Bridge 系统docs/12-bridge-system.md远程通信、WebSocket、SSE
服务层docs/13-services.mdAPI、MCP、Analytics 等服务

架构全景

┌─────────────────────────────────────────────────────────────┐
│ 入口层 Entry Layer │
│ CLI (main.tsx) │ SDK │ VSCode Extension │ Remote Session │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 核心引擎 Core Engine │
│ query.ts (Agent Loop) │ QueryEngine.ts │ State │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────┬───────┴───────┬─────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 上下文系统 │ │ 工具系统 │ │ 权限系统 │ │ 多智能体 │
│ Context │ │ Tool(43) │ │ Permission │ │ Multi-Agent│
└───────────┘ └────────────┘ └────────────┘ └────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 记忆系统 │ │ 可观测性 │ │ TUI 渲染 │ │ 状态管理 │
│ Memory │ │ Hooks(22) │ │ Ink/React │ │ AppState │
└───────────┘ └────────────┘ └────────────┘ └────────────┘

核心设计理念

  1. 流式优先:从 Agent Loop 到 Tool 执行,全部采用 async generator
  2. 安全默认:Tool Builder 的 fail-closed 设计、五层权限决策
  3. 不可变状态:DeepImmutable 类型约束 + 函数式更新
  4. 模块化编排:43 个工具通过统一接口和编排器协同工作
  5. 多智能体层次:从 Subagent 到 Swarm 的渐进式复杂度
  6. 可观测性内建:22 种 Hook + OpenTelemetry + Perfetto
  7. Feature Flag 驱动:编译时死代码消除 + 灰度发布

关键指标

指标数值
工具数量43+
Hook 类型22
权限模式6
Agent 类型5
核心文件20+
总代码行数50,000+

源码来源

  • src/ - Claude Code 源码副本
  • src.zip - 源码压缩包
  • analysis/ - 原始分析文档

如何使用

  1. 整体架构 开始了解目录结构
  2. 按顺序阅读各模块文档,或跳转到感兴趣的模块

参考

About

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块

Resources

Stars

84 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Claude Code 源码深度解读

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块。

项目简介

本项目是对 Claude Code(Anthropic 的终端 Agent 应用)的源码深度解读。通过系统性的源码分析,揭示其从 Agent Loop 到多智能体编排的完整架构设计。

Claude Code 是一个基于 TypeScript 的终端 Agent 应用,构建在 Bun 运行时之上,采用 React + Ink 渲染 TUI。其架构设计遵循分层解耦、流式驱动、不可变状态三大原则。

文档导航

核心模块解读

模块文档说明
整体架构src/README.md源码目录结构与模块概览
入口层docs/01-entry-layer.mdmain.tsx、多客户端入口、Feature Flag
核心引擎docs/02-core-engine.mdAgent Loop、QueryEngine、流式驱动
上下文系统docs/03-context-system.mdSystem/User Context、压缩策略
工具系统docs/04-tool-system.md43 个工具、编排器、读写分离
权限安全docs/05-permission-system.md五层决策引擎、6 种权限模式
多智能体docs/06-multi-agent.mdSubagent/Coordinator/Swarm/Team
记忆系统docs/07-memory-system.mdMEMORY.md、Agent 记忆、团队同步
可观测性docs/08-observability.md22 种 Hook、遥测、成本追踪
TUI 渲染docs/09-tui-system.mdInk 引擎、组件系统
状态管理docs/10-state-management.mdBootstrap State、不可变状态
命令系统docs/11-commands-system.mdSlash 命令、命令路由
Bridge 系统docs/12-bridge-system.md远程通信、WebSocket、SSE
服务层docs/13-services.mdAPI、MCP、Analytics 等服务

架构全景

┌─────────────────────────────────────────────────────────────┐
│ 入口层 Entry Layer │
│ CLI (main.tsx) │ SDK │ VSCode Extension │ Remote Session │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 核心引擎 Core Engine │
│ query.ts (Agent Loop) │ QueryEngine.ts │ State │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────┬───────┴───────┬─────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 上下文系统 │ │ 工具系统 │ │ 权限系统 │ │ 多智能体 │
│ Context │ │ Tool(43) │ │ Permission │ │ Multi-Agent│
└───────────┘ └────────────┘ └────────────┘ └────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 记忆系统 │ │ 可观测性 │ │ TUI 渲染 │ │ 状态管理 │
│ Memory │ │ Hooks(22) │ │ Ink/React │ │ AppState │
└───────────┘ └────────────┘ └────────────┘ └────────────┘

核心设计理念

  1. 流式优先:从 Agent Loop 到 Tool 执行,全部采用 async generator
  2. 安全默认:Tool Builder 的 fail-closed 设计、五层权限决策
  3. 不可变状态:DeepImmutable 类型约束 + 函数式更新
  4. 模块化编排:43 个工具通过统一接口和编排器协同工作
  5. 多智能体层次:从 Subagent 到 Swarm 的渐进式复杂度
  6. 可观测性内建:22 种 Hook + OpenTelemetry + Perfetto
  7. Feature Flag 驱动:编译时死代码消除 + 灰度发布

关键指标

指标数值
工具数量43+
Hook 类型22
权限模式6
Agent 类型5
核心文件20+
总代码行数50,000+

源码来源

  • src/ - Claude Code 源码副本
  • src.zip - 源码压缩包
  • analysis/ - 原始分析文档

如何使用

  1. 整体架构 开始了解目录结构
  2. 按顺序阅读各模块文档,或跳转到感兴趣的模块

参考

About

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块

Resources

Stars

84 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Claude Code 源码深度解读

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块。

项目简介

本项目是对 Claude Code(Anthropic 的终端 Agent 应用)的源码深度解读。通过系统性的源码分析,揭示其从 Agent Loop 到多智能体编排的完整架构设计。

Claude Code 是一个基于 TypeScript 的终端 Agent 应用,构建在 Bun 运行时之上,采用 React + Ink 渲染 TUI。其架构设计遵循分层解耦、流式驱动、不可变状态三大原则。

文档导航

核心模块解读

模块文档说明
整体架构src/README.md源码目录结构与模块概览
入口层docs/01-entry-layer.mdmain.tsx、多客户端入口、Feature Flag
核心引擎docs/02-core-engine.mdAgent Loop、QueryEngine、流式驱动
上下文系统docs/03-context-system.mdSystem/User Context、压缩策略
工具系统docs/04-tool-system.md43 个工具、编排器、读写分离
权限安全docs/05-permission-system.md五层决策引擎、6 种权限模式
多智能体docs/06-multi-agent.mdSubagent/Coordinator/Swarm/Team
记忆系统docs/07-memory-system.mdMEMORY.md、Agent 记忆、团队同步
可观测性docs/08-observability.md22 种 Hook、遥测、成本追踪
TUI 渲染docs/09-tui-system.mdInk 引擎、组件系统
状态管理docs/10-state-management.mdBootstrap State、不可变状态
命令系统docs/11-commands-system.mdSlash 命令、命令路由
Bridge 系统docs/12-bridge-system.md远程通信、WebSocket、SSE
服务层docs/13-services.mdAPI、MCP、Analytics 等服务

架构全景

┌─────────────────────────────────────────────────────────────┐
│ 入口层 Entry Layer │
│ CLI (main.tsx) │ SDK │ VSCode Extension │ Remote Session │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 核心引擎 Core Engine │
│ query.ts (Agent Loop) │ QueryEngine.ts │ State │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────┬───────┴───────┬─────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 上下文系统 │ │ 工具系统 │ │ 权限系统 │ │ 多智能体 │
│ Context │ │ Tool(43) │ │ Permission │ │ Multi-Agent│
└───────────┘ └────────────┘ └────────────┘ └────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 记忆系统 │ │ 可观测性 │ │ TUI 渲染 │ │ 状态管理 │
│ Memory │ │ Hooks(22) │ │ Ink/React │ │ AppState │
└───────────┘ └────────────┘ └────────────┘ └────────────┘

核心设计理念

  1. 流式优先:从 Agent Loop 到 Tool 执行,全部采用 async generator
  2. 安全默认:Tool Builder 的 fail-closed 设计、五层权限决策
  3. 不可变状态:DeepImmutable 类型约束 + 函数式更新
  4. 模块化编排:43 个工具通过统一接口和编排器协同工作
  5. 多智能体层次:从 Subagent 到 Swarm 的渐进式复杂度
  6. 可观测性内建:22 种 Hook + OpenTelemetry + Perfetto
  7. Feature Flag 驱动:编译时死代码消除 + 灰度发布

关键指标

指标数值
工具数量43+
Hook 类型22
权限模式6
Agent 类型5
核心文件20+
总代码行数50,000+

源码来源

  • src/ - Claude Code 源码副本
  • src.zip - 源码压缩包
  • analysis/ - 原始分析文档

如何使用

  1. 整体架构 开始了解目录结构
  2. 按顺序阅读各模块文档,或跳转到感兴趣的模块

参考

About

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块

Resources

Stars

84 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Claude Code 源码深度解读

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块。

项目简介

本项目是对 Claude Code(Anthropic 的终端 Agent 应用)的源码深度解读。通过系统性的源码分析,揭示其从 Agent Loop 到多智能体编排的完整架构设计。

Claude Code 是一个基于 TypeScript 的终端 Agent 应用,构建在 Bun 运行时之上,采用 React + Ink 渲染 TUI。其架构设计遵循分层解耦、流式驱动、不可变状态三大原则。

文档导航

核心模块解读

模块文档说明
整体架构src/README.md源码目录结构与模块概览
入口层docs/01-entry-layer.mdmain.tsx、多客户端入口、Feature Flag
核心引擎docs/02-core-engine.mdAgent Loop、QueryEngine、流式驱动
上下文系统docs/03-context-system.mdSystem/User Context、压缩策略
工具系统docs/04-tool-system.md43 个工具、编排器、读写分离
权限安全docs/05-permission-system.md五层决策引擎、6 种权限模式
多智能体docs/06-multi-agent.mdSubagent/Coordinator/Swarm/Team
记忆系统docs/07-memory-system.mdMEMORY.md、Agent 记忆、团队同步
可观测性docs/08-observability.md22 种 Hook、遥测、成本追踪
TUI 渲染docs/09-tui-system.mdInk 引擎、组件系统
状态管理docs/10-state-management.mdBootstrap State、不可变状态
命令系统docs/11-commands-system.mdSlash 命令、命令路由
Bridge 系统docs/12-bridge-system.md远程通信、WebSocket、SSE
服务层docs/13-services.mdAPI、MCP、Analytics 等服务

架构全景

┌─────────────────────────────────────────────────────────────┐
│ 入口层 Entry Layer │
│ CLI (main.tsx) │ SDK │ VSCode Extension │ Remote Session │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 核心引擎 Core Engine │
│ query.ts (Agent Loop) │ QueryEngine.ts │ State │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────┬───────┴───────┬─────────────┐
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 上下文系统 │ │ 工具系统 │ │ 权限系统 │ │ 多智能体 │
│ Context │ │ Tool(43) │ │ Permission │ │ Multi-Agent│
└───────────┘ └────────────┘ └────────────┘ └────────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌───────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 记忆系统 │ │ 可观测性 │ │ TUI 渲染 │ │ 状态管理 │
│ Memory │ │ Hooks(22) │ │ Ink/React │ │ AppState │
└───────────┘ └────────────┘ └────────────┘ └────────────┘

核心设计理念

  1. 流式优先:从 Agent Loop 到 Tool 执行,全部采用 async generator
  2. 安全默认:Tool Builder 的 fail-closed 设计、五层权限决策
  3. 不可变状态:DeepImmutable 类型约束 + 函数式更新
  4. 模块化编排:43 个工具通过统一接口和编排器协同工作
  5. 多智能体层次:从 Subagent 到 Swarm 的渐进式复杂度
  6. 可观测性内建:22 种 Hook + OpenTelemetry + Perfetto
  7. Feature Flag 驱动:编译时死代码消除 + 灰度发布

关键指标

指标数值
工具数量43+
Hook 类型22
权限模式6
Agent 类型5
核心文件20+
总代码行数50,000+

源码来源

  • src/ - Claude Code 源码副本
  • src.zip - 源码压缩包
  • analysis/ - 原始分析文档

如何使用

  1. 整体架构 开始了解目录结构
  2. 按顺序阅读各模块文档,或跳转到感兴趣的模块

参考

About

基于对 Claude Code 源码的系统性分析,从 11 个维度拆解其架构设计,涵盖 Agent Loop、Context 管理、Tool 调用、Memory、权限安全、多智能体协作、可观测性等核心模块

Resources

Stars

84 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages