Claude Code基础概念及使用手册

cuixiaogang

Claude Code 是 Anthropic 推出的面向开发者的 AI 编程协作工具,与在聊天窗口里写几段代码不同,Claude Code 的核心目标是理解你的整个项目,并参与到真实的编码、修改和重构过程中。

Claude Code不是一个代码生成器,而是一个能读项目、懂上下文、遵守约束的 AI 编程搭档。

简单说:Claude Code 是 Claude 的命令行版本,专门为编程场景设计

部署及安装

Claude Code有三种使用方式:

方式 适合人群 优点 缺点
Web端 完全新手 无需安装 功能受限
编辑器集成(VSCode/Cursor/Jetbrains) 日常开发 无缝融入开发工作 依赖环境、插件
CLI 有一定基础 功能完整,集成度高 熟悉命令行

WEB端使用

功能受限,不推荐。基本使用类似于ChatGPT,只是能力强弱有区别

编辑器集成

  • VSCode插件:请认准作者

VSCode插件
VSCode插件

  • Jetbrains插件:推荐两个,一个是Claude Code GUI,一个是官方提供的插件(请认准作者)

Jetbrains插件
Jetbrains插件

CLI

因为Claude Code在开发过程中,经常需要测试验证功能,所以需要提前配置好代码运行的环境。

另外,根据官方文档,Claude Code CLI 从 1.0 版本开始就不再支持通过 npm 安装,而是统一采用脚本安装的方式,所以也无需准备 npm 环境了。

  • npm 废弃的原因
    • npm 无法处理二进制依赖
    • 难以跨平台管理
    • 无法自动更新
    • 无法集成系统级功能(如 git hook、MCP)

安装

macOS、Linux、WSL:

1
curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

1
irm https://claude.ai/install.ps1 | iex

Windows CMD:

1
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

CLI模式的Claude
CLI模式的Claude

登录账号(土豪用户)

如果购买了官方的Token或订阅了官方的服务,可直接在项目目录下执行claude就进入了命令启动交互式会话,然后执行/login按提示登录账号既可

Coding Plan(普通用户)

使用官方的Claude Code API不仅Token昂贵,而且国内还需要梯子,很不方便。Claude Code可以接入其他厂商的Coding Plan,我们可以使用其他的模型来帮助我们开发,这里推荐两个国产模型。

方舟Coding-Plan
方舟Coding-Plan

百炼Coding-Plan
百炼Coding-Plan

购买后,按文档配置环境变量,然后在项目目录下执行claude既可使用,一般需要配置三个环境变量

1
2
3
4
# macOS、Linux、WSL
export ANTHROPIC_AUTH_TOKEN=
export ANTHROPIC_BASE_URL=
export ANTHROPIC_API_KEY=

Claude Code的工作原理

当用户给 Claude 发布一个任务时,它会经历三个阶段:

  • 收集上下文(查看代码、文件、错误信息)
  • 采取行动(编辑文件、运行命令、搜索等)
  • 验证结果(执行测试、检查)

Claude Code的工作流程
Claude Code的工作流程

这三个步骤会不断循环,直到任务完成。同时,用户也是这个循环的一部分:用户可以推送同Claude对话,用来改变需求、调整策略等操作。这个循环由两个组件来驱动:负责推理的模型和负责行动的工具。Claude Code通过这两个组件,将语言模型转为能进行编程的工具。

模型

用于理解代码并推理任务。具体模型相关内容,可参考后续文档

工具

工具是将语言模型转为能进行编程的工具,它能读取代码、编辑文件、运行命令、搜索网络并与外部服务器交互等。每个工具使用都会返回信息并反馈到循环中,帮助Claude决定如何执行、执行什么。

类别 执行内容
文件操作 读取文件、编辑代码、创建新文件、重命名和重新组织
搜索 按模式查找文件、使用正则表达式搜索内容、探索代码库
执行 运行shell命令、启动服务器、运行测试、使用git
网络 搜索网络、获取文档、查找错误消息
代码智能 编辑后查看类型错误和警告、跳转到定义、查找引用(需要代码智能插件)

交互模式

权限模式

因为Claude Code存在多种交互模式,这些交互模式的区别主要集中在权限控制上,具体的权限模式如下:

模式名 是否允许文件修改 是否执行bash 是否允许Git修改 是否需要确认 安全等级
default(默认模式) ✅ 部分(需确认) ❌ 需确认 ❌ 需确认 ✅ 是 ⭐⭐⭐⭐⭐
acceptEdits(接收编辑) ✅ 是 ❌ 需确认 ❌ 需确认 ✅ 是(Bash/Git) ⭐⭐⭐⭐
bypassPermissions(绕过权限) ✅ 是 ✅ 是 ✅ 是 ❌ 否
dontAsk(不询问) ✅ 是 ❌ 禁止 ❌ 禁止 ✅ 是(危险操作) ⭐⭐⭐⭐
plan(计划模式) ❌ 禁止 ❌ 禁止 ❌ 禁止 ✅ 是(所有) ⭐⭐⭐⭐⭐
auto(自动模式) ✅ 是 ✅ 是(高危才确认) ✅ 是(高危才确认) ✅ 少数 ⭐⭐⭐

上面的模式在启动时,可以通过claude --permission-mode [模式]来直接启动,另外,我们可以通过错误的命令来发现这六种模式

六种模式提示信息
六种模式提示信息

交互模式

在Claude Code终端交互界面中,我们可以使用shift+tab来控制权限批准的开关

  • default:对应的就是default(默认模式)。交互界面中没有任何提示信息

