第 1 章讲的是心智模型,这一章讲的是动手。目标只有一个——在你自己的代码仓库上,把第一条指令跑通

要敲的命令只有几行。剩下的时间用来弄明白「你到底在批准什么」。跳过这一步,后面一定要回头补。

入口有五个 —— 从哪里进去

Claude Code 常被介绍成「终端里的工具」,但它的入口有五个。内核是同一个,只是外面那层包装不同

终端

本体。敲一个 claude 就行。本课程以它为准

VS Code 扩展

让它住进编辑器里。差异能用你熟悉的样子来读。

JetBrains 扩展

装进 IntelliJ 系列。如果你本来就在那里开发,就不用来回切换。

桌面应用

不用打开终端就能使用。模式在输入框旁边的选择器里选。

浏览器(claude.ai)

手边没有开发环境也能用。同样用选择器切换模式。

最初一小时建议用终端。理由不是用着舒服,而是信息量。卡住时的报错原样呈现,网上的处理办法也大多以终端为前提写的。另外,它和编辑器内置型(Cursor、GitHub Copilot)的分工,写在 AI 编程实战课程第 1 章 里。

安装

标准方式是 npm。只要装了 Node.js,一行就能装完(敲 node -v 能显示版本号就说明准备好了)。-g 的意思是「装成在任何目录下都能调用的形式」。

终端 —— 安装与启动
npm install -g @anthropic-ai/claude-code claude

如果因为代理或地区限制,npm 走不通,也可以从系统的包管理器装。

终端 —— npm 走不通的时候
brew install --cask claude-code # macOS / Homebrew winget install Anthropic.ClaudeCode # Windows / WinGet

安装方式只挑一种。 用 npm 装完又用 Homebrew 装一遍,就会看到 Multiple claude installations found。搞不清到底是哪一个在跑,后面所有的排查都会变难。具体要求随环境而变,拿不准就去看官方文档

登录 —— 用账号还是用 API 密钥

第一次启动时要选登录方式。用 Claude 账号登录会打开浏览器,登录并授权后认证就通过了。这时用的是套餐的额度,消耗表现为上限和重置时间。API 密钥走的不是额度而是余额,用完就停。个人用前者,CI 和自动化用后者。

哪一种能用取决于你的合约,这里不下断言。只需要记住一点。

环境变量里的 API 密钥,优先级高于订阅账号的登录。 以前做实验时把 ANTHROPIC_API_KEY 写进了 shell 配置又忘了删,那么就算你正确登录了,登录也会被忽略。「明明订阅了却说余额不足」,多半就是这个原因。

现在到底在用哪一份凭据,/status 会告诉你。怀疑之前先看一眼。

认证相关的检查步骤
/status # 现在用的是哪一份凭据 env | grep ANTHROPIC # 环境变量里是否还留着密钥 unset ANTHROPIC_API_KEY # 留着就清掉。配置文件里的也一起删 /login # 重新登录,再用 /status 确认一遍

第一次启动会发生什么

认证通过之后,先切换到你要工作的目录再启动。Claude Code 会把「当前所在的目录」当作工作对象,切错了它就会开始读一堆不相干的东西。

终端 —— 在项目里启动
cd my-project claude

等待输入的那个界面就是对话的入口。这里建议不要一上来就让它改代码。第一步交给它一件只需要读取就能完成的事——「读一下 README 和主要目录,讲讲这个项目是做什么的」。

理由有三个。读取在默认设置下也不需要确认,所以你还没学会批准的规矩也能跑通。这个项目你自己清楚,所以能对答案。而且连接、认证、工作目录能一次性全部验证,还什么都不会弄坏。就算出现奇怪的行为,也能在进入改写阶段之前先收拾干净。

指令 → 差异 → 批准的循环

读取跑通之后,就让它做一处小的改动。从这里开始是同一个四拍节奏。

1. 提要求

用中文直接说。如果说得出要改哪里,就说出来。

2. 收集并思考

找出可能相关的文件并读完。这就是第 1 章的 STEP 1

3. 给出差异

逐行列出「这里要改成这样」,然后停在那里

4. 批准,或者驳回

放行就落到文件里。不对就驳回,并用话补上哪里不对

你:「在 README 里补一段 Windows 的说明」 ↓ [搜索] 找 README ← 读取。不会停 ↓ [读取] 读 README.md ← 读取。不会停 ↓ [编辑] 给 README.md 加三行 ← 给出差异,停下来 ↓ 你:批准 / 驳回并说明要怎么改

驳回不算失败。看过差异之后你才说得具体,所以第一条指令不必追求完美——这正是这套流程的好处。

一次交代的量,要控制在「差异读得完」的大小。 交代得越大,差异就越长,而长差异会在没读的情况下被批准。没读就按下去的批准,不是批准,是自动批准。怎么拆分放在第 3 章讲。

一开始该用哪个模式

决定它在哪里停下来的,是权限模式。终端里用 Shift+Tab 切换,VS Code、桌面应用和浏览器里用输入框旁边的选择器切换。

DEFAULT
逐次确认权限

读取自动放行。编辑和执行命令每次都要确认。第一天就用这个。

ACCEPTEDITS
自动接受编辑

工作目录内的编辑自动放行。适合事后把差异一起读完的人。

PLAN
计划模式

只调查,不改动源码。你批准了计划,它才转入执行。

AUTO
自动模式

由另一个判定模型只拦下危险操作,其余不经确认继续。有前提条件

BYPASS
绕过权限

确认和安全检查都关掉。只用于隔离环境。第一天不该碰这个。

Shift+Tab 循环切换的是前三个。自动模式在满足条件后会加入循环,首次使用会弹出一次是否启用的确认。绕过权限只有用专门的启动参数才生效。想从启动时就固定,就写 claude --permission-mode plan。除此之外还有一个不出现在选择器里的 dontAsk(只执行你允许过的操作),它只存在于配置文件和命令行中。

第一天的答案是「保持默认」。每弹出一次确认,都是在练习分辨「这是读取、写入,还是执行」。分得清了再放松——反过来做,你就会在不知道自己放松了什么的情况下放松。第二个该用的是计划模式

有些地方在任何模式下都受保护。.git.claude、shell 配置文件这类要害路径的写入,除绕过权限之外的所有模式都不会自动批准。并不是「一放松就全都放松了」。

各模式的细节见权限模式的详解文章,按工具逐项写允许与拒绝的方法见权限规则与配置的文章。另外要说明,「确认太烦」的答案不是绕过权限。它既挡不住你自己的误操作,也挡不住藏在它所读内容里的指令。想减少弹窗,先写只放行你信得过的操作的规则。怎么设计放在第 5 章。

CLAUDE.md —— 省掉每次都要交代的话

用上两天你就会发现「同样的提醒每次都要说一遍」。「这个目录别动」「提交前先跑 lint」——每次都敲一遍,既费时间也费上下文。于是就在项目根目录放一个 CLAUDE.md。Claude Code 启动时会自动读它,并以里面写的内容为前提开始干活。

CLAUDE.md —— 一开始这些就够了
# 关于本项目 - TypeScript / Next.js。包管理用 npm - 回复和代码里的注释用中文 ## 不要改动 - src/legacy/ 下面的一切(由另一个团队维护) - .env 及其派生文件 ## 验证 - 改完之后要跑通 npm run lint 和 npm test - 类型错误还在的时候不要说已经完成

写什么,取决于「AI 不可能自己知道的事」

写:验证的步骤

用哪条命令来确认。它让第 1 章的 STEP 3 成立,所以收效最大。

写:不能碰的地方和本地规矩

生成物、别的团队的地盘、含有密钥的文件。以及「新页面放在这里」这类看代码也看不出来的约定

不写:大道理和长篇

「写出易读的代码」之类。既判断不了有没有做到,还只会稀释掉你真正希望被遵守的那几行

怎么把它养大也有固定做法。一开始只写几行。同一个提醒说到第二遍,就加一行。想一次写全,只会得到一个又长又含糊的文件,最后没人遵守。「没被遵守」的原因,通常就是太多、太抽象、自相矛盾这三样里的一样。

权限规则和模型选择可以分开放在 .claude/settings.json(项目)和 ~/.claude/settings.json(个人)里,不过第一天只要写几行 CLAUDE.md 就足够了。怎么分工放在第 6 章。

第一天最常出问题的三件事

卡住的方式是有偏向的,第一天基本就是这三种。

command not found: claude

装是装上了,但不在能被调用的路径里。把 ~/.local/bin(Windows 是 %USERPROFILE%\.local\bin)加进 PATH。也可能是重复安装造成的。

认证过了却还是被拒

经典情况是旧的 ANTHROPIC_API_KEY 盖过了订阅。用 /status 确认,清掉环境变量再重新登录

比想象中更快撞到上限

Claude Code 消耗的令牌是聊天的 10 到 100 倍。因为来回的轮次和读文件的量都在往上堆。

第三件事上有个常见的误会。那句大意是「服务器正在临时限制请求」的提示,指的是服务端的临时限流,而不是套餐额度,稍等一会儿就能过去。到底有没有撞上额度,用 /usage 就能分辨。

搞不清原因时,按这个顺序来
claude doctor # 对安装、配置、MCP、上下文做一次综合体检 /status # 现在用的是哪一份认证 /context # 上下文都被什么占掉了,看明细 claude update # 实在不清楚就升到最新版(能这样解决的问题不少)

最后那条 claude update 看着不起眼,其实很管用。光是升个版本就消失的毛病相当多,在动手查之前先跑一遍,就不用去追一个根本不存在的问题。按症状分类的处理办法见常见报错与处理的文章排查的完整步骤放在第 4 章讲。

小结

  • 入口有五个。内核相同,但最初一小时里信息量更大的终端更占便宜
  • 标准装法是 npm install -g @anthropic-ai/claude-code。走不通就用 Homebrew / WinGet。装法只挑一种
  • 登录方式是账号(额度)API 密钥(余额)环境变量里的密钥会盖过订阅——拿不准就看 /status
  • 第一步交给它只需要读取的事。连接、认证、工作目录一次全验证到,还什么都不会弄坏
  • 要转起来的是指令 → 差异 → 批准。任务要拆到差异读得完的大小。不读的批准等于自动批准
  • 第一天的模式用默认(逐次确认权限),第二个用计划模式.git 等受保护路径在绕过权限以外的模式下始终受保护
  • CLAUDE.md 放在根目录,从几行写起。写验证的步骤、不能碰的地方、这里的规矩,不写大道理
  • 第一天的卡点是 PATH、环境变量里的密钥、用量。先跑 claude doctor / /status / /context

第一条指令跑通之后,接下来就该把它放进每天的工作里了。请前往 第 3 章「日常工作流」