Claude Code 完整介绍
概述
Claude Code 是 Anthropic 推出的 AI 编程助手,能够理解你的整个代码库,编辑文件,运行命令,并与开发工具集成。它不仅是一个代码补全工具,更是一个能够自主完成复杂开发任务的智能代理。
graph TB
subgraph ClaudeCode["Claude Code 核心"]
Engine[AI 引擎]
Tools[工具系统]
Context[上下文理解]
end
subgraph Interfaces["使用界面"]
Terminal[终端 CLI]
VSCode[VS Code]
JetBrains[JetBrains IDEs]
Desktop[桌面应用]
Web[Web 浏览器]
end
subgraph Capabilities["核心能力"]
ReadCode[读取代码库]
EditFiles[编辑文件]
RunCommands[运行命令]
GitOps[Git 操作]
MCP[MCP 扩展]
end
Interfaces --> Engine
Engine --> Context
Engine --> Tools
Tools --> Capabilities
核心功能
1. 代码库理解
Claude Code 能够深入理解你的项目结构和代码逻辑:
- 自动探索项目目录结构
- 理解代码之间的依赖关系
- 识别设计模式和架构决策
- 跨文件追踪代码逻辑
2. 文件编辑
支持多种文件操作模式:
| 工具 | 功能 |
|---|---|
Read | 读取文件内容 |
Edit | 精确替换文件中的特定内容 |
Write | 创建或重写整个文件 |
Glob | 按模式搜索文件 |
Grep | 在文件中搜索内容 |
3. 命令执行
可以直接在终端中运行命令:
# 运行测试
claude "运行测试并修复失败的用例"
# 构建项目
claude "构建项目并解决编译错误"
# 安装依赖
claude "更新 package.json 中的依赖版本"
4. Git 集成
完整的 Git 工作流支持:
flowchart LR
A[查看更改] --> B[暂存文件]
B --> C[生成提交信息]
C --> D[创建提交]
D --> E[创建 PR]
主要特性
1. Hooks - 自动化钩子
在特定事件发生时自动执行的命令,实现工作流自动化。
事件类型:
| 事件 | 触发时机 | 用途 |
|---|---|---|
PreToolUse | 工具执行前 | 验证、阻止敏感操作 |
PostToolUse | 工具执行后 | 格式化、lint、测试 |
Notification | 需要用户关注时 | 通知提醒 |
Stop | 任务完成时 | 完成通知 |
配置示例:
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "npx prettier --write $FILE_PATH" }
]
}
]
}
}
2. MCP Servers - 工具扩展协议
Model Context Protocol (MCP) 是一个开放协议,允许 Claude 与外部工具和数据源交互。
graph LR
subgraph ClaudeCode["Claude Code"]
Agent[AI Agent]
end
subgraph MCPServers["MCP Servers"]
Context7[context7文档查询]
GitHub[GitHub仓库操作]
Playwright[Playwright浏览器自动化]
Custom[自定义 Server]
end
Agent --> Context7
Agent --> GitHub
Agent --> Playwright
Agent --> Custom
常用 MCP Servers:
# 文档查询
claude mcp add context7
# GitHub 集成
claude mcp add github
# 浏览器自动化
claude mcp add playwright
3. Skills - 可复用工作流
Skills 是可重复使用的提示/工作流包,通过 /skill-name 调用。
目录结构:
.claude/skills/
└── my-skill/
└── SKILL.md
示例 Skill:
---
name: code-review
description: Review code for quality, security, and best practices
---
Review the following code:
1. Check for security vulnerabilities
2. Verify error handling
3. Suggest improvements
4. Rate code quality (1-10)
调用方式:
/code-review
4. Subagents - 专业化子代理
Subagent 是 Claude Code 中的专业化 AI 助手,在独立的上下文窗口中运行。
flowchart TD
subgraph MainSession["主会话"]
User[用户请求]
Claude[Claude 分析]
end
subgraph Subagents["子代理池"]
Explore[Explore快速只读探索]
Plan[Plan计划研究]
Review[Code Reviewer代码审查]
Debug[Debugger调试修复]
end
User --> Claude
Claude -->|探索任务| Explore
Claude -->|规划任务| Plan
Claude -->|审查任务| Review
Claude -->|调试任务| Debug
核心优势:
| 优势 | 说明 |
|---|---|
| 上下文隔离 | 探索和实现操作不会污染主对话 |
| 能力约束 | 可以限制 Subagent 使用的工具集 |
| 模型选择 | 可路由到更快、更便宜的模型 |
| 配置复用 | 通过用户级配置在项目间共享 |
5. Memory - 持久化记忆
通过 CLAUDE.md 文件和自动记忆功能存储项目知识和偏好。
CLAUDE.md 示例:
# 项目说明
## 架构
- 前端: React + TypeScript
- 后端: Node.js + Express
- 数据库: PostgreSQL
## 编码规范
- 使用 ESLint + Prettier
- 提交信息遵循 Conventional Commits
- 测试框架: Jest
## 常用命令
- `npm run dev` - 启动开发服务器
- `npm test` - 运行测试
- `npm run build` - 构建生产版本
使用场景
1. 日常开发
# 构建新功能
claude "实现用户登录功能,包括表单验证和 API 调用"
# 修复 Bug
claude "修复这个错误: [粘贴错误信息]"
# 代码重构
claude "重构 auth.js 使其更易测试"
2. 自动化任务
# 编写测试
claude "为 utils.js 编写单元测试"
# 修复 Lint 错误
claude "修复所有 ESLint 错误"
# 更新依赖
claude "更新过时的 npm 包并处理 breaking changes"
3. Git 工作流
# 创建提交
claude "commit my changes"
# 创建 PR
claude "创建一个 PR 并添加描述"
# 解决合并冲突
claude "解决当前的合并冲突"
4. CI/CD 集成
# GitHub Actions 示例
name: AI Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: |
claude -p "审查这个 PR 的代码质量" \
--output-format json
5. 代码探索
# 理解代码库
claude "这个项目的架构是什么?"
# 追踪逻辑
claude "用户登录流程是怎么实现的?"
# 查找代码
claude "找到所有处理支付相关的文件"
安装与配置
安装方式
macOS / Linux / WSL:
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
Homebrew:
brew install --cask claude-code
配置层级
graph TB
subgraph Config["配置文件层级"]
A["~/.claude/settings.json用户级配置"]
B[".claude/settings.json项目级配置"]
C["CLAUDE.md项目指令"]
D[".mcp.jsonMCP 服务器配置"]
end
A --> B --> C
B --> D
配置文件说明:
| 文件 | 用途 | 版本控制 |
|---|---|---|
~/.claude/settings.json | 个人偏好设置 | 否 |
.claude/settings.json | 项目 Hooks 和权限 | 可选 |
CLAUDE.md | 项目指令和知识 | 是 |
.mcp.json | MCP 服务器配置 | 是 |
CLI 命令速查
基本命令
# 启动交互式会话
claude
# 使用提示启动
claude -p "解释这个代码"
# 指定输出格式
claude -p "生成 README" --output-format stream-json
# 允许特定工具
claude -p "修复 bug" --allowedTools Edit,Write,Bash(npm:*)
配置管理
# 打开设置
claude config
# 查看当前配置
claude config list
# 设置值
claude config set permissions.allow "Edit,Write"
MCP 管理
# 添加 MCP server
claude mcp add context7
# 列出所有 servers
claude mcp list
# 移除 server
claude mcp remove context7
常用 Flags
| Flag | 说明 |
|---|---|
-p, --print | 非交互模式 |
--output-format | 输出格式: text, stream-json, json |
--allowedTools | 允许的工具列表 |
--mcp-debug | 显示 MCP 调试信息 |
--no-hooks | 禁用所有 hooks |
交互模式快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+C | 取消当前输入 |
Ctrl+D | 退出 |
Ctrl+L | 清屏 |
| 上/下箭头 | 历史记录 |
Tab | 自动补全 |
最佳实践
1. 编写清晰的 CLAUDE.md
# 项目说明
## 架构决策
- 为什么选择这个技术栈
- 关键的设计模式
## 编码规范
- 代码风格要求
- 命名约定
- 注释标准
## 工作流
- 分支策略
- PR 审查清单
- 部署流程
## 常见问题
- 已知问题和解决方案
- 性能优化建议
2. 合理配置 Hooks
{
"hooks": {
"PostToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{ "type": "command", "command": "npx prettier --write $FILE_PATH" }
]
}
],
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "echo $FILE_PATH | grep -v '.env' || exit 2"
}
]
}
]
}
}
3. 创建有用的 Skills
- 专注单一职责
- 编写清晰的描述
- 限制工具权限
- 添加使用示例
4. 优化 Subagent 使用
| 场景 | 推荐模型 | 原因 |
|---|---|---|
| 快速探索 | haiku | 低延迟、低成本 |
| 代码审查 | sonnet | 平衡能力和速度 |
| 复杂推理 | opus | 高难度问题 |
| 保持一致 | inherit | 与主会话相同 |
5. 安全配置
{
"permissions": {
"allow": [
"Read",
"Edit",
"Bash(npm:*)",
"Bash(git:*)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(sudo:*)"
]
}
}
故障排除
| 问题 | 解决方案 |
|---|---|
| MCP 不连接 | 使用 claude --mcp-debug 查看日志 |
| Hook 不触发 | 检查 matcher 模式和命令路径 |
| 权限被拒绝 | 检查 .claude/settings.json 权限配置 |
| 响应缓慢 | 检查网络,减少上下文大小 |
| 上下文溢出 | 使用 Subagent 隔离,启用 memory |
架构图
Claude Code 整体架构
graph TB
subgraph UserInterface["用户界面层"]
Terminal[终端 CLI]
VSCode[VS Code 扩展]
JetBrains[JetBrains 插件]
Desktop[桌面应用]
WebApp[Web 应用]
end
subgraph CoreEngine["核心引擎层"]
Agent[Agent 核心]
Context[上下文管理]
Tools[工具系统]
Memory[记忆系统]
end
subgraph ExtensionLayer["扩展层"]
Hooks[Hooks]
MCP[MCP Servers]
Skills[Skills]
Subagents[Subagents]
end
subgraph DataSource["数据源"]
FileSystem[文件系统]
GitRepo[Git 仓库]
ExternalAPI[外部 API]
Database[数据库]
end
UserInterface --> CoreEngine
CoreEngine --> ExtensionLayer
ExtensionLayer --> DataSource
工具调用流程
sequenceDiagram
participant User as 用户
participant Claude as Claude Code
participant Tools as 工具系统
participant FS as 文件系统
participant Git as Git
User->>Claude: 发送请求
Claude->>Claude: 分析任务
Claude->>Tools: 调用 Read 工具
Tools->>FS: 读取文件
FS-->>Tools: 文件内容
Tools-->>Claude: 返回结果
Claude->>Claude: 分析代码
Claude->>Tools: 调用 Edit 工具
Tools->>FS: 修改文件
Claude->>Tools: 调用 Bash(git)
Tools->>Git: 执行 git 命令
Git-->>Tools: 命令结果
Tools-->>Claude: 执行结果
Claude-->>User: 返回响应
资源链接
| 资源 | 链接 |
|---|---|
| 官方文档 | code.claude.com/docs |
| MCP 协议 | modelcontextprotocol.io/ |
| Agent SDK | platform.claude.com/docs/en/age… |
| CLI 参考 | code.claude.com/docs/en/cli… |
总结
Claude Code 是一个强大的 AI 编程助手,具有以下核心优势:
- 深度代码理解 - 能够理解整个代码库的上下文
- 多平台支持 - 终端、VS Code、JetBrains、桌面、Web
- 灵活扩展 - 通过 MCP、Hooks、Skills 自定义工作流
- 团队协作 - 支持配置共享和协作工作流
- 安全可控 - 精细的权限控制和审计能力
无论是日常编码、代码审查、自动化任务还是 CI/CD 集成,Claude Code 都能显著提升开发效率。
文档生成日期: 2026-03-09