默认模式
默认模式

  • accept edits on:对应的就是acceptEdits(接收编辑),交互界面中的提示信息为⏵⏵ accept edits on

接收编辑
接收编辑

  • plan mode on:对应的就是plan(计划模式),交互界面中的提示信息为⏸ plan mode on

计划模式
计划模式

plan(计划模式)

在该模式下,Claude根据当前代码库,使用只读操作来创建一个完成用户需求的计划,同时它也会分析需求,帮助用户补充需求说明。用户可以跟Claude讨论该方案的问题,确认后,Claude将切换为“默认模式”,执行该计划。

  • 下面是一个2048小游戏的HTML需求,它会补充需求的内容:

计划模式示例
计划模式示例

  • 确认后将切换为“默认模式”,询问是否创建并写入文件:

image.png
image.png

配置

生效范围

Claude Code通常会分为三层,且由低到高覆盖

全局配置(用户级)

针对账号/机器上的所有项目均生效。一般由于统一设置默认模型、默认输出风格、API Key、代理等,配置位置如下:

  • macOS/Linux:~/.config/claude/
  • Windows:%USERPROFILE%\.claude\

项目配置(项目级)

只对当前项目生效,仅覆盖该项目的用户设置。一般用于项目约定模型、工具权限、代码风格、忽略路径、Prompt规范等。配置位置一般是项目根目录下的.claude/目录

环境变量(会话级)

优先级最高,通过CLI命令运行时修改,退出后失效。一般用于流水线里注入Key、切换模型、指定代理、开启/关闭某些能力。

一些重要的配置项

提供一份完整的配置说明,当前设置值均为默认值

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
// ===== 通用设置 =====
"autoCommit": false, // 编辑后自动提交更改(默认:false)
"autoPush": false, // 自动将提交推送到远程仓库(默认:false)
"enableFastMode": false, // 使用更快的模型响应模式(默认:false)
"maxContextLines": 2000, // 读取文件的最大行数(默认:2000)
"showLineNumbers": true, // 在文件显示中显示行号(默认:true)

// ===== 工作区 =====
"defaultWorkingDirectory": "/home/user/projects", // 打开新会话时的默认路径
"projectRootPattern": "**/package.json", // 检测项目根目录的模式(默认:"**/package.json")

// ===== GIT =====
"gitEnabled": true, // 启用 git 集成(默认:true)
"gitCommitTemplate": "${subject}\n\n${body}\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>", // 提交消息模板
"gitPushRemote": "origin", // git push 的默认远程仓库(默认:"origin")
"gitPushBranch": "main", // git push 的默认分支(默认:"main")

// ===== 模型 =====
"model": "sonnet", // 使用的模型:"sonnet"、"opus" 或 "haiku"(默认:"sonnet")
"temperature": 0.7, // 模型随机性:0.0-1.0(默认:0.7)
"maxTokens": 4096, // 响应中的最大令牌数(默认:4096)

// ===== 交互 =====
"autoAcceptToolCalls": false, // 自动调用工具无需确认(默认:false)
"showToolUsage": true, // 在对话中显示工具使用情况(默认:true)
"enablePlanMode": true, // 为复杂任务启用计划模式(默认:true)
"enableTaskList": true, // 启用任务列表跟踪(默认:true)

// ===== 安全 =====
"blockExternalUrls": false, // 阻止访问外部 URL(默认:false)
"allowFileAccess": true, // 允许文件系统访问(默认:true)
"requireConfirmationForDestructive": true, // 破坏性操作需要确认(默认:true)

// ===== 键位绑定 =====
"keybindings": {
"submit": "ctrl+enter", // 提交查询的键位绑定(默认:"ctrl+enter")
"clear": "ctrl+l", // 清除聊天的键位绑定(默认:"ctrl+l")
"toggleSidebar": "ctrl+shift+s" // 切换侧边栏的键位绑定(默认:"ctrl+shift+s")
}
}

会话

Claude Code在工作时,会将对话内容保存在本地,帮助用户回退、恢复和创建分支会话。在更新代码文件之前,还会对受影响的文件进行快照操作,便于回退版本。

主要功能

  • 保持上下文连续性:在多次对话间保留项目状态、历史记录和配置。
  • 持久化记忆:通过 memory/ 目录存储项目级别的关键信息(如架构决策、代码模式、用户偏好)。
  • 状态恢复:重新进入项目时自动加载上下文,无需重新解释项目背景

相关命令

命令 作用 备注
claude 启动交互式会话 默认启动,自动加载项目上下文
claude -c/--continue 继续当前目录中最新的会话 等价于 --continue
claude -r "<session>" 按名称恢复会话 claude -r "auth-refactor"
claude --resume [session] 恢复特定会话或打开选择器 恢复已保存的会话历史

模型

Claude Code提供了多种模型来负责推理任务,使用/model/fast来切换模型。

Claude切换模型
Claude切换模型

简单总结官方推荐的几种模型:

模型名称 行为
default 推荐的模型设置,取决于账户类型
sonnet 使用最新的 Sonnet 模型(当前为 Sonnet 4.6)用于日常编码任务
opus 使用最新的 Opus 模型(当前为 Opus 4.6)用于复杂推理任务
haiku 使用快速高效的 Haiku 模型用于简单任务
sonnet[1m] 使用Sonnet和100万token上下文窗口用于长会话
opusplan 特殊模式,在计划模式中使用opus,然后在执行时切换到sonnet

当然,我们也可以使用自定义模型,可关注后面的配置栏。