Claude Code 从 0 到 1 快速上手

转载请注明出处❤️

作者:测试蔡坨坨

原文链接:caituotuo.top/9f4a1111.html


你好,我是测试蔡坨坨。

最近一段时间,我几乎每天都在用 Claude Code,用得越多,越发现它的潜力根本没有上限。很多人一开始接触它,默认把它当成一个”AI 写代码的工具”——你说需求,它写代码,仅此而已。但实际深度使用下来,我发现这个理解太窄了。 Claude Code 不止是在帮你写代码,它更像是一个真正参与项目的协作者:能看懂设计稿、能规划架构方案、能管理后台任务、能从需求文档生成测试用例并跑通自动化测试、能按你定的规范和风格持续工作。把它的能力用完整了,工作方式真的会变。

不过要把这个工具从入门真正落地到生产环境,光会敲几个简单的命令是远远不够的。

所以这篇文章直接从安装到高级定制全面覆盖,包括:

  • 环境搭建与基础交互
  • 终端与权限管理
  • 多模态与上下文
  • Hook/Agent/Skills 高级玩法

把 Claude Code 的实战流程彻底走一遍。

含金量绝对是拉满的,只要你花点时间看完,保证你能够彻底吃透 Claude Code,让它成为你最顺手的生产力工具。

顺便说一下,Codex、Open Code 这类编程 Agent 其实跟 Claude Code 用法差不多,看完这篇基本就能上手同类工具。

一、环境搭建与基础交互

1. 安装与启动

首先打开 Claude Code 的官网:https://claude.com/product/claude-code

复制命令粘贴到终端:

1
curl -fsSL https://claude.ai/install.sh | bash

PS:Windows 用户使用 Powershell 打开

当然也可以通过 npm 安装:

1
npm install -g @anthropic-ai/claude-code

但是这种方式官方已经不推荐了,如果你已经使用 npm 的方式安装了,也可以通过执行 claude install 命令直接转成 Native 版本。

安装完成之后,使用 claude --version 命令查看版本:

正常显示版本号,说明安装成功了。

安装完成后,我们试着用它来做一个记账软件。

在终端创建并进入项目目录,再输入 claude 启动:

1
2
mkdir my-ledger && cd my-ledger
claude

2. 登录与模型选择

首次打开 Claude Code,一般会提示你进行登录,如果没有被提醒,也可以执行 /login 命令来主动触发登录流程:

标准登录方式有三种:

  • 订阅制(Claude Pro 或 Max 会员)直接选第一项,选完会弹出网页授权,同意后回终端按回车完成。
  • API Key 则按用量付费选第二项
  • 第三种是第三方平台(Amazon Bedrock、Microsoft Foundry 或 Vertex AI)。

如果用的是第三方中转服务或国产模型,需要自定义 API 地址和 Key。

临时配置,在终端直接设置环境变量,关闭终端后失效:

1
2
export ANTHROPIC_API_KEY=你的key
export ANTHROPIC_BASE_URL=https://你的中转地址

永久配置,写入 ~/.claude/settings.jsonenv 字段,之后每次启动 Claude Code 都会自动加载:

1
2
3
4
5
6
{
"env": {
"ANTHROPIC_API_KEY": "你的key",
"ANTHROPIC_BASE_URL": "https://你的中转地址"
}
}

注意:Claude Code 是一个通用的编程 Agent,它本身不绑定 Claude 模型,GLM、MiniMax 等国产模型只要兼容 Anthropic API 格式,照此配置即可驱动。

3. 三种核心交互模式

前面我们说过我们要做的是一个记账软件,那我们现在就把这个需求告诉 Claude Code,让它帮我们实现:

可以看到 Claude Code 想要创建一个叫做 index.html 的文件,询问我们是否同意。

这里面一共有三个选项:

  1. Yes:表示单次授权,只同意创建当前的这么一个文件,如果它接下来还需要创建其他文件的话,它还会再次向我们询问确认
  2. *Yes, allow all edits during this session **(shift+tab)***:表示在本次的对话期间,后续所有的文件操作都会自动通过,不会再反复打扰我们
  3. NO:表示不同意,选择了它之后,你可以继续输入你的想法,Claude Code 会根据你的输入生成代码并再次向你确认

我们这里选择第二项,开启自动模式,把后续的工作全权交给它。

选完之后会看到输入框下方多了一行字:

accept edits on (shift+tab to cycle)

这个就表示目前的自动同意模式已经开启了,如果说你后悔了,也可以使用 shift+tab 建来切换模式。

