第2集:扩展体系的层次结构
💡 进群学习加 wx: agentupdate
(申请发送: agentupdate)
(申请发送: agentupdate)
从用户输入到执行完成,经过了哪些层?本集通过 Mermaid 图拆解完整调用链。
调用链全景
sequenceDiagram
participant User as 用户
participant CLI as Claude Code CLI
participant Hook as Hook 系统
participant Skill as Skill 引擎
participant Claude as Claude AI
participant Tool as Tool 系统
participant MCP as MCP Server
Note over User,MCP: 场景1:用户输入 /gsd-quick
User->>CLI: /gsd-quick 修复按钮颜色
CLI->>Hook: UserPromptSubmit 事件
Hook-->>CLI: 注入上下文(如 claude-mem 记忆)
CLI->>Skill: 匹配 gsd-quick SKILL.md
Skill->>Claude: 注入 Skill 指令 + 用户输入
Claude->>Tool: 调用 Read(读文件)
Tool-->>Claude: 返回文件内容
Claude->>Tool: 调用 Edit(修改文件)
Tool-->>Hook: PostToolUse 事件
Hook-->>CLI: 记录操作日志
Note over User,MCP: 场景2:用户输入 /mem-search
User->>CLI: /mem-search terminal comparison
CLI->>Hook: UserPromptSubmit 事件
Hook-->>CLI: 注入上下文
CLI->>Skill: 匹配 mem-search SKILL.md
Skill->>Claude: 注入 Skill 指令
Claude->>Tool: 调用 MCP Tool: search("terminal comparison")
Tool->>MCP: stdio 请求 → mcp-server.cjs
MCP-->>Tool: 返回搜索结果
Tool-->>Claude: 结果呈现给 AI
Claude-->>User: 整理后的回答三个层次
┌──────────────────────────────────────────────┐
│ 第1层:分发层(Plugin) │
│ 打包 Skill + Hook + MCP + Command │
│ 安装一条命令,所有组件自动注册 │
│ ├──────────────────────────────────────────────┤
│ 第2层:功能层(Skill + Hook + MCP) │
│ Skill = 定义工作流(Markdown) │
│ Hook = 自动化脚本(Shell/Node) │
│ MCP = 外部工具服务(独立进程) │
│ ├──────────────────────────────────────────────┤
│ 第3层:能力层(Tool) │
│ 内置原子操作:Read/Write/Edit/Bash/Glob/... │
│ MCP Tool:search/get_observations/analyze │
└──────────────────────────────────────────────┘
文件系统映射
graph LR
subgraph "~/.claude/"
A[settings.json
全局配置
hooks + MCP servers]
B[skills/
Skill 文件夹
每个含 SKILL.md]
C[plugins/
插件缓存
installed_plugins.json]
end
subgraph "项目/.claude/"
D[settings.json
项目级配置
hooks + permissions]
E[settings.local.json
本地配置
MCP servers]
end
subgraph "项目根目录"
F[CLAUDE.md
项目约束
所有会话自动加载]
end
A -->|全局生效| G[Claude Code]
D -->|项目生效| G
B -->|技能注册| G
C -->|插件注册| G
F -->|项目上下文| G
style A fill:#e74c3c,color:#fff
style D fill:#f39c12,color:#fff
style F fill:#2ecc71,color:#fff| 配置位置 | 作用范围 | 典型内容 |
|---|---|---|
~/.claude/settings.json |
全局所有项目 | 全局 hooks、MCP servers、权限 |
项目/.claude/settings.json |
当前项目 | 项目级 hooks、权限 |
项目/.claude/settings.local.json |
当前项目(不提交 git) | 本地 MCP servers(含密钥) |
~/.claude/skills/ |
全局 | 手动安装的 Skill |
~/.claude/plugins/ |
全局 | Plugin 自动安装 |
项目/CLAUDE.md |
当前项目 | 项目约束和说明 |