Claude Code基础概念及使用手册
Claude Code 是 Anthropic 推出的面向开发者的 AI 编程协作工具,与在聊天窗口里写几段代码不同,Claude Code 的核心目标是理解你的整个项目,并参与到真实的编码、修改和重构过程中。
Claude Code不是一个代码生成器,而是一个能读项目、懂上下文、遵守约束的 AI 编程搭档。
简单说:Claude Code 是 Claude 的命令行版本,专门为编程场景设计。
部署及安装
Claude Code有三种使用方式:
| 方式 | 适合人群 | 优点 | 缺点 |
|---|---|---|---|
| Web端 | 完全新手 | 无需安装 | 功能受限 |
| 编辑器集成(VSCode/Cursor/Jetbrains) | 日常开发 | 无缝融入开发工作 | 依赖环境、插件 |
| CLI | 有一定基础 | 功能完整,集成度高 | 熟悉命令行 |
WEB端使用
功能受限,不推荐。基本使用类似于ChatGPT,只是能力强弱有区别
编辑器集成
- VSCode插件:请认准作者
- Jetbrains插件:推荐两个,一个是Claude Code GUI,一个是官方提供的插件(请认准作者)
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 |
登录账号(土豪用户)
如果购买了官方的Token或订阅了官方的服务,可直接在项目目录下执行claude就进入了命令启动交互式会话,然后执行/login按提示登录账号既可
Coding Plan(普通用户)
使用官方的Claude Code API不仅Token昂贵,而且国内还需要梯子,很不方便。Claude Code可以接入其他厂商的Coding Plan,我们可以使用其他的模型来帮助我们开发,这里推荐两个国产模型。
购买后,按文档配置环境变量,然后在项目目录下执行claude既可使用,一般需要配置三个环境变量
1 | # macOS、Linux、WSL |
白嫖用户
可以白嫖各厂商的大模型AI的API服务(一般都会免费送100万+个token,切换着用,比如百炼、火山等),但效果取决于服务厂商的大模型算力及模型,具体配置如下:
1 | export TERM=xterm-256color # 可不配置 |
Claude Code的工作原理
当用户给 Claude 发布一个任务时,它会经历三个阶段:
- 收集上下文(查看代码、文件、错误信息)
- 采取行动(编辑文件、运行命令、搜索等)
- 验证结果(执行测试、检查)
这三个步骤会不断循环,直到任务完成。同时,用户也是这个循环的一部分:用户可以推送同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需求,它会补充需求的内容:
- 确认后将切换为“默认模式”,询问是否创建并写入文件:
配置
生效范围
Claude Code通常会分为三层,且由低到高覆盖
全局配置(用户级)
针对账号/机器上的所有项目均生效。一般由于统一设置默认模型、默认输出风格、API Key、代理等,配置位置如下:
- macOS/Linux:
~/.config/claude/ - Windows:
%USERPROFILE%\.claude\
项目配置(项目级)
只对当前项目生效,仅覆盖该项目的用户设置。一般用于项目约定模型、工具权限、代码风格、忽略路径、Prompt规范等。
配置位置一般是项目根目录下的.claude/目录。
环境变量(会话级)
优先级最高,通过CLI命令运行时修改,退出后失效。一般用于流水线里注入Key、切换模型、指定代理、开启/关闭某些能力。
一些重要的配置项
提供一份完整的配置说明,当前设置值均为默认值
1 | { |
会话
用户与Claude Code在的对话,以及它三个阶段中的提示性的关键信息组成了会话。会话以JSON的文件格式存储在$HOME/.claude/projects/-home-$USER-service-data-[项目名]/下。每一个会话都存在唯一ID(session-id)
上图中的目录下,会存在一些子目录,这些子目录一般用来存储subagents的相关文件,后面会详细介绍
主要功能
会话的主要功能总结:
- 保持上下文连续性:在多次对话间保留项目状态、历史记录和配置。
- 持久化记忆:通过 memory/ 目录存储项目级别的关键信息(如架构决策、代码模式、用户偏好)。
- 状态恢复:重新进入项目时自动加载上下文,无需重新解释项目背景
恢复与分支会话
使用命令claude --continue可以恢复上一次的会话(时间最近),而使用claude --resume可以选择恢复历史的某次会话。这个操作可以帮助用户使用历史会话的上下文继续工作。
如果想要分支并尝试不同的方法而不影响原始会话,请使用--fork-session参数:
1 | claude --continue --fork-session |
在Claude Code的交互界面中,可以使用/fork来创建会话分支。
注意事项
- claude支持多终端窗口同时工作,且不会相互影响。但多个终端窗口使用相同的会话时,所有窗口的操作会话文件是相同的,则会互相影响。
- 随着会话不断变长,历史上下文会占满Token导致后续丢上下文、变慢且成本更高;使用
/compact [instructions]可以把关键内容压缩成摘要,释放上下文空间并提升稳定性、降低成本。
模型
Claude Code提供了多种模型来负责推理任务,其中的Sonnet可以很好地处理大多数编码任务。Opus为复杂的架构决策提供更强的推理能力。
切换模型的方式:
- 使用
/model查看、切换模型。 - 使用
claude --model [model]使用某个模型启动会话窗口。 - 环境变量:设置
ANTHROPIC_MODEL=<alias|name>。 - 配置文件中:在设置文件中使用
model字段永久配置。 - 使用
/fast快速切换到Opus模型。
官方模型
| 模型名称 | 行为 |
|---|---|
| default | 推荐的模型设置,取决于账户类型 |
| sonnet | 使用最新的 Sonnet 模型(当前为 Sonnet 4.6)用于日常编码任务 |
| opus | 使用最新的 Opus 模型(当前为 Opus 4.6)用于复杂推理任务 |
| haiku | 使用快速高效的 Haiku 模型用于简单任务 |
| sonnet[1m] | 使用Sonnet和100万token上下文窗口用于长会话 |
| opusplan | 特殊模式,在计划模式中使用opus,然后在执行时切换到sonnet |
不同的订阅方式针对不同的模型存在不同的限制,具体可参考官方文档