乐于分享
好东西不私藏

Claude Code 源码泄露,逆向分析出ta的架构设计文档

Claude Code 源码泄露,逆向分析出ta的架构设计文档

Claude Code 架构设计文档

版本: v2.1.76 (Deobfuscated Source)来源:使用ClaudeCode解析ClaudeCode源码生成的文档更新日期: 2026-03-31

github源码仓库:https://github.com/instructkr/claude-code


目录

  1. 1. 系统概述[1]
  2. 2. 整体架构[2]
  3. 3. 核心模块详解[3]
  4. 4. 工具系统[4]
  5. 5. MCP 集成[5]
  6. 6. 状态管理[6]
  7. 7. 认证系统[7]
  8. 8. 会话管理[8]
  9. 9. 命令系统[9]
  10. 10. 插件系统[10]
  11. 11. 数据流分析[11]
  12. 12. 技术栈[12]
  13. 13. Claude Code 架构图解[13]

1. 系统概述

1.1 产品定位

Claude Code 是 Anthropic 官方的 AI 编程助手 CLI 工具,提供:

  • • 交互式对话: 基于 Terminal 的多轮对话界面
  • • 工具调用: 40+ 内置工具,支持文件操作、代码执行、网络请求等
  • • MCP 协议: 支持 Model Context Protocol 扩展
  • • 多平台认证: 支持 Claude.ai 订阅、API Key、AWS Bedrock、Azure Vertex AI
  • • 插件系统: 可扩展的技能和插件机制

1.2 架构设计原则

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

┌─────────────────────────────────────────────────────────────────┐│                      架构设计原则                                 │├─────────────────────────────────────────────────────────────────┤│                                                                 ││  1. 模块化设计     各功能模块独立,低耦合高内聚                    ││                                                                 ││  2. 插件化扩展     工具、命令、MCP 服务均可独立扩展                ││                                                                 ││  3. 流式处理       所有 I/O 采用流式设计,支持实时响应              ││                                                                 ││  4. 权限控制       细粒度权限系统,安全执行用户操作                 ││                                                                 ││  5. 特性开关       编译时特性门控,区分内外部版本                   ││                                                                 ││  6. 状态驱动       响应式状态管理,UI 自动更新                     ││                                                                 │└─────────────────────────────────────────────────────────────────┘


2. 整体架构

2.1 系统架构图

2.2 目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93

claudecode/├── src/│   ├── entrypoints/           # 入口点│   │   ├── cli.tsx           # CLI 主入口 (处理多种模式)│   │   ├── sdk/              # SDK 入口│   │   └── mcp.ts            # MCP 服务入口│   ││   ├── tools/                 # 工具系统 (40+ 工具)│   │   ├── BashTool.ts       # Shell 命令执行│   │   ├── FileEditTool.ts   # 文件编辑│   │   ├── FileReadTool.ts   # 文件读取│   │   ├── GlobTool.ts       # 文件模式匹配│   │   ├── GrepTool.ts       # 内容搜索│   │   ├── AgentTool.ts      # 子代理│   │   └── ...               # 其他工具│   ││   ├── commands/              # 命令系统 (88+ 命令)│   │   ├── commit/           # /commit 命令│   │   ├── review/           # /review 命令│   │   ├── compact/          # /compact 命令│   │   └── ...               # 其他命令│   ││   ├── services/              # 服务层│   │   ├── api/              # API 客户端│   │   │   └── claude.ts     # Claude API 封装│   │   ├── mcp/              # MCP 服务│   │   │   ├── client.ts     # MCP 客户端│   │   │   └── config.ts     # MCP 配置│   │   ├── analytics/        # 分析服务│   │   └── telemetry/        # 遥测服务│   ││   ├── state/                 # 状态管理│   │   └── AppStateStore.ts  # 应用状态存储│   ││   ├── components/            # React/Ink 组件│   │   ├── REPL.tsx          # 主 REPL 组件│   │   ├── VirtualMessageList.tsx│   │   └── ...               # 其他 UI 组件│   ││   ├── utils/                 # 工具函数│   │   ├── config.ts         # 配置管理│   │   ├── auth.ts           # 认证处理│   │   ├── permissions.ts    # 权限系统│   │   └── sessionStorage.ts # 会话存储│   ││   ├── context/               # 上下文管理│   │   └── systemPrompt.ts   # 系统提示词│   ││   ├── hooks/                 # 钩子系统│   │   └── hooks.ts          # Pre/Post 钩子│   ││   ├── bridge/                # IDE 集成│   │   └── remote-control/   # 远程控制│   ││   ├── plugins/               # 插件系统│   │   ├── manifest.ts       # 插件清单│   │   └── marketplace.ts    # 插件市场│   ││   ├── coordinator/           # 多代理协调│   ││   ├── vim/                   # Vim 模式│   ││   ├── voice/                 # 语音输入│   ││   ├── ink/                   # Ink 定制│   ││   ├── native-ts/             # 原生模块 TS 移植│   ││   ├── remote/                # 远程会话│   ││   ├── server/                # 直连服务器│   ││   ├── memdir/                # 自动记忆系统│   ││   ├── keybindings/           # 快捷键系统│   ││   ├── migrations/            # 版本迁移│   ││   ├── schemas/               # Zod 验证模式│   ││   ├── types/                 # 类型定义│   ││   ├── query.ts               # 查询核心│   ││   ├── QueryEngine.ts         # 查询引擎│   ││   ├── Tool.ts                # 工具接口定义│   ││   └── main.tsx               # 主应用 (808KB)│├── package.json├── tsconfig.json└── bunfig.toml

2.3 分层架构详解


3. 核心模块详解

3.1 入口系统 (Entrypoints)

入口点类型:

入口类型
文件
用途
CLI 入口
cli.tsx
主命令行入口,处理多种模式路由
SDK 入口
sdk/index.ts
编程式 API 入口
MCP 入口
mcp.ts
作为 MCP 服务器运行

CLI 入口模式处理流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

// cli.tsx 核心逻辑async function main() {  // 1. 快速路径:版本号输出(零导入)  if (args.includes('--version')) {    console.log(VERSION)    return  }  // 2. 特殊模式路由  if (args.includes('--dump-system-prompt')) {    // 输出渲染后的系统提示词    await dumpSystemPrompt()    return  }  // 3. MCP 服务器模式  if (args.includes('--claude-in-chrome-mcp')) {    await startChromeMCPServer()    return  }  // 4. 远程控制模式  if (args.includes('remote-control') || args.includes('rc')) {    await startBridgeMode()    return  }  // 5. 默认:加载完整 CLI  await import('./main.js')}

3.2 查询引擎 (QueryEngine)

QueryEngine 核心实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

export class QueryEngine {  private config: QueryEngineConfig  private mutableMessages: Message[]  private abortController: AbortController  private permissionDenials: SDKPermissionDenial[]  private totalUsage: NonNullableUsage  private readFileState: FileStateCache  async *submitMessage(prompt: string): AsyncGenerator<SDKMessage> {    // 1. 构建用户消息    const userMessage = await this.buildUserMessage(prompt)    this.mutableMessages.push(userMessage)    // 2. 获取系统提示词    const systemPrompt = await getSystemPrompt()    // 3. 规范化消息    const normalizedMessages = normalizeMessagesForAPI(      this.mutableMessages,      this.config    )    // 4. 调用 API    const stream = streamMessages({      messages: normalizedMessages,      system: systemPrompt,      tools: this.getEnabledTools(),      ...this.config    })    // 5. 处理流式响应    for await (const event of stream) {      yield* this.processStreamEvent(event)    }  }}

3.3 消息处理系统


4. 工具系统

4.1 工具接口定义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

export type Tool<Input, Output, P> = {  // 基础属性  name: string                    // 工具名称  aliases?: string[]              // 别名列表  searchHint?: string             // 搜索提示  // 模式定义  inputSchema: Input              // Zod 输入模式  inputJSONSchema?: JSONSchema    // JSON Schema  // 核心方法  call(): Promise<ToolResult<Output>>  // 执行工具  description(): Promise<string>        // 获取描述  // 状态检查  isEnabled(): boolean            // 是否启用  isReadOnly(): boolean           // 是否只读  isDestructive?(): boolean       // 是否破坏性  isConcurrencySafe(): boolean    // 是否并发安全  // 权限  checkPermissions(): Promise<PermissionResult>  // 验证  validateInput?(): Promise<ValidationResult>  // 渲染  renderToolUseMessage(): React.ReactNode  renderToolResultMessage(): React.ReactNode  // 可选扩展方法  queueConcurrencyKey?(): string | undefined  renderProgress?(): React.ReactNode  updateProgress?(): void  signal?(): AbortSignal  formatResult?(): string  shouldDeferToolUse?(): Promise<boolean>  performNetworkRequest?(): Promise<unknown>  updateEstimatedProgress?(): void  getUnsafeToolUseMessage?(): string  forcePromptCaching?(): boolean  // ... 更多可选方法}

4.2 工具分类

4.3 工具执行流程

4.4 BashTool 示例分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

// BashTool 核心实现export const BashTool = buildTool({  name: 'Bash',  inputSchema: z.object({    command: z.string().describe('The command to execute'),    timeout: z.number().optional(),    description: z.string().optional(),    dangerouslyDisableSandbox: z.boolean().optional(),    run_in_background: z.boolean().optional(),  }),  async call() {    const { command, timeout, run_in_background } = this.input    // 1. 沙箱检查    if (!this.input.dangerouslyDisableSandbox) {      const sandboxResult = await checkSandbox(command)      if (sandboxResult.blocked) {        return { error: sandboxResult.reason }      }    }    // 2. 执行命令    const result = await executeCommand(command, {      timeout: timeout ?? 120000,      signal: this.signal,      background: run_in_background,    })    // 3. 返回结果    return {      stdout: result.stdout,      stderr: result.stderr,      exitCode: result.exitCode,    }  },  isReadOnly() {    // 根据命令判断是否只读    return isReadOnlyCommand(this.input.command)  },  isDestructive() {    // 检查是否破坏性命令    return isDestructiveCommand(this.input.command)  },  checkPermissions() {    return checkBashPermission(this.input.command)  },})


5. MCP 集成

5.1 MCP 架构

5.2 MCP 服务器配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

// MCP 服务器配置类型type McpServerConfig = {  command: string           // 启动命令  args?: string[]          // 命令参数  env?: Record<string, string>  // 环境变量  cwd?: string             // 工作目录  transport?: 'stdio' | 'sse' | 'http' | 'ws'  url?: string             // 远程服务器 URL  headers?: Record<string, string>  // HTTP 头  disabled?: boolean}// 配置示例const mcpServers = {  'filesystem': {    command: 'mcp-server-filesystem',    args: ['--root', '/home/user/projects']  },  'github': {    transport: 'http',    url: 'https://mcp.github.com/api',    headers: {      'Authorization': 'Bearer ${GITHUB_TOKEN}'    }  }}

5.3 MCP 客户端状态机

5.4 MCP 工具包装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

// MCP 工具包装器export class MCPTool {  constructor(    private serverName: string,    private tool: MCPToolDefinition  ) {}  async call(input: unknown): Promise<ToolResult> {    // 1. 获取 MCP 客户端    const client = await this.getMCPClient()    // 2. 调用 MCP 工具    const result = await client.callTool({      name: this.tool.name,      arguments: input    })    // 3. 处理结果    return {      content: result.content,      isError: result.isError    }  }  checkPermissions() {    // MCP 工具权限检查    return checkMCPPermission(this.serverName, this.tool.name)  }}


6. 状态管理

6.1 状态架构

6.2 状态类型定义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

export type AppState = DeepImmutable<{  // 设置  settings: SettingsJson  // 任务管理  tasks: {    [taskId: string]: TaskState  }  // MCP  mcp: {    clients: Map<string, MCPClientState>    tools: Map<string, MCPToolDefinition>    commands: Map<string, MCPCommandDefinition>    resources: Map<string, MCPResourceDefinition>  }  // 插件  plugins: {    enabled: Set<string>    disabled: Set<string>    commands: Map<string, PluginCommand>    errors: Map<string, string>  }  // 会话  session: {    id: string    messages: Message[]    usage: Usage    status: SessionStatus  }  // UI  ui: {    mode: 'normal' | 'vim' | 'voice'    theme: ThemeName    showHelp: boolean    scrollPosition: number  }  // 工具  tools: {    enabled: Set<string>    permissions: Map<string, PermissionState>  }  // 缓存  cache: {    fileContents: Map<string, string>    fileHashes: Map<string, string>    embeddings: Map<string, number[]>  }  // ... 100+ 状态字段}>

6.3 状态更新模式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

// Zustand-like 状态更新const useAppState = create<AppState>((set, get) => ({  // 状态  settings: defaultSettings,  tasks: {},  // ...  // 更新方法  updateSettings: (partial: Partial<SettingsJson>) => {    set(state => ({      settings: { ...state.settings, ...partial }    }))  },  createTask: (task: Task) => {    set(state => ({      tasks: { ...state.tasks, [task.id]: task }    }))  },  updateTask: (taskId: string, update: Partial<TaskState>) => {    set(state => ({      tasks: {        ...state.tasks,        [taskId]: { ...state.tasks[taskId], ...update }      }    }))  },  // 选择器  getEnabledTools: () => {    const state = get()    return Array.from(state.tools.enabled)  },}))


7. 认证系统

7.1 认证流程

7.2 认证源优先级

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

type AuthTokenSource =  | 'ANTHROPIC_API_KEY'           // 1. 直接 API Key  | 'ANTHROPIC_AUTH_TOKEN'        // 2. Auth Token  | 'CLAUDE_CODE_OAUTH_TOKEN'     // 3. OAuth Token  | 'CLAUDE_CODE_OAUTH_TOKEN_FILE_DESCRIPTOR'  // 4. 文件描述符  | 'CCR_OAUTH_TOKEN_FILE'        // 5. CCR Token 文件  | 'apiKeyHelper'                // 6. 自定义密钥助手  | 'keychain'                    // 7. 系统钥匙串  | 'none'                        // 8. 无认证// 认证检查顺序async function getAuthToken(): Promise<AuthToken> {  // 1. 检查环境变量  if (process.env.ANTHROPIC_API_KEY) {    return { source: 'ANTHROPIC_API_KEY', token: process.env.ANTHROPIC_API_KEY }  }  // 2. 检查 OAuth Token  if (process.env.CLAUDE_CODE_OAUTH_TOKEN) {    return { source: 'CLAUDE_CODE_OAUTH_TOKEN', token: process.env.CLAUDE_CODE_OAUTH_TOKEN }  }  // 3. 调用 apiKeyHelper  const helperToken = await callApiKeyHelper()  if (helperToken) {    return { source: 'apiKeyHelper', token: helperToken }  }  // 4. 从钥匙串读取  const storedToken = await getFromKeychain()  if (storedToken) {    return { source: 'keychain', token: storedToken }  }  // 5. 发起 OAuth 流程  return await performOAuthFlow()}

7.3 多后端支持


8. 会话管理

8.1 会话生命周期

8.2 会话存储结构

1
2
3
4
5
6
7
8
9
10
11
12

~/.claude/projects/<project-hash>/├── sessions/│   ├── session-20260331-001.jsonl    # 会话记录│   ├── session-20260331-002.jsonl│   └── ...├── pastes/│   ├── paste-abc123.txt              # 粘贴内容存储│   └── ...├── memory/│   ├── MEMORY.md                     # 项目记忆│   └── ...└── settings.json                     # 项目设置

8.3 会话存储格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

// JSONL 会话记录格式type SessionRecord = {  timestamp: string  type: 'message' | 'tool_use' | 'tool_result' | 'system'  data: {    role: 'user' | 'assistant'    content: ContentBlock[]    usage?: Usage    toolCalls?: ToolCall[]    toolResults?: ToolResult[]  }}// 示例记录{"timestamp":"2026-03-31T10:00:00Z","type":"message","data":{"role":"user","content":[{"type":"text","text":"帮我分析代码"}]}}{"timestamp":"2026-03-31T10:00:05Z","type":"message","data":{"role":"assistant","content":[{"type":"text","text":"我来帮你分析..."}],"usage":{"input_tokens":100,"output_tokens":50}}}{"timestamp":"2026-03-31T10:00:10Z","type":"tool_use","data":{"name":"FileReadTool","input":{"file_path":"src/main.ts"}}}{"timestamp":"2026-03-31T10:00:12Z","type":"tool_result","data":{"content":"文件内容..."}}

8.4 上下文压缩策略


9. 命令系统

9.1 命令类型

9.2 命令定义结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40

type Command =  | {      type: 'prompt'      getPromptForCommand(): Promise<string>    }  | {      type: 'local'      handler(): Promise<LocalCommandResult>    }  | {      type: 'jsx'      component: React.FC    }// 命令注册示例const commands: Record<string, Command> = {  '/commit': {    type: 'prompt',    async getPromptForCommand() {      // 获取 git diff      const diff = await getGitDiff()      return `请根据以下变更生成提交信息:\n${diff}`    }  },  '/help': {    type: 'local',    async handler() {      return {        output: generateHelpText(),        exitCode: 0      }    }  },  '/stats': {    type: 'jsx',    component: StatsPanel  }}

9.3 命令执行流程


10. 插件系统

10.1 插件架构

10.2 插件清单

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

type PluginManifest = {  name: string  version: string  description: string  author: string  // 入口点  main?: string          // 主入口文件  skills?: string[]      // 技能文件  tools?: string[]       // 工具文件  commands?: string[]    // 命令文件  // 依赖  dependencies?: string[]  peerDependencies?: string[]  // 权限  permissions?: {    fileSystem?: boolean    network?: boolean    shell?: boolean  }  // 配置  config?: {    [key: string]: ConfigSchema  }}// 插件示例const examplePlugin: PluginManifest = {  name: 'claude-code-git',  version: '1.0.0',  description: 'Git integration plugin',  author: 'anthropic',  skills: ['./skills/commit.md', './skills/review.md'],  tools: ['./tools/gitTool.ts'],  commands: ['./commands/branch.ts'],  permissions: {    fileSystem: true,    shell: true  }}

10.3 插件生命周期


11. 数据流分析

11.1 完整请求流程

11.2 Token 预算管理

11.3 权限检查流程


12. 技术栈

12.1 核心技术

层级
技术
版本
用途
运行时
Node.js
18+
JavaScript 运行环境
打包器
Bun
–
编译打包,特性门控
语言
TypeScript
5.7
类型安全开发
UI 框架
React
18
组件化 UI
终端 UI
Ink
5
React 终端渲染
API 客户端
@anthropic-ai/sdk
–
Claude API
MCP SDK
@modelcontextprotocol/sdk
–
MCP 协议
验证
Zod
v4
Schema 验证
状态管理
Zustand-like
–
响应式状态

12.2 依赖关系图

12.3 特性门控系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

// 特性标志定义type FeatureFlag =  | 'PROACTIVE'        // 主动代理能力  | 'KAIROS'          // 时机感知  | 'AGENT_TRIGGERS'  // 调度/远程代理  | 'MONITOR_TOOL'    // 实时监控  | 'DAEMON'          // 后台守护进程  | 'BRIDGE_MODE'     // 远程控制模式  | 'BG_SESSIONS'     // 后台会话// 编译时特性检查import { feature } from 'bun:bundle'// 示例:条件编译if (feature('PROACTIVE')) {  // 仅在内部版本包含  const proactive = require('./commands/proactive.js')  commands.set('/proactive', proactive)}// 示例:功能差异const toolRegistry = {  ...publicTools,  ...(feature('PROACTIVE') ? proactiveTools : {}),  ...(feature('MONITOR_TOOL') ? monitorTools : {}),}


12. Claude Code 架构图解

本文档包含 Claude Code 架构的 可视化图表


12.1 系统全景图


12.2 工具系统架构


12.3 数据流图


12.4 状态管理架构


12.5 认证流程图


图表生成日期: 2026-03-31基于 Claude Code v2.1.76 源码分析


附录

A. 关键文件大小参考

文件
大小
复杂度
说明
main.tsx
808KB
极高
主 REPL 应用
sessionStorage.ts
185KB
高
会话持久化
print.ts
218KB
高
输出格式化
messages.ts
198KB
高
消息处理
claude.ts
129KB
高
API 客户端
client.ts

 (MCP)
122KB
高
MCP 客户端
hooks.ts
164KB
高
钩子系统
attachments.ts
131KB
高
文件附件

B. 工具完整列表

工具名称
类型
只读
破坏性
说明
Bash
执行
✗
✓
Shell 命令执行
FileEdit
文件
✗
✓
文件编辑
FileRead
文件
✓
✗
文件读取
FileWrite
文件
✗
✓
文件写入
Glob
文件
✓
✗
文件模式匹配
Grep
文件
✓
✗
内容搜索
WebFetch
网络
✓
✗
URL 获取
WebSearch
网络
✓
✗
网络搜索
Agent
执行
✗
✗
子代理
Skill
执行
✗
✗
技能执行
TaskCreate
任务
✗
✗
创建任务
TaskGet
任务
✓
✗
获取任务
TaskList
任务
✓
✗
列出任务
TaskUpdate
任务
✗
✗
更新任务
TaskStop
任务
✗
✗
停止任务
ScheduleCron
调度
✗
✗
定时任务
CronList
调度
✓
✗
任务列表
CronDelete
调度
✗
✓
删除任务
LSP
语言
✓
✗
语言服务器
NotebookEdit
文件
✗
✓
Jupyter 编辑
EnterWorktree
Git
✗
✗
进入工作树
ExitWorktree
Git
✗
✗
退出工作树
AskUserQuestion
交互
✓
✗
用户提问

C. 命令完整列表

命令
类型
说明
/commit
prompt
生成提交信息
/review
prompt
代码审查
/compact
prompt
压缩对话
/help
local
帮助信息
/clear
local
清屏
/exit
local
退出应用
/stats
jsx
统计面板
/config
jsx
配置界面
/model
jsx
模型选择
/permissions
jsx
权限管理
/mcp
jsx
MCP 管理
/plugins
jsx
插件管理
/sessions
jsx
会话管理
/tasks
jsx
任务管理
/vim
local
Vim 模式切换
/voice
local
语音模式切换
/theme
local
主题切换

文档生成日期: 2026-03-31基于 Claude Code v2.1.76 反混淆源码分析

引用链接

[1] 系统概述: #1-系统概述[2] 整体架构: #2-整体架构[3] 核心模块详解: #3-核心模块详解[4] 工具系统: #4-工具系统[5] MCP 集成: #5-mcp-集成[6] 状态管理: #6-状态管理[7] 认证系统: #7-认证系统[8] 会话管理: #8-会话管理[9] 命令系统: #9-命令系统[10] 插件系统: #10-插件系统[11] 数据流分析: #11-数据流分析[12] 技术栈: #12-技术栈[13] Claude Code 架构图解: #13-ClaudeCode架构图解