第 1 章讲的是心智模型,这一章讲的是动手。目标只有一个——在你自己的代码仓库上,把第一条指令跑通。
要敲的命令只有几行。剩下的时间用来弄明白「你到底在批准什么」。跳过这一步,后面一定要回头补。
入口有五个 —— 从哪里进去
Claude Code 常被介绍成「终端里的工具」,但它的入口有五个。内核是同一个,只是外面那层包装不同。
本体。敲一个 claude 就行。本课程以它为准。
让它住进编辑器里。差异能用你熟悉的样子来读。
装进 IntelliJ 系列。如果你本来就在那里开发,就不用来回切换。
不用打开终端就能使用。模式在输入框旁边的选择器里选。
手边没有开发环境也能用。同样用选择器切换模式。
最初一小时建议用终端。理由不是用着舒服,而是信息量。卡住时的报错原样呈现,网上的处理办法也大多以终端为前提写的。另外,它和编辑器内置型(Cursor、GitHub Copilot)的分工,写在 AI 编程实战课程第 1 章 里。
安装
标准方式是 npm。只要装了 Node.js,一行就能装完(敲 node -v 能显示版本号就说明准备好了)。-g 的意思是「装成在任何目录下都能调用的形式」。
npm install -g @anthropic-ai/claude-code
claude
如果因为代理或地区限制,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 章的 STEP 1。
逐行列出「这里要改成这样」,然后停在那里。
放行就落到文件里。不对就驳回,并用话补上哪里不对。
你:「在 README 里补一段 Windows 的说明」
↓
[搜索] 找 README ← 读取。不会停
↓
[读取] 读 README.md ← 读取。不会停
↓
[编辑] 给 README.md 加三行 ← 给出差异,停下来
↓
你:批准 / 驳回并说明要怎么改
驳回不算失败。看过差异之后你才说得具体,所以第一条指令不必追求完美——这正是这套流程的好处。
一次交代的量,要控制在「差异读得完」的大小。 交代得越大,差异就越长,而长差异会在没读的情况下被批准。没读就按下去的批准,不是批准,是自动批准。怎么拆分放在第 3 章讲。
一开始该用哪个模式
决定它在哪里停下来的,是权限模式。终端里用 Shift+Tab 切换,VS Code、桌面应用和浏览器里用输入框旁边的选择器切换。
读取自动放行。编辑和执行命令每次都要确认。第一天就用这个。
工作目录内的编辑自动放行。适合事后把差异一起读完的人。
只调查,不改动源码。你批准了计划,它才转入执行。
由另一个判定模型只拦下危险操作,其余不经确认继续。有前提条件。
确认和安全检查都关掉。只用于隔离环境。第一天不该碰这个。
Shift+Tab 循环切换的是前三个。自动模式在满足条件后会加入循环,首次使用会弹出一次是否启用的确认。绕过权限只有用专门的启动参数才生效。想从启动时就固定,就写 claude --permission-mode plan。除此之外还有一个不出现在选择器里的 dontAsk(只执行你允许过的操作),它只存在于配置文件和命令行中。
第一天的答案是「保持默认」。每弹出一次确认,都是在练习分辨「这是读取、写入,还是执行」。分得清了再放松——反过来做,你就会在不知道自己放松了什么的情况下放松。第二个该用的是计划模式。
有些地方在任何模式下都受保护。 对 .git、.claude、shell 配置文件这类要害路径的写入,除绕过权限之外的所有模式都不会自动批准。并不是「一放松就全都放松了」。
各模式的细节见权限模式的详解文章,按工具逐项写允许与拒绝的方法见权限规则与配置的文章。另外要说明,「确认太烦」的答案不是绕过权限。它既挡不住你自己的误操作,也挡不住藏在它所读内容里的指令。想减少弹窗,先写只放行你信得过的操作的规则。怎么设计放在第 5 章。
CLAUDE.md —— 省掉每次都要交代的话
用上两天你就会发现「同样的提醒每次都要说一遍」。「这个目录别动」「提交前先跑 lint」——每次都敲一遍,既费时间也费上下文。于是就在项目根目录放一个 CLAUDE.md。Claude Code 启动时会自动读它,并以里面写的内容为前提开始干活。
# 关于本项目
- 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 章。
第一天最常出问题的三件事
卡住的方式是有偏向的,第一天基本就是这三种。
装是装上了,但不在能被调用的路径里。把 ~/.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 章「日常工作流」。