Claude Code 实战开篇:从安装到命令行自动化搭子
生命不息,折腾不止。DeepSeek Harness 系列收工了,今天开新坑——Claude Code。这一篇不讲花活,就干一件事:把它装好,再把它塞进管道和脚本,变成一个能替你干活的命令行搭子。
一、Claude Code 到底是个啥(一句话版)
Claude Code 是 Anthropic 官方的终端 AI 编程工具。它不像网页版那样只能聊天,而是直接住在你的终端里:能读你的代码库、改文件、跑命令、执行 git 操作,全程你可以盯着它每一步、随时叫停。
把它理解成一个「住进 shell 的 AI 搭子」就够了。你要做的不是学会它,而是学会指挥它——这正是这个系列要折腾的事。
二、安装与登录:三分钟开跑
前提:装好 Node.js(18 以上)。然后一条命令:
1 | npm install -g @anthropic-ai/claude-code |
进到你的项目目录,直接敲:
1 | cd your-project |
首次运行会提示登录。这里插一句:国内直连和绑卡的门槛,之前那篇《Claude Code 国内配置教程》已经讲透了,用中转站一步到位(国内直连、免绑卡、人民币按量付费);这篇默认你已经配好,直接开搞实战。
登录后你会进到一个交互界面,可以像聊天一样下指令:帮我看看这个项目是干嘛的。它读文件、给结论,每一步操作前会问你允不允许。不放心的话,先用只读指令(”解释一下 xxx”)熟悉它的节奏。
三、CLAUDE.md:给它写一份「项目说明书」
Claude Code 每次启动,都会自动读项目根目录的 CLAUDE.md。这文件就是它的「记忆卡」——把你希望它每次都记住的东西写进去,它就不用每次重新摸索。
一个真实能用的 CLAUDE.md 长这样:
1 | # Build & test |
它支持多层:项目根目录一份,子目录里还能放各自的 CLAUDE.md(读哪个目录的文件,就自动带上哪个目录的说明);全局的放 ~/.claude/CLAUDE.md,所有项目通用。
两个硬规矩要记住:
- 越短越好,控制在 200 行以内。超过的会被静默忽略,而且每多一条「常年指令」都会在每一轮消耗注意力,臃肿的说明书反而让它不听话。
- 写「事实和规矩」,不写废话。构建命令、目录结构、必须遵守的约定——这些是它的价值所在。
四、headless 模式:把它塞进管道和脚本
交互界面适合人盯着用,但「自动化搭子」的关键是 headless 模式——给个任务、输出结果、直接退出,全程不需要你坐在那按回车。
核心就一个 -p 参数(print mode):
1 | claude -p "用一句话解释这个项目是干嘛的" |
它跑完就把结果打到 stdout,然后退出。这一下,它就能进管道了:
1 | # 把构建错误日志丢给它分析 |
配合 shell 定时任务,就是最简单的自动化:每天早上把昨天的日志交给它总结,或者让它在 CI 里自动 review 一次提交。这是 Claude Code 区别于「聊天工具」的分水岭——它能被程序调用。
想验一下链路通不通,跑这条(能验证登录态、模型权限、工具权限):
1 | claude -p 'echo ok' --output-format json |
五、Hooks:让它自己管住自己
自动化最怕「它自作主张改坏东西」。Claude Code 的 **Hooks(钩子)**就是给自动化上的保险:在工具调用前/后、会话开始/结束这些时刻,自动执行你指定的命令或检查。
配置写在 ~/.claude/settings.json(全局)或 .claude/settings.json(项目级)。举两个最实用的例子。
例 1:禁止改敏感文件。在工具调用前拦截,碰到 .env、package-lock.json 直接拒绝:
1 | { |
脚本返回状态码 2,Claude Code 就会拦截这次调用。规则说得很明白:敏感文件,碰都别碰。
例 2:改完 .ts 文件自动格式化。工具调用成功后跑 prettier:
1 | { |
钩子事件就三类记牢:PreToolUse(调用前)、PostToolUse(成功后)、Stop(回复结束时),另外还有 SessionStart、SessionEnd、Notification 等会话级事件。命令型钩子靠退出码判定(0 放行、2 拒绝),提示词型钩子(type: "prompt")则让模型帮你做语义判断。
六、先把地图铺开:后面几篇要打的地形
这一篇只搭了骨架,Claude Code 真正好玩的东西在后面,先给你画个地图:
- Subagents(子代理):
.claude/agents/<name>.md里定义,每个子代理有独立的上下文窗口,能并行帮你搜代码、跑调研,干完只把结论送回主对话——主上下文永远清爽。 - Slash Commands(斜杠命令):
.claude/commands/<name>.md里存一段提示词,敲/命令名就触发,相当于给你的工作流做快捷键。 - Skills:
.claude/skills/<name>/SKILL.md,多步骤的可复用流程,平时零成本,用到时才加载。
这些就是 Claude Code 从「工具」升级成「搭子」的关键零件,咱们一篇一篇拆。
生命不息,折腾不止。下一篇上硬菜:Subagents 实战——把一个「改完三个模块还要统一测试」的大任务,拆给几个子代理并行干,看看主对话怎么坐收渔利。你先把
claude -p和 CLAUDE.md 用顺手,下一篇见。