外观
视觉参考图集
所有图表汇总于此。Claude Code 核心概念的快速视觉概览。详细文档 → 《Claude Code:从入门到大师》 | 「速查表」
交互式 Mermaid 图表:包含 40 张交互式图表,涵盖模型选择、智能体生命周期、记忆层级、多智能体模式、安全威胁等更多内容——请参见 guide/diagrams/。本文件包含核心概念的 ASCII 版本。
共 20 张图表:8 张新增(本文件)+ 12 张来自现有指南,全部汇总于此。
目录
新增图表:
- 上下文管理区域
- 权限模式循环
- 工作流流水线(9 步)
- 快速决策树
**架构与内部机制:**5. 主循环6. Hooks(钩子)事件流7. 数据隐私流
**安全:**8. MCP 地毯式攻击9. Docker 沙盒架构
**决策树:**10. 搜索工具选择11. 信任校准流程12. 采用策略决策树13. 方法论选择
**工作流:**14. 研究 → 规范 → 代码15. 审查自动纠正循环16. PDF 流水线技术栈
**开发与学习:**17. TDD(测试驱动开发)红-绿-重构循环18. UVAL 协议流程
**安全(扩展):**19. 安全三层防御20. 密钥泄露时间线
1. 上下文管理区域
根据上下文窗口使用情况(使用 /status 查看)做出响应:
Plain
上下文使用率
0% 50% 70% 90% 100%
├───────────┼───────────┼───────────┼──────────┤
│ 绿色 │ 黄色 │ 橙色 │ 红色 │
│ 自由 │ 谨慎 │ 立即 │ 必须 │
│ 工作 │ 操作 │ /compact │ /clear │
└───────────┴───────────┴───────────┴──────────┘
▲ ▲
│ │
谨慎选择读取 风险:遗忘指令、
和工具使用 产生幻觉各区域操作:
- 绿色(0-50%) — 全速运行。读取文件,自由探索。
- 黄色(50-70%) — 谨慎操作。避免不必要的文件读取。
- 橙色(70-90%) — 立即运行
/compact。上下文正在退化。 - 红色(90%+) — 运行
/clear并重启。响应不可靠。
→ 来源:「ultimate-guide.md:1335」
2. 权限模式循环
使用 Shift+Tab 循环切换模式:
Plain
Shift+Tab Shift+Tab
┌──────────┐ ────────────→ ┌───────────────┐ ────────────→ ┌───────────┐
│ 默认 │ │ 自动接受 │ │ 计划模式 │
│ │ │ │ │ │
│ 编辑=询问│ │ 编辑=自动 │ │ 编辑=禁止 │
│ 执行=询问│ │ 执行=询问 │ │ 执行=禁止 │
└──────────┘ ←──────────── └───────────────┘ ←──────────── └───────────┘
Shift+Tab Shift+Tab各模式的使用时机:
| 模式 | 使用时机... | 风险级别 |
|---|---|---|
| 默认 | 正常开发——审查每次变更 | 低 |
| 自动接受 | 受信任任务(格式化、重构) | 中 |
| 计划模式 | 复杂/风险操作——先安全探索 | 无 |
快捷键:
Shift+Tab— 切换到下一个模式Shift+Tab × 2— 从默认直接跳至计划模式/plan— 直接进入计划模式/execute— 退出计划模式
→ 来源:「ultimate-guide.md:760」
3. 工作流流水线(9 步)
每项任务的推荐工作流:
Plain
┌─────────┐ ┌──────────┐ ┌────────────┐ ┌─────────────┐
│ 1.启动 │───→│2./status │───→│ 3. 计划? │───→│ 4. 描述 │
│ claude │ │ 检查上下 │ │ Shift+Tab×2│ │ 做什么/在哪 │
└─────────┘ │ 文使用率 │ │(如有风险)│ │ 怎么做/验证 │
└──────────┘ └────────────┘ └──────┬──────┘
│
┌───────────────────────────────────────────────────┘
│
▼
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ 5.审查 │───→│ 6. 是/否 │───→│ 7. 运行 │───→│ 8.完成 │───→│9./compact│
│ 差异对比│ │ 接受? │ │ 测试 │ │ 时提交 │ │ >70%时 │
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘关键原则:
- 步骤 2:开始前始终检查上下文。如果 >70%,先运行
/compact。 - 步骤 3:对任何有风险、复杂或涉及多文件的操作使用计划模式。
- 步骤 4:要具体——模糊的提示词产生模糊的结果。
- 步骤 5:阅读每一个差异对比。绝不盲目接受。
- 步骤 9:每项任务后压缩,保持在绿色区域。
→ 来源:「ultimate-guide.md:277」
4. 快速决策树
根据你的情况该怎么做:
Plain
你需要什么?
│
├─ 简单任务 ─────────────────→ 直接问 Claude
│
├─ 复杂任务
│ ├─ 单次会话 ───────────────→ /plan + Tasks API(任务 API)
│ └─ 多次会话 ───────────────→ Tasks API + CLAUDE_CODE_TASK_LIST_ID
│
├─ 重复任务 ─────────────────→ 创建智能体或命令
│
├─ 上下文 >70% ──────────────→ /compact
│
├─ 上下文 >90% ──────────────→ /clear(重启对话)
│
├─ 需要库文档 ───────────────→ Context7 MCP
│
├─ 深度调试 ─────────────────→ Opus 模型 + Alt+T(思考)
│
├─ 从设计稿生成 UI ───────────→ Figma MCP 或截图输入
│
└─ 团队推广 ─────────────────→ 阅读 adoption-approaches.md→ 来源:reference.yaml(决策部分)
5. 主循环
整个架构就是一个简单的 while 循环——没有 DAG、没有分类器、没有 RAG(检索增强生成)。
Plain
┌─────────────────────────────────────────────────────────────┐
│ CLAUDE CODE 主循环 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ │
│ │ 你的提示词 │ │
│ └──────┬───────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ │ │
│ │ CLAUDE 推理 │ │
│ │ (无分类器,无路由层) │ │
│ │ │ │
│ └────────────────────┬─────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────┐ │
│ │ 工具调用? │ │
│ └───────┬────────┘ │
│ │ │
│ 是 │ 否 │
│ ┌─────────────────┴─────────────────┐ │
│ │ │ │
│ ▼ ▼ │
│ ┌────────────┐ ┌────────────┐ │
│ │ 执行 │ │ 文本 │ │
│ │ 工具 │ │ 响应 │ │
│ │ │ │ (完成) │ │
│ └─────┬──────┘ └────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────┐ │
│ │ 将结果返回 │ │
│ │ 给 Claude │──────────────────┐ │
│ └─────────────┘ │ │
│ │ │
│ ▼ │
│ ┌────────────────┐ │
│ │ 循环回到 │ │
│ │ (下一轮) │ │
│ └────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘→ 来源:「architecture.md:84」
6. Hooks(钩子)事件流
Hooks(钩子)如何拦截 Claude Code 的执行流水线:
Plain
┌─────────────────────────────────────────────────────────┐
│ 事件流 │
├─────────────────────────────────────────────────────────┤
│ │
│ 用户输入消息 │
│ │ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ UserPromptSubmit │ ← 添加上下文(git status) │
│ │ (用户提交钩子) │ │
│ └────────────────────┘ │
│ │ │
│ ▼ │
│ Claude 决定运行工具(例如 Edit) │
│ │ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ PreToolUse │ ← 安全检查 │
│ │ (工具前钩子) │ │
│ └────────────────────┘ │
│ │ │
│ ▼ (如果允许) │
│ 工具执行 │
│ │ │
│ ▼ │
│ ┌────────────────────┐ │
│ │ PostToolUse │ ← 自动格式化 │
│ │ (工具后钩子) │ │
│ └────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘→ 来源:「ultimate-guide.md:6327」
7. 数据隐私流
使用 Claude Code 时哪些数据会离开你的机器:
Plain
┌─────────────────────────────────────────────────────────────┐
│ 你的本地机器 │
├─────────────────────────────────────────────────────────────┤
│ • 你输入的提示词 │
│ • Claude 读取的文件(包括 .env,除非已排除!) │
│ • MCP 服务器结果(SQL 查询、API 响应) │
│ • Bash 命令输出 │
│ • 错误消息和堆栈跟踪 │
└───────────────────────┬─────────────────────────────────────┘
│
▼ HTTPS
┌─────────────────────────────────────────────────────────────┐
│ ANTHROPIC API │
├─────────────────────────────────────────────────────────────┤
│ • 处理你的请求 │
│ • 根据保留策略存储对话 │
│ • 如果未退出,可能将数据用于模型训练 │
└─────────────────────────────────────────────────────────────┘→ 来源:「data-privacy.md:24」
8. MCP 地毯式攻击
恶意 MCP(模型上下文协议)服务器如何利用一次性审批模型发动攻击:
Plain
┌─────────────────────────────────────────────────────────────┐
│ 1. 攻击者发布无害的 MCP "代码格式化工具" │
│ ↓ │
│ 2. 用户添加到 ~/.claude.json,一次性批准 │
│ ↓ │
│ 3. MCP 正常工作 2 周(建立信任) │
│ ↓ │
│ 4. 攻击者推送恶意更新(无需重新审批!) │
│ ↓ │
│ 5. MCP 泄露 ~/.ssh/*、.env、凭证 │
└─────────────────────────────────────────────────────────────┘
缓解措施:版本固定 + 哈希验证 + 监控→ 来源:「security-hardening.md:33」
9. Docker 沙盒架构
自主 Claude Code 会话的完全隔离:
Plain
┌──────────────────────────────────────────────────────────┐
│ 宿主机器 │
│ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ DOCKER 沙盒(microVM) │ │
│ │ │ │
│ │ ┌──────────────┐ ┌───────────────────────────┐ │ │
│ │ │ Claude Code │ │ 私有 Docker daemon │ │ │
│ │ │(--dsp 模式)│ │(与宿主隔离) │ │ │
│ │ └──────────────┘ └───────────────────────────┘ │ │
│ │ │ │
│ │ ┌──────────────────────────────────────────────┐ │ │
│ │ │ 工作区:~/my-project(与宿主同步) │ │ │
│ │ │ 与宿主相同的绝对路径 │ │ │
│ │ └──────────────────────────────────────────────┘ │ │
│ │ │ │
│ │ 基础环境:Ubuntu、Node.js、Python 3、Go、Git、 │ │
│ │ Docker CLI、GitHub CLI、ripgrep、jq │ │
│ │ 用户:拥有 sudo 权限的非 root 用户 'agent' │ │
│ └────────────────────────────────────────────────────┘ │
│ │
│ 宿主 Docker daemon:沙盒内无法访问 │
│ 宿主文件系统:无法访问(工作区除外) │
└──────────────────────────────────────────────────────────┘→ 来源:「sandbox-isolation.md:87」
10. 搜索工具选择
选择合适搜索工具的三级决策树:
第一级:你知道什么?
Plain
你知道确切的文本/模式吗?
│
├─ 是 → 使用 rg(ripgrep)
│ ├─ 已知函数名:rg "createSession"
│ ├─ 已知导入:rg "import.*React"
│ └─ 已知模式:rg "async function"
│
└─ 否 → 进入第二级第二级:你在找什么?
Plain
你的搜索意图是什么?
│
├─ "按含义/概念查找"
│ → 使用 grepai
│ └─ 示例:grepai search "payment validation logic"
│
├─ "查找函数/类定义"
│ → 使用 Serena
│ └─ 示例:serena find_symbol --name "UserController"
│
├─ "按代码结构查找"
│ → 使用 ast-grep
│ └─ 示例:无错误处理的 async
│
└─ "了解依赖关系"
→ 使用 grepai trace
└─ 示例:grepai trace callers "validatePayment"第三级:优化
Plain
结果太多?
│
├─ rg → 添加 --type 过滤器或缩小路径范围
├─ grepai → 添加 --path 过滤器或使用 trace
├─ Serena → 按符号类型过滤(function/class)
└─ ast-grep → 为模式添加约束→ 来源:「search-tools-mastery.md:75」
11. 信任校准流程
根据风险级别决定对 AI 生成代码的审查程度:
Plain
┌─────────────────────────────────────────────────────────┐
│ 信任校准流程 │
├─────────────────────────────────────────────────────────┤
│ │
│ AI 生成代码 │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ 什么类型? │ │
│ └──────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ 样板 业务 安全 │
│ 代码 逻辑 关键 │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ 粗读 测试 全面审查 │
│ 即可 +审查 + 工具 │
│ │ │ │ │
│ └────┴────┘ │
│ │ │
│ ▼ │
│ 测试通过?──否──► 调试并修复 │
│ │ │
│ 是 │
│ │ │
│ ▼ │
│ 发布 │
│ │
└─────────────────────────────────────────────────────────┘→ 来源:「ultimate-guide.md:1182」
12. 采用策略决策树
如何选择你的 Claude Code 采用策略:
Plain
刚开始使用 Claude Code?
│
├─ 今天需要交付?
│ └─ 是 → 即开即用快速入门
│ └─ 否 ↓
│
├─ 团队需要共同规范?
│ └─ 是 → 即开即用 + 记录对你重要的内容
│ └─ 否 ↓
│
├─ 想在配置前先了解?
│ └─ 是 → 自主学习路径
│ └─ 否 → 即开即用,随时调整→ 来源:「adoption-approaches.md:51」
13. 方法论选择
该使用哪种开发方法论:
Plain
┌─ "我想要高质量代码" ────────────→ workflows/tdd-with-claude.md
│
├─ "我想在编码前先写规范" ─────────→ workflows/spec-first.md
│
├─ "我需要规划架构" ──────────────→ workflows/plan-driven.md
│
├─ "我在迭代某个功能" ─────────────→ workflows/iterative-refinement.md
│
└─ "我需要方法论理论" ─────────────→ methodologies.md→ 来源:「methodologies.md:24」
14. 研究 → 规范 → 代码
使用 Perplexity 进行研究,然后使用 Claude Code 实现:
Plain
┌─────────────────────────────────────────────────────────┐
│ 1. PERPLEXITY(深度研究) │
│ "研究 Next.js 15 中 JWT 刷新 Token(词元)的最佳 │
│ 实践,包括安全注意事项、常见陷阱和库推荐。" │
│ │
│ → 输出:附带来源的 2000 字规范 │
└───────────────────────────┬─────────────────────────────┘
↓ 导出为 spec.md
┌─────────────────────────────────────────────────────────┐
│ 2. CLAUDE CODE │
│ > claude │
│ "按照 spec.md 实现 JWT 刷新 Token(词元)。 │
│ 使用推荐的 jose 库。" │
│ │
│ → 输出:带测试的可运行实现 │
└─────────────────────────────────────────────────────────┘→ 来源:「ai-ecosystem.md:155」
15. 审查自动纠正循环
Claude 审查、修复、再审查的迭代代码审查模式:
Plain
┌─────────────────────────────────────────┐
│ 审查自动纠正循环 │
│ │
│ 审查(发现问题) │
│ ↓ │
│ 修复(应用纠正) │
│ ↓ │
│ 再审查(验证修复) │
│ ↓ │
│ 收敛(最小变更)→ 完成 │
│ ↑ │
│ └──── 重复(最大迭代次数) │
└─────────────────────────────────────────┘→ 来源:「iterative-refinement.md:354」
16. PDF 流水线技术栈
使用 Quarto + Typst 技术栈生成专业 PDF:
Plain
┌─────────────────────────────────────────────────┐
│ 你的 .qmd 文件 │
│ (Markdown + YAML 前置元数据) │
└─────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ Quarto │
│ (文档渲染引擎) │
│ • 处理 YAML 元数据 │
│ • 处理扩展 │
│ • 管理输出格式 │
└─────────────────────────────────────────────────┘
│
┌─────────────┴─────────────┐
▼ ▼
┌─────────────────────┐ ┌─────────────────────┐
│ Pandoc │ │ Typst │
│ (MD → AST → ?) │ │ (排版/PDF) │
│ • Markdown 解析器 │ │ • 现代引擎 │
│ • AST 转换 │ │ • 快速编译 │
│ • 格式桥接 │ │ • 无需 LaTeX │
└─────────────────────┘ └─────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ document.pdf │
│ (专业排版输出) │
└─────────────────────────────────────────────────┘→ 来源:「pdf-generation.md:58」
17. TDD(测试驱动开发)红-绿-重构循环
测试驱动开发核心的迭代循环:
Plain
┌──────────────────────────┐
│ │
▼ │
┌──────────────┐ │
│ 🔴 红色 │ │
│ │ │
│ 编写一个 │ │
│ 失败的 │ │
│ 测试 │ │
└──────┬───────┘ │
│ │
│ 测试失败 │
│ (预期) │
▼ │
┌──────────────┐ │
│ 🟢 绿色 │ │
│ │ │
│ 编写最少 │ │
│ 量代码以 │ │
│ 通过测试 │ │
│ │ │
└──────┬───────┘ │
│ │
│ 测试通过 │
│ (最简实现) │
▼ │
┌──────────────┐ │
│ 🔵 重构 │ │
│ │ │
│ 在测试保持 │ │
│ 绿色的情况 │ │
│ 下优化代码 │ │
└──────┬───────┘ │
│ │
│ 下一个功能 │
└───────────────────────────┘
关键规则:
红色 → 编写实现之前测试必须失败
绿色 → 只编写足够通过测试的代码(不多)
重构 → 改善结构,测试必须保持绿色
重复 → 一次一个功能,始终按此顺序来源:「workflows/tdd-with-claude.md:78」
18. UVAL 协议流程
使用 AI 学习而不失去自身优势的系统性框架:
Plain
┌────────────────────────────────────────────────────────────┐
│ UVAL 协议 │
│ (使用 AI 而不失去自身优势) │
└────────────────────────────────────────────────────────────┘
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
│ U │ │ V │ │ A │ │ L │
│ 理解 │────→│ 验证 │────→│ 应用 │────→│ 学习 │
│ │ │ │ │ │ │ │
│ 15 分钟 │ │ 你能讲 │ │ 自己修改 │ │ 捕获见解 │
│ 法则: │ │ 回来吗? │ │ 代码 │ │ 用于长期 │
│ │ │ │ │ │ │ │
│ 1.陈述 │ │ 测试: │ │ 任务: │ │ 方法: │
│ 问题 │ │ 不看代码 │ │ • 扩展 │ │ • 笔记 │
│ 2.头脑 │ │ 向同事 │ │ • 修改 │ │ • 教授 │
│ 风暴 │ │ 解释 │ │ • 调试 │ │ • 写博客 │
│ 3.找差距 │ │ │ │ • 适配 │ │ • 稍后 │
│ 4.善于 │ │ │ │ 新场景 │ │ 复习 │
│ 提问 │ │ │ │ │ │ │
└──────────┘ └──────────┘ └──────────┘ └──────────┘
│ │
│ ◄── 每个概念重复 ──► │
└───────────────────────────────────────────────────┘
验证失败 → 返回理解(你是在复制,没有学习)
应用失败 → 返回验证(你是在记忆,没有理解)来源:「learning-with-ai.md:208」
19. 安全三层防御
完整安全文档(security-hardening.md)组织为三个防御层:
Plain
┌─────────────────────────────────────────────────────────────┐
│ 安全三层防御 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 时间 ────────────────────────────────────────────────► │
│ 之前 期间 之后 │
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌───────────────┐ │
│ │ 第一层 │ │ 第二层 │ │ 第三层 │ │
│ │ 预防 │ │ 检测 │ │ 响应 │ │
│ │ │ │ │ │ │ │
│ │ • MCP 审查 │ │ • 提示注入 │ │ • 密钥 │ │
│ │ 流程 │ │ 检测 │ │ 轮换 │ │
│ │ • 版本固定 │ │ • 输出扫描 │ │ • MCP 隔离 │ │
│ │ • .claudeignore │ │ • 异常监控 │ │ • 历史记录 │ │
│ │ • 输入钩子 │ │ • 密钥泄露 │ │ 重写 │ │
│ │ • 安全 MCP 列表 │ │ 检测 │ │ • 事故上报 │ │
│ │ • 权限设置 │ │ • Unicode/ANSI │ │ • 复盘 & │ │
│ │ • 完整性扫描 │ │ 过滤 │ │ 轮换 │ │
│ │ │ │ │ │ │ │
│ │ 目标:在 │ │ 目标:实时 │ │ 目标:限制 │ │
│ │ 入口点拦截 │ │ 捕获攻击 │ │ 损害并快速 │ │
│ │ 威胁 │ │ │ │ 恢复 │ │
│ └─────────────────┘ └─────────────────┘ └───────────────┘ │
│ │
│ 采用路径: │
│ 个人开发者 → 第一层基础(输出扫描器) │
│ 团队 → 第一层 + 第二层(+ 注入钩子) │
│ 企业 → 全三层(+ ZDR + 验证) │
│ │
└─────────────────────────────────────────────────────────────┘来源:「security-hardening.md:24/205/345」
20. 密钥泄露时间线
密钥(API 密钥、Token(词元)、密码)泄露时的紧急响应:
Plain
密钥泄露——紧急响应时间线
═══════════════════════════════════════════════════════════
0 分钟 15 分钟 1 小时 24 小时
│ │ │ │
▼ ▼ ▼ ▼
┌──────────────────┐ ┌─────────────────┐ ┌────────────────┐
│ ⏱️ 前 15 分钟 │ │ ⏱️ 前 1 小时 │ │ ⏱️ 前 24 小时 │
│ 止血 │ │ 评估损害 │ │ 修复 │
│ │ │ │ │ │
│ 1. 立即撤销 │ │ 3. 审计 git │ │ 6. 轮换所有 │
│ 密钥 │ │ 历史记录 │ │ 相关凭证 │
│ (AWS/GH/ │ │ (如已推送 │ │ │
│ Stripe) │ │ 则重写) │ │ 7. 通知团队 │
│ │ │ │ │ /合规 │
│ 2. 确认泄露 │ │ 4. 扫描依赖 │ │ (GDPR/SOC2)│
│ 范围 │ │ 项中泄露 │ │ │
│ (本地还是 │ │ 的密钥 │ │ 8. 记录事故 │
│ 已推送?) │ │ │ │ 时间线 │
│ │ │ 5. 检查 CI/CD │ │ │
│ │ │ 日志 │ │ │
└──────────────────┘ └─────────────────┘ └────────────────┘
严重程度指南:
┌─────────────────────────────────────────────────────────┐
│ 仅本地(未推送) → 撤销 + 轮换(步骤 1-2) │
│ 已推送到远程 → 完整时间线(步骤 1-8) │
│ 公开仓库暴露 → 假设已被攻破,轮换所有内容, │
│ 检查是否已被滥用 │
└─────────────────────────────────────────────────────────┘来源:「security-hardening.md:347」
返回 「指南 README」 | 「速查表」 | 「主 README」
来源:飞书 · AI Spark 知识库 | 原文(最新版):https://lcnniolukk80.feishu.cn/wiki/XOiQwAp7wi9B85k7T6CccgopnSg | 归档:2026-06-04