按一下,可以看到它变成 plan mode on,也就是规划模式,这个模式主要用来探讨复杂的方案,只聊天不执行:

我们再按一次,可以看到底部的 plan mode 消失了,变成了 ? for shortcuts,也就是最开始的默认模式:

Shift + Tab 在三种模式间循环:

模式 显示标志 特点
默认模式 底部显示 ? for shortcuts 最谨慎,每次创建或修改文件前都会询问用户
自动模式 底部显示 Accept edits on 最方便,自动执行文件操作,不再询问
规划模式 底部显示 Plan mode on 适合构思,只讨论方案,不修改文件,适合在动手前确定细节

选择好模式之后,我们再回头看看之前 Claude Code 给我们写好的文件:

效果还不错,Caude Code 还是很厉害的。

4. 交互小技巧

  • 换行: 在输入框中按 Opt + Enter 换行,直接按 Enter 则提交请求。
  • VS Code 联动: 若觉得终端输入框难用,按 Ctrl + G 可打开 VS Code 标签页进行编辑,保存并关闭后内容自动同步回终端,不用担心误按 Enter 提交。

5. 启用/关闭 thinking 模式

快捷键:Alt+T(Windows)、Opt+T(Mac)

二、复杂任务处理、终端控制与权限

1. Plan 模式的完整工作流

虽然前面生成的页面效果还不错,但是这里有个坑,它把所有的代码都写到 index.html 里面了,等项目做大了,维护起来简直是灾难,所以我们最好换成 React + TypeScrip + Vite 等这种现代架构,把代码分模块管理。

我们可以让 Claude Code 改掉,不过改架构是个大工程,这个时候就是 Plan Model 登场的时候了。它就是专门用来讨论方案,确定细节的。

在 Plan 模式下提交需求后,Claude 会给出一份详细计划(包含目标、任务清单、目录结构等),并在最后提供四个选项:

  1. 清空上下文,执行计划,并进入自动同意模式:后续修改文件不再询问用户
  2. 执行计划,并进入自动同意模式:后续修改文件不再询问用户
  3. 执行计划,使用默认模式:后续每次写文件前仍会询问用户
  4. 继续修改计划:如果对计划不满意,可以追加修改意见(如”给每条账单增加分类标签,支出用红色、收入用绿色显示”),Claude 会据此重新输出一份计划

我们选择第二项,直接执行这个计划:

这个时候我们发现 Claude Code 暂停了,询问我们是否执行 npm 命令来初始化项目,这是为什么呢?我们不是选择的是自动执行模式吗?不需要每次都询问用户的。这是因为 Accept edits on 仅表示写入文件的时候不需要询问,这个是在执行终端命令, Claude Code 认为执行终端命令是一个比较危险的操作,所以需要征得用户的同意才会继续。

而且这里面还没有一个自动执行所有终端命令的选项,即使是第二项,也只是说执行 npm create vite@latest . – –template react-ts 2>&1 这条命令时不需要询问。如果你觉得每次选择太麻烦的话,Claude Code 其实提供了一个比较隐蔽的选项,可以跳过这个选择的步骤,具体参考权限管理小结。

我们选择第一项,让 Claude Code 继续干活。

2. 终端指令与后台任务

  • Bash 模式: 输入 ! 即可进入 Bash 模式,运行任意终端命令(如 open index.html),前面打开 index.html 文件我们也可以使用这种方式:

  • 后台运行: 运行持续性服务(如 npm run dev)会阻塞 Claude 的响应。按 Ctrl + B 可将其置于后台,Claude 恢复交互,底部会出现后台任务提示。

  • 任务管理: 输入 /tasks 可以查看所有后台任务,按 x 键结束选中的任务,按 Esc 返回主界面。

我们在后台运行服务的同时,加一个切换语言的功能,支持中/英文切换:

先按 Esc 返回主界面,再把我们的需求告诉 Claude Code

可以看到右上角多个一个语言切换按钮,点击也能正常切换。

3. 权限管理

执行终端命令(如 mkdirnpm install)被 Claude 视为危险操作,即使在自动模式(Accept edits on)下也会请求授权——自动模式仅针对文件写入,不包含终端命令。

授权时的选项说明:

  • Yes:仅同意当前这一条命令
  • 第二项(如”以后可以自由访问 src 目录”):授权特定范围的持续访问权,但执行其他命令仍需询问
  • 注意:这里通常没有一次性授权所有终端命令的选项

启动时加 --dangerously-skip-permissions,Claude 进入 Bypass permission 模式,用着省心,但它拥有与你完全相同的终端权限,删文件、跑脚本都不会问你。是否开启,自己判断。其实就是一把双刃剑,往好的说它能够极大地提高开发效率,全自动干活,不用你一直盯着点同意;往坏的说,它理论上是拥有了和你一样的终端权限,虽然说 Claude Code 只有在极度发疯的情况下才会去破坏你的电脑,这种概率可以说是微乎其微,但是必须要提醒大家,这个选项会让 Claude Code 彻底放飞自我,所以理论上还是有一定的危险性的。

1
claude --dangerously-skip-permissions

三、多模态输入与版本管理

1. 视觉输入(图片)

可以通过两种方式将设计稿图片传给 Claude Code:

  • 直接拖拽图片到 Claude 的输入框
  • 复制图片文件后,在终端按 Ctrl + V 粘贴(注意:macOS 下也必须用 Ctrl + V,而非 Cmd + V

图片传入后,继续输入请求即可让 Claude 根据图片修改代码。但需注意,通过图片传达字体、间距等细节时精度有限,更精确的方案是使用 MCP(见第四部分)。

2. 版本回滚

有两种方式触发回滚:

  • 输入 /rewind 命令
  • 连续按两下 Esc

我们尝试把前面新增的 中/英文 切换功能回滚:

进入回滚页面后,选择对应的回滚点(每次提交请求时 Claude Code 都会自动创建),按回车确认,再选择回滚范围:

  1. 回滚代码和对话
  2. 仅回滚对话
  3. 仅回滚代码
  4. 放弃回滚

这里我们选择第一个:

可以看到右上角切换语言的功能已经回滚了。

有一点要注意:Claude 只能回滚它自己写入的文件,终端命令生成的(node_modulesmkdir 创建的目录等)它管不着。所以回滚不能完全依赖它,Git 才是保险。

3. 对话恢复

退出 Claude Code 后重新进入,对话记录会消失,有两种恢复方式:

  • 启动后输入 /resume,选择对应的历史对话

  • 启动时添加 -c 参数,自动恢复上一次的对话

    1
    claude -c

四、MCP 深度集成

详情参考:「MCP 入门,看完这篇就够了

MCP(Model Context Protocol)是模型与外界沟通的渠道。

用飞书 MCP 走一遍接入流程,有三种接入方式:

本地调用支持的工具是最多的,所以我们这里选择本地调用。

在飞书开放平台创建一个自建应用,拿到 App IDApp Secret,然后执行安装命令:

1
npx -y @larksuiteoapi/lark-mcp login -a <your_app_id> -s <your_app_secret>

装完后在 Claude Code 里执行 /mcp,选择飞书,填入应用凭证完成配置。View Tools 可以看它支持的工具列表,涵盖文档读写、多维表格、日历、消息等。

用的时候不需要手动指定调哪个工具。直接描述需求,把飞书文档或表格链接粘进来,Claude 会自己判断:

  • 调用 document.read 读取飞书文档内容,比如需求文档、设计说明
  • 调用 bitable.record.list 读取多维表格里的数据
  • 调用 document.create 把生成的内容(设计文档、接口文档、测试报告等)直接写回飞书

例如:需求写在飞书文档里,直接把链接扔给 Claude Code,让它读完文档再写代码,省掉手动复制粘贴的步骤;再对业务代码进行单元测试、集成测试;跑完测试也可以让它把报告直接推到指定的飞书文档里,整个流程不用离开终端。

五、上下文管理与项目持久化

1. 上下文压缩与清空

对话跑久了,上下文里会堆很多东西——代码、MCP 返回结果等,Token 消耗上去,响应也会变慢。

  • /compact:压缩上下文,把冗余内容提炼掉。后面可以追加策略,比如”重点保留用户提出的需求”。按 Ctrl + O 可查看压缩后的内容。

    • 方式1:直接使用 /compact 命令

      压缩完成之后,可以按 ctrl+o 查看压缩之后的上下文。

    • 方式2:在 /compact 命令后面指定压缩策略,比如 /compact 重点保留用户的需求

  • /clear:彻底清空所有上下文。适用于后续任务与之前完全无关的场景。

2. CLAUDE.md(项目说明书)

CLAUDE.md 解决的是一个具体问题:上下文跟对话绑定,换个对话就什么都不记得了。有了这个文件,每次启动 Claude 都会读它,相当于给它一份持久的项目背景。

执行 /init,Claude 会自动生成一份 CLAUDE.md 文件,内容可以随便改:

  • 项目背景和技术栈说明
  • 编码规范和注意事项
  • 特殊指令(如”每次回答结尾必须追加 Happy coding, caituotuo~“)

输入 /memory,可以选择打开项目级(存放在当前目录,对当前项目生效)或用户级(存放在用户目录,对当前用户所有项目生效)的 CLAUDE.md,不用自己去文件管理器里找。

注意:修改 CLAUDE.md 后需重启 Claude Code 才能生效。

六、高级定制:Hooks、Skills、SubAgents 与 Plugins

1. Hooks(钩子)

Hook 的作用是在工具运行前后插入自定义逻辑,比如写完文件后自动格式化,或失败时发一条通知。

执行 /hooks,选择触发时机(PreToolUse / PostToolUse / PostToolUseFailure / Notification / UserPromptSubmit),再选择 Add new matcher 指定对应工具(如 WriteEdit),然后填写具体命令。

比如配一个自动格式化,每次 Claude 写完文件,Prettier 自动跑一遍:

1
jq -r '.file_path' | xargs prettier --write
  • jq 用于解析当前编辑好的文件 file_path
  • xargs 将文件路径传递给 prettier --write 执行格式化

Hook 的保存范围有三种:

范围 对应文件 说明
本地项目级 .claude/settings.local.json 仅本机本项目生效,文件会被加入 .gitignore,不共享给他人
项目级 .claude/settings.json 项目所有用户均可使用,随 Git 分发
用户级 用户目录下的配置文件 对当前用户的所有项目生效,不随项目走

2. Agent Skill(技能)

详情参考:「Agent Skills:让 AI Agent 变身 “领域专家” 的秘密武器

Agent Skill 本质是一个动态加载的 Prompt 模板,适合处理重复性、格式化的任务(如每日开发总结)。

在用户目录下的 ~/.claude/skills/ 中创建子文件夹(如 daily-report),在其中新建 skill.md 文件,内容分为两部分:

1
2
3
4
5
6
7
8
9
10
---
name: daily-report
description: 用于生成每日开发总结的技能,当用户要求写日报时调用
---

## 日报格式要求
- 日期:
- 开发内容:
- 开发详情:
...

触发方式有两种:

  • 一种是描述需求,Claude 自动识别并请求调用,确认后执行。
  • 另一种是直接输入 /daily-report 今天完成了账单录入功能开发,跳过识别环节,结果更可控。

3. SubAgent(子代理)

SubAgent 有自己独立的上下文、工具和 Skill,跑完任务只汇报结果,不把中间过程塞回主对话。

输入 /agents,选择 Create new agent,依次选择:

  • 作用范围(项目级 / 用户级)
  • 创建方式(推荐选 Claude Code 辅助初始化)
  • 描述该 Agent 的职责
  • 可用工具(如代码审核 Agent 只需 Read-only tools)
  • 使用的模型(默认 Sonnet)
  • 显示颜色(运行时以此颜色区分)

生成后按 e 手动编辑描述文件,精确定义审核准则和输出格式。

Skills 和 SubAgent 的结构很像,它俩最大的区别就在于对上下文的处理方式不同:

对比维度 Agent Skill SubAgent
上下文 完全继承并共享主对话上下文 完全独立,拥有自己的上下文窗口
中间过程 所有日志和思考过程都写入主对话 只向主对话汇报最终结果
适用场景 与当前上下文强关联、对上下文影响小的任务(如写日报) 与当前上下文弱关联、但执行过程信息量大的任务(如深度代码审核)

对大型代码库执行代码审核时,若用 Skill 处理,海量的中间分析过程会逐步塞满上下文,导致模型变慢变傻;改用 SubAgent 则只需接收一份最终审核报告,主对话始终保持干净。

4. Plugin(插件)

Plugin 就是把 Skill、SubAgent、MCP、Hook 打包在一起,一条命令一键安装。

输入 /plugins,进入插件管理页面:

  • Discover:发现新插件
  • Installed:查看已安装插件
  • Marketplaces:插件市场

安装时可以选择范围:当前用户、当前项目,或当前用户的当前项目。

比如 frontend-design 插件内置了一套前端设计规范。装上之后,Claude 生成的页面色调和排版会明显不一样,不再是那种千篇一律的深紫色渐变风格。安装后对应的 Agent Skill 会出现在 /skills 列表中,使用 /frontend-design 主动调用。

修改之后的效果:

参考文档