乐于分享
好东西不私藏

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架构图解