乐于分享
好东西不私藏

Claude Code泄漏源码的核心架构与流程解析mermaid图

Claude Code泄漏源码的核心架构与流程解析mermaid图

💡 颜色标记

  • 🟢 绿色 (#51cf66) – 成功/完成/正确做法

  • 🟡 黄色 (#ffd43b) – 重点/关键步骤

  • 🔵 蓝色 (#339af0) – 核心组件

  • 🔴 红色 (#ff6b6b) – 失败/错误/问题


分模块详细流程图

1. 核心工作引擎循环流程

2. 提示词五层装配系统

graph TB

    subgraph 提示词动态装配

        L1[Layer 1: 基础身份<br>面向软件工程的Agent]

        L2[Layer 2: 运行时环境注入<br>Git状态/CLAUDE.md/日期/语言偏好]

        L3[Layer 3: 用户附加规则<br>回复用中文/先给方案/目录限制]

        L4[Layer 4: 角色与模式附加<br>Teammate模式/协作约束]

        L5[Layer 5: 工具与后台提示词<br>工具使用说明/后台流程]

    end

    L1 --> L2

    L2 --> L3

    L3 --> L4

    L4 --> L5

    L5 --> Final[最终完整提示词]

    style L2 fill:#ffd43b

    style Final fill:#51cf66

3. 上下文压缩完整流程

graph TD

    A[对话进行中] --> B{检测上下文}

    B -->|currentTokens + 20000 > limit| C[触发压缩]

    B -->|未达阈值| A

    C --> D[开启独立新对话]

    D --> E[发送压缩专用Prompt]

    E --> F[模型生成analysis草稿]

    F --> G[模型生成summary摘要]

    G --> H{压缩成功?}

    H -->|成功| I[提取summary内容]

    H -->|失败| J{连续失败次数}

    J -->|< 3次| E

    J -->|>= 3次| K[电路熔断<br>停止重试]

    I --> L[替换主对话旧消息]

    L --> M[关闭压缩对话]

    M --> N[回到主流程]

    style D fill:#ffd43b

    style K fill:#ff6b6b

    style N fill:#51cf66

4. 工具系统架构图

graph TB

    subgraph Claude Code Core

        Engine[核心引擎]

        subgraph 内置工具

            File[📁 文件工具<br>Read/Edit/Write/Glob/Grep]

            Env[🖥️ 环境工具<br>Bash/WebSearch/WebFetch]

            Session[💬 会话工具<br>AskUser/Plan/Todo]

            Collab[🤝 协作工具<br>Agent/Task/MCP/Skill]

        end

        MCP[MCP Client<br>统一接口]

    end

    Engine --> File

    Engine --> Env

    Engine --> Session

    Engine --> Collab

    Engine --> MCP

    MCP --> Server1[MCP Server A<br>stdio]

    MCP --> Server2[MCP Server B<br>http/sse]

    MCP --> Server3[MCP Server C<br>WebSocket]

    style Engine fill:#339af0

    style MCP fill:#ffd43b

5. Skill 执行流程

graph TD

    A[启动时扫描] --> B[读取SKILL.md文件]

    B --> C[解析为command对象]

    C --> D[加载到系统]

    D --> E[用户发起任务]

    E --> F[模型看到Skill简介列表]

    F --> G{判断需要Skill?}

    G -->|不需要| H[直接执行]

    G -->|需要| I[调用SkillTool]

    I --> J[找到对应Skill]

    J --> K[检查可执行性]

    K --> L{决定执行模式}

    L -->|简单任务| M[inline模式<br>当前上下文直接执行]

    L -->|复杂任务| N[fork模式<br>开子Agent独立上下文]

    M --> O[返回结果给主流程]

    N --> O

    style M fill:#51cf66

    style N fill:#ffd43b

6. MCP 集成流程

7. 双重熔断机制对比

graph LR

    subgraph 只用轮次限制

        A1[开始] --> A2{turns < maxTurns?}

        A2 -->|是| A3[继续执行]

        A2 -->|否| A4[停止]

        A3 --> A5[❌ 每轮大量token<br>成本失控]

    end

    subgraph 只用预算限制

        B1[开始] --> B2{cost < maxBudget?}

        B2 -->|是| B3[继续执行]

        B2 -->|否| B4[停止]

        B3 --> B5[❌ 死循环小额消费<br>永不收敛]

    end

    subgraph 双重熔断

        C1[开始] --> C2{turns < maxTurns<br>AND<br>cost < maxBudget?}

        C2 -->|是| C3[继续执行]

        C2 -->|否| C4[停止]

        C3 --> C5[✅ 既防死循环<br>又防超支]

    end

    style A5 fill:#ff6b6b

    style B5 fill:#ff6b6b

    style C5 fill:#51cf66