1. 简介 —— Claude Code 是什么?
Claude Code 是 Anthropic 推出的命令行界面(CLI)工具,让你可以在终端直接使用 Claude AI 帮助你开发软件。
简单来说,Claude Code 就是:
- 你的 AI 结对编程伙伴 —— 在你熟悉的终端环境中工作
- 可以直接读写你的文件 —— 不用来回复制粘贴代码
- 可以执行命令 —— 帮你运行测试、构建项目、安装依赖
- 上下文感知 —— 理解整个代码库的结构
Claude Code vs Claude 网页版
| 特性 | Claude Code | Claude 网页版 |
|---|---|---|
| 直接读写文件 | ✅ | ❌(需要手动复制) |
| 执行终端命令 | ✅ | ❌ |
| 上下文窗口 | 200K tokens(有效约 160K) | 取决于订阅 |
| 开发工作流集成 | ✅ 原生 | 需要手动操作 |
| 本地环境 | ✅ 在你的机器上运行 | 在浏览器中运行 |
Claude Code 不是要取代网页版,它专注于开发工作流,让 AI 真正融入你的开发环境,而不是一个独立的东西。
谁适合阅读这本指南
- 你是开发者,想要尝试 AI 辅助编程
- 你已经听说过 Claude Code,但不知道从哪里开始
- 你用过一段时间,但还是觉得效率不高
- 你想要学习实用的工作流,而不只是功能列表
如果你已经熟练使用 Claude Code,可以直接跳到第二部分:工作流食谱。
2. 安装与配置
系统要求
- macOS、Linux 或 Windows(支持 WSL)
- 已安装 Node.js 18+ 或 Bun
- 有效的 Anthropic API 密钥
安装步骤
macOS / Linux / WSL
最简单的安装方式:
curl -fsSL https://claude.ai/install.sh | bash
这个命令会:
- 下载最新版本的 Claude Code 二进制文件
- 安装到
~/.local/bin/claude - 如果你使用的是 zsh/bash,会自动更新 PATH
安装完成后,重启终端或者执行 source ~/.zshrc(或 ~/.bashrc)使 PATH 生效。
使用 Homebrew 安装(macOS)
brew install --cask claude-code
Windows
在 Windows 上,推荐使用 WSL2 然后按照上面的 Linux 步骤安装。
原生 Windows 支持可以参考官方文档。
验证安装
安装完成后,在终端输入:
claude --version
如果输出版本号,说明安装成功。
首次启动与认证
第一次运行 claude,会提示你登录:
claude
流程:
- Claude 会打开一个浏览器窗口,让你登录 claude.ai 账户
- 登录后,会自动完成认证
- 回到终端,你就可以开始使用了
如果你无法打开浏览器(比如在远程服务器上),可以通过设置环境变量手动配置 API 密钥:
export ANTHROPIC_AUTH_TOKEN=你的API密钥
详细说明见官方文档。
基本配置
首次启动后,你可以通过设置配置 Claude Code:
常用配置选项:
- 默认模型:选择 Sonnet 4.6(默认,平衡速度和质量)、Opus 4.6(更强大,更贵)或 Haiku(极快,适合简单任务)
- 权限设置:配置哪些操作需要你批准(读取文件通常默认允许,编辑文件和执行命令默认询问)
- 主题:终端输出颜色主题
配置文件保存在 ~/.claude/settings.json,你可以手动编辑。
检查更新
Claude Code 会自动检查更新。你也可以手动更新:
claude update
3. 核心概念 101
在开始使用之前,理解这些核心概念会让你事半功倍。
Sessions(会话)
每次你运行 claude,就是开启一个新的会话。
在同一个会话中:
- Claude 记住你们之前的对话
- Claude 保持对代码库的上下文理解
- 你可以逐步迭代解决问题
当你:
- 解决完一个问题 → 退出会话(
Ctrl+C两次) - 切换到完全不同的问题 → 开一个新会话
- 对话太长,上下文不够了 → 开一个新会话
提示:好习惯是一个会话解决一个问题。问题解决了,就退出。这样每个新会话都是干净的。
CLAUDE.md(项目持久记忆)
这是 Claude Code 的核心设计之一。CLAUDE.md 是存放在项目根目录的 Markdown 文件,Claude 每次会话启动都会自动读取它。
你可以在这里写入:
- 项目描述和技术栈
- 代码风格偏好(如“请使用 async/await 而不是 .then()”)
- 常用架构模式和约定
- 测试框架和命令说明
如何创建?
- 运行
/init命令,Claude 会自动分析项目结构并生成初稿 - 运行
/memory命令,可以手动打开编辑器修改内容
关键特性:当使用 /compact 压缩上下文时,CLAUDE.md 会从磁盘重新读取并重新注入到上下文中,内容永远不会丢失。这是管理持久化规则的最佳方式。
Tools(工具)
Claude Code 不是只能聊天,它有一组工具可以直接和你的代码库交互:
| 工具 | 作用 |
|---|---|
Read | 读取文件内容 |
Edit | 修改文件内容 |
Write | 创建新文件 |
Bash | 执行终端命令 |
Glob | 按模式搜索文件路径 |
Grep | 在文件中搜索文本内容 |
WebFetch / WebSearch | 获取网络内容或搜索 |
Agent | 启动子代理并行处理复杂任务 |
注意:Claude 会优先使用专用工具(如 Read/Grep)而不是等效的 shell 命令(如 cat/grep),以获得更好的权限控制和上下文管理。
权限模型
为了安全,Claude 不会偷偷修改你的文件或运行命令。每个需要修改系统的操作都会让你批准。
- 只读工具(Read、Glob、Grep、WebFetch):通常默认允许,不提示。
- 写入工具(Edit、Write)和 Shell 执行(Bash):会触发权限确认。
你会看到三种权限提示:
- 允许一次 —— 这次允许,下次还问
- 允许一直 —— 记住这个允许,以后不再问
- 拒绝 —— 拒绝这次操作
三种工作模式(Shift+Tab 切换)
Claude Code 提供了三种工作模式,按 Shift+Tab 循环切换:
| 模式 | 行为 |
|---|---|
| Default(默认模式) | 每次编辑文件或执行命令都需要确认 |
| Auto-Accept(自动接受模式) | 文件修改自动执行,无需逐一确认(但 shell 命令仍需确认) |
| Plan(计划模式) | 只读模式,Claude 只分析、规划和搜索,不做任何修改 |
当你信任当前任务或者需要快速批量修改时,可以切换到 Auto-Accept 模式提高效率。
上下文窗口
Claude 有一个上下文窗口,即单次会话中能记住的最大 token 数量。
- 标准窗口:200,000 tokens(约 150,000 个英文单词)
- 有效窗口:系统提示、工具定义、MCP 服务器配置和
CLAUDE.md会占用约 30,000 - 40,000 tokens,实际可用的对话和文件内容空间约为 160,000 - 170,000 tokens。 - 质量边界:当上下文接近 150,000 tokens 时,回答质量可能开始轻微下降。
最佳实践:
- 一个会话解决一个问题,不要聊一天
- 当 Claude 开始忘记之前的内容,先尝试
/compact压缩 - 如果压缩后仍不够,开新会话
注:最新版本的 Claude Sonnet 4.6 和 Opus 4.6 在 Beta 阶段已支持 1,000,000 token 上下文,但需要手动设置环境变量启用。对于大多数开发者,默认的 200K 已经足够。
4. 你的第一个工作流 —— 实战
我们来做一个完整的例子:克隆一个仓库,理解代码,修复一个简单的 bug,提交修改。
第一步:克隆仓库
git clone https://github.com/你的用户名/测试仓库.git
cd 测试仓库
claude
这就启动了一个新的 Claude Code 会话。
第二步:让 Claude 理解代码库
启动后,你可以这么说:
帮我理解一下这个代码库的结构,README 说了什么,主要有哪些文件?
Claude 会:
- 自动读取 README.md
- 查看目录结构
- 给你一个清晰的总结
第三步:描述你想要修复的问题
假设你发现一个 bug,页面加载时标题显示不正确。你可以说:
我发现一个问题:在首页加载的时候,页面标题没有正确显示。应该显示"主页 - 我的网站",但现在只显示"我的网站"。帮我找到并修复这个问题。
第四步:Claude 寻找问题
Claude 会:
- 搜索和"标题"、"meta"、"head"相关的文件
- 读取相关的源代码
- 找到问题所在
找到了问题,Claude 会告诉你它发现了什么,然后问你是否允许修改。
第五步:审查并批准修改
Claude 会显示它要做的修改:
- document.title = siteName;
+ document.title = pageTitle + " - " + siteName;
你检查一下,这正是你想要的 → 批准修改。
第六步:测试修改
Claude 修改完后,通常会建议你运行测试:
要不要我运行一下测试套件确保没有破坏其他功能?
批准后,Claude 会执行:
npm test
然后告诉你测试结果。
如果测试通过,就搞定了!如果失败,Claude 会看错误信息,尝试修复。
第七步:提交你的修改
测试通过后,你可以让 Claude 帮你写 commit message:
帮我写一个合适的 commit message 提交这次修改。
Claude 会根据修改内容生成一个符合约定的 commit message,然后你可以审查后执行 git commit。
或者直接运行(需在外部终端):
claude commit
Claude 会自动审查暂存区的改动并生成提交信息。
完成!退出会话
问题解决了,按两次 Ctrl+C 退出 Claude Code。
恭喜你! 你刚刚完成了你的第一个 Claude Code 工作流:从问题发现到修复提交,全程 AI 辅助。
5. 常用命令与快捷键速查
5.1 斜杠命令(Slash Commands)
这些是你在对话中输入 / 开头的命令,覆盖 90% 的使用场景:
| 命令 | 作用 | 使用时机 |
|---|---|---|
/new | 开始新的会话 | 解决完一个问题,开始下一个 |
/clear | 清除对话历史 | 想要重新开始,但不想退出重启 |
/compact | 压缩上下文 | 对话太长,上下文快满了 |
/init | 生成项目 CLAUDE.md | 初始化新项目的持久化记忆 |
/memory | 编辑 CLAUDE.md | 手动修改项目规则或偏好 |
/cost | 查看当前会话消耗 | 检查花了多少 tokens 和钱 |
/help | 查看帮助 | 忘记命令用法 |
/exit | 退出 | 用完了,拜拜 |
5.2 /compact 的高级用法
当上下文快满时,你可以直接输入 /compact,Claude 会自动总结对话。
你也可以带参数指定要保留的关键内容:
/compact retain the error handling patterns and auth module changes
或者指定关注的文件范围:
/compact focus on the API refactoring in src/routes/
压缩后,CLAUDE.md 会被重新加载,持久化记忆不会丢失。
5.3 接受 / 拒绝更改
当 Claude 给你看修改:
- 你同意 → 直接说"同意"、"批准"、"继续"
- 你不同意 → 直接说哪里不对,Claude 会调整
- 你想要微调 → 直接说"把这里改成...那样"
不用复杂的命令,自然语言交流就行。
5.4 快捷键
| 快捷键 | 作用 |
|---|---|
Ctrl+C | 中断当前输出(一次中断,两次退出会话) |
↑ ↓ | 浏览历史输入 |
Shift+Tab | 切换工作模式(Default / Auto-Accept / Plan) |
Ctrl+B | 将当前命令挂到后台运行(后台任务模式) |
ESC 两次 | 调用 /rewind,回滚 AI 的最后操作 |
5.5 常用 CLI 参数(非交互模式)
除了打开交互式会话,Claude Code 也支持直接传参执行任务:
claude -p "解释 src/utils.js 的导出函数" # 一次性查询,输出结果后退出
claude -c # 继续最近一次会话
claude -r # 继续上一次结束的会话(特定语境)
claude --print "这个错误怎么修?" # 单次查询,打印结果
6. 遇到问题怎么办(Getting Unstuck)
Claude 不是完美的,有时候会跑偏。这里是最常见的问题和解决方法。
问题 1:Claude 理解错了你的需求
解决方法: 直接纠正它。
不对,我不是这个意思,我其实想要...
Claude 不会生气,直接纠正就好。尽早纠正,避免浪费时间在错误的方向上。
问题 2:Claude 改坏了代码,越改越乱
解决方法: 优先尝试按两次 ESC 键(触发 /rewind),回滚 AI 最后的修改。如果回滚无效或改动太乱,直接开新会话。
# 退出当前会话
Ctrl+C 两次
# 重新开始
claude
把当前状态告诉新的 Claude,重新开始比在坏的基础上修修补补快得多。
问题 3:Claude 找不到文件,说文件不存在
解决方法: 检查路径对不对,然后告诉它完整路径。
文件在 src/components/Header.js,不是 app/components/Header.js。
问题 4:Claude 忘记了之前说过什么
这通常是上下文满了。
解决方法:
/compact
如果压缩之后还是忘,那就开新会话。
问题 5:命令执行卡住了,很长时间没反应
解决方法:
Ctrl+C中断命令- 告诉 Claude "命令卡住了,我们看看为什么"
- 或者按
Ctrl+B将该命令转入后台执行,你可以继续和 Claude 对话
问题 6:怎么避免常见陷阱
- 不要一个会话用一整天 —— 上下文会满,Claude 会忘东西。一个会话解决一个问题,解决完退出。
- 具体,不要笼统 —— "修复首页的标题 bug" 比 "修复这个项目的一些 bug" 好。
- 审查每一个修改 —— 尤其是删除文件或者执行危险命令。Claude 也会犯错,你是最后一道防线。
- Git 是你的安全网 —— 在让 Claude 大规模修改之前,先 commit 你的代码。这样改坏了可以轻松回滚。
下一步
读完这部分,你已经可以开始使用 Claude Code 了。接下来:
- 打开终端,启动
claude,尝试解决你手边的一个小问题 - 当你熟练了基础用法,想要提升效率,看[第二部分:Claude Code 工作流食谱 —— 进阶技巧]