Claude Code 完整介绍

7 阅读4分钟

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.jsonMCP 服务器配置

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 SDKplatform.claude.com/docs/en/age…
CLI 参考code.claude.com/docs/en/cli…

总结

Claude Code 是一个强大的 AI 编程助手,具有以下核心优势:

  1. 深度代码理解 - 能够理解整个代码库的上下文
  2. 多平台支持 - 终端、VS Code、JetBrains、桌面、Web
  3. 灵活扩展 - 通过 MCP、Hooks、Skills 自定义工作流
  4. 团队协作 - 支持配置共享和协作工作流
  5. 安全可控 - 精细的权限控制和审计能力

无论是日常编码、代码审查、自动化任务还是 CI/CD 集成,Claude Code 都能显著提升开发效率。


文档生成日期: 2026-03-09