Begin with Claude Code | 快速上手 Claude Code
Astralyn

前言

Claude Code 是 Anthropic 推出的 Agent,在不订阅 Claude Pro/Max 的情况下,我们可以接入 Messages 格式的 API 来使用其他模型,比如 DeepseekMinimax

如果你对 Agent 不是很了解的话,可以阅读这篇文章


安装与配置

我会以 Windows 为例示范安装流程,在开始前需要先安装 Git for Windows;后文中~ 代表着 %USERPROFILE%,即用户根目录 C:\Users\<用户名>\

~是 Unix-like 系统的用法,Git for Windows 的作用是提供 Git Bash,这样就能借助它在 Windows 上执行 Linux 命令(因为大模型更加擅长 Bash 而非 Powershell

安装 Claude Code

网络条件:执行以下命令需要能够正常访问 claude.ai storage.googleapis.com 等域名,如果没有访问国际互联网的条件,可以参考这篇文章

在 PowerShell 中执行以下命令安装:

1
irm https://claude.ai/install.ps1 | iex

安装完成后,会显示类似以下输出:

1
2
3
4
5
6
7
8
9
Installing Claude Code native build latest...

√ Claude Code successfully installed!

Version: 2.1.81

Location: C:\Users\UserName\.local\bin\claude.exe

Next: Run claude --help to get started

添加环境变量

现在,我们需要将 %USERPROFILE%\.local\bin 添加到PATH环境变量,这样才能在任意目录下使用 claude 命令。

如果你不知道在哪里设置环境变量,可以向豆包、千问、元宝、Deepseek 它们询问,比如:”我正在使用 Windows 10/11 系统,想要将~/.local/bin添加到环境变量,应该怎么操作?”

如果你熟悉 Powershell 命令的话,也可以在 PowerShell 中执行:

1
2
$currentPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
[Environment]::SetEnvironmentVariable('PATH', "$currentPath;$env:USERPROFILE\.local\bin", 'User')

添加完成后,我们需要重启终端使环境变量生效,否则直接在原本终端中输入 claude 依旧会提示没有这个命令/程序。

验证是否成功

重启终端后,我们可以运行 claude --version 来验证,如果能正常输出版本号,就说明安装成功:

1
2
PS C:\Users\UserName> claude --version
2.1.81 (Claude Code)

配置文件概览

下面是常见布局示意图,首次使用时,因为 Claude Code 还未初始化,配置文件可能不存在,自行在对应目录创建即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 用户级:对你机器上的所有项目生效
~/
├── .claude.json # 全局状态文件,同时存放用户级 MCP 配置
└── .claude/
├── CLAUDE.md # 全局记忆
├── settings.json # 默认配置,负责环境变量、模型设置、权限管理、功能开关等
├── settings_<name>.json # 追加设置,会在第三章中提到如何使用
├── commands/ # 自定义命令(目前已被 Skill 取代)
│ └── review.md
├── skills/ # Skills
│ └── security-review/
│ └── SKILL.md
├── agents/ # 自定义 subagent
│ ├── code-reviewer.md
│ └── security-auditor.md
└── rules/ # 用户级规则(可选)
└── preferences.md

# 项目级:只对当前项目生效
your-project/
├── CLAUDE.md # 项目记忆,也可以存放在 .claude/ 下
├── .mcp.json # 项目级 MCP 配置,适合进入 Git
└── .claude/ # 与用户级目录相同,此处省略

settings.json

settings.json 是 Claude Code 的层级配置机制,可以用来配置环境变量、权限、自动化钩子以及其他设置。

通常接触到的有三层,其中 User 级的 ~/.claude/settings.json 是最常用的配置入口。

优先级 层级 文件路径
Local(本地私有) .claude/settings.local.json
Project(项目共享) .claude/settings.json
User(个人全局) ~/.claude/settings.json

我们现在创建~/.claude/settings.json,填入以下内容(其中占位符需要修改为自己真实的 API 与模型信息

如果有使用多个不同配置文件(比如同时使用 deepseek、minimax、kimi)的需求,可以参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"env": {
"ANTHROPIC_BASE_URL": "API Endpoint",
"ANTHROPIC_AUTH_TOKEN": "API Key",
"ANTHROPIC_MODEL": "Your Preferred Model",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "Your Preferred Model",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "Your Preferred Model",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "Your Preferred Model",
"API_TIMEOUT_MS": "3000000"
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "60",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
"CLAUDE_CODE_EFFORT_LEVEL": "max"
},
"attribution": {
"commit": "",
"pr": ""
},
"permissions": {
"defaultMode": "bypassPermissions"
},
"showClearContextOnPlanAccept": true,
"autoUpdatesChannel": "latest",
"skipDangerousModePermissionPrompt": true
}

注意:JSON 格式必须严格正确(最后一行不能有逗号),否则配置会被忽略。

.claude.json

Claude Code 首次启动会要求登录,我们现在创建~/.claude.json,填入以下内容以跳过首次启动时的引导流程:

1
2
3
{
"hasCompletedOnboarding": true
}

启动 Claude Code

命令行

配置完成后,进入任意项目目录,在终端输入 claude 即可启动,下面是交互式界面:

image

VSCode

如果不习惯在命令行中工作的话,可以选择 VSCode 插件版本的 Claude Code。

在左侧 Extensions 中搜索 Claude Code for VS Code,找到 Anthropic 官方发布的版本进行安装。

image

安装插件后,可以直接点击 Claude Code 图标打开侧边栏进行对话,但是启动时读取 ~/.claude/settings.json 需要一定的时间,所以登陆界面会一闪而过:

image

我们可以按 Ctrl + , 打开 VSCode 设置,输入 ClaudeCode 搜索相关设置,勾选 Disable Login PromptHide Onboarding

image

VSCode 插件版本的功能与命令行 CLI 版本几乎一致,界面更加友好;而且理论上可以在任意基于 VSCode 二次开发的 IDE 中使用这个插件版本,比如 Cursor,Antigravity,Windsurf 等。

基本使用

在终端输入 claude 进入交互式界面后,有几种基本的输入方式:

  • ! 前缀:直接执行 Bash 命令,不经过 Agent
  • / 前缀:调用命令或 Skill
  • @ 前缀:引用文件路径,Claude 会在回复前先读取那个文件
  • & 前缀:把任务放到后台执行
  • \ + 回车:输入换行(也可以按住 Ctrl 再按 Enter)
常用操作 效果
Esc 立即中断 Claude 当前动作
/rewind或双击Esc 打开回溯页面,可以恢复之前的对话或代码状态
Ctrl + G 在外部编辑器打开当前内容(比如编辑长消息的时候)
Alt + V 粘贴剪贴板中的图片
/clear/new 清空上下文,开启新对话
/resume 打开历史会话页面
/context 查看当前会话的 Token 使用量
/compact 压缩上下文
/planShift + Tab切换 进入计划模式:先探索项目、制定计划再开始实施
/init 扫描项目并生成 CLAUDE.md,适合初次接手某一个项目

进阶内容

记忆与规则

Claude Code 每次启动都是新的会话,想让它了解你的项目约定和个人偏好,就需要用到记忆特性。

Claude Code 有两套互补的记忆机制,每次会话启动时都会自动加载:

CLAUDE.md / Rules Auto Memory
谁来写 你 / 团队 Claude Code
内容 规范与指令 学习成果与发现的模式
加载方式 每次会话全量加载 每次会话加载 MEMORY.md 前 200 行,主题文件按需读取
适用场景 编码标准、工作流、项目架构 构建命令、调试经验、Claude Code 发现的偏好

CLAUDE.md

CLAUDE.md 是持久性指令文件,Claude Code 在每次新会话启动时自动将其加载进上下文。

加载机制

CLAUDE.md 可以放在多个位置,每个位置有不同的作用域,更具体的位置优先级更高:

文件位置 作用域 加载时机
~/.claude/CLAUDE.md 全局,所有项目 启动时
<项目根>/CLAUDE.md 项目,可提交 Git 启动时
<项目根>/CLAUDE.local.md 个人本地,自动 gitignore 启动时
<子目录>/CLAUDE.md 子目录范围 按需加载

方向性:Claude Code 启动时从当前工作目录向上遍历,加载沿途所有 CLAUDE.md;而当前目录向下的子目录 CLAUDE.md 按需加载。

同级目录永远不互相加载,在 frontend/ 工作时,backend/CLAUDE.md 不会被加载。

使用方法

存量代码:在项目目录 /init,Claude Code 会自动扫描项目,然后生成一份基础 CLAUDE.md。

全新项目:先搭建好基本骨架(项目结构、配置文件),再 /init;或者借鉴过往 CLAUDE.md。

CLAUDE.md 就是普通 Markdown 文件,可以随时打开编辑、清理过期规则。

Tips

CLAUDE.md 的内容是作为上下文传递给模型的,并非强制执行的配置,所以指令越具体,Claude 遵从效果越好。

建议单个 CLAUDE.md 控制在 200 行以内,内容过多时,可以拆分到 .claude/rules/

.claude/rules/:模块化规则

.claude/rules/ 目录下可以有多个规则文件,每份文件只覆盖一个主题,比如:

1
2
3
4
5
6
7
your-project/
├── .claude/
│ ├── CLAUDE.md # 主项目说明
│ └── rules/
│ ├── code-style.md # 代码风格
│ ├── testing.md # 测试规范
│ └── security.md # 安全要求

这些规则文件会被递归发现,也可以用子目录进一步分组,比如 frontend/backend/

路径条件规则

Rules 最强大的功能是通过 YAML frontmatter 将规则绑定到路径,只再 Claude 读取匹配文件时才加载。

没有 paths 字段的规则文件则在每次会话启动时无条件加载,和 CLAUDE.md 优先级相同。

1
2
3
4
5
6
7
8
9
---
paths:
- "src/api/**/*.ts"
---

# API 开发规范

- 所有 API 端点必须包含输入验证
- 使用标准错误响应格式
  • *:匹配当前目录层级内的任意字符(不含 /
  • **:匹配任意层级的目录(含零层)
模式 匹配范围 不匹配
*.ts 项目根目录下的 .ts 文件 子目录里的 .ts
**/*.ts 任意目录下的 .ts 文件
src/**/* src/ 下所有文件(含子目录) src/ 以外的文件
src/**/*.{ts,tsx} src/ 下所有 .ts.tsx 文件 .js.vue
tests/**/*.test.ts tests/ 下所有以 .test.ts 结尾的文件

{ts,tsx} 是大括号展开语法,等价于同时写 **/*.ts**/*.tsx

Auto Memory:自动记忆

Auto Memory 是 Claude Code 判断某件事未来还用得上的时候才记录的内容。

存储位置

每个项目有独立的记忆目录:

1
2
3
4
5
~/.claude/projects/<project>/memory/
├── MEMORY.md # 简洁索引,每次会话自动加载前 200 行
├── debugging.md # 调试经验
├── api-conventions.md # API 设计决策
└── ... # 其他 Claude 自动创建的主题文件

<project> 路径基于 Git 仓库派生,同一仓库下所有 worktree 和子目录共享同一份 Auto Memory

Git Worktree 是 Git 的一个功能,允许你将同一个仓库的不同分支同时 checkout 到不同目录,常用于并行开发多个功能而不频繁切换分支。

开关控制

Auto Memory 默认开启,可以在交互式界面运行 /memory,直接切换 Auto Memory 的状态:

1
2
3
4
5
6
7
8
> /memory
Memory
Auto-memory: on
> 1. .claude\CLAUDE.md
2. User memory Saved in ~/.claude/CLAUDE.md
3. Project memory Saved in ./CLAUDE.md
4. Open auto-memory folder
Enter to confirm · Esc to cancel

管理多套配置

我们可以通过claude --settings path/to/your/profile命令配合 Powershell 别名,实现自定义命令来启动不同配置文件的 Claude Code,更加方便地在不同模型之间切换,而不会影响其他会话。

通过--settings命令指定配置中的信息,会追加到~/.claude/settings.json配置文件当中,

1
2
3
4
~/.claude/
├── settings.json # 主配置:通用环境变量、权限、行为开关
├── settings_deepseek.json # DeepSeek
└── settings_minimax.json # MiniMax

比如这样设置以后,便可以通过claude --settings $HOME/.claude/settings_minimax.json来启动由 MiniMax 驱动的 Claude Code,而claude --settings $HOME/.claude/settings_deepseek.json便是启动由 deepseek 驱动的会话。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 主要配置
{
"env": {
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "60",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max",
"EDITOR": "code --wait"
},
"permissions": {
"defaultMode": "bypassPermissions"
},
"showClearContextOnPlanAccept": true,
"autoUpdatesChannel": "latest",
"skipDangerousModePermissionPrompt": true
}

# 模型配置
{
"env": {
"ANTHROPIC_BASE_URL": "API Endpoint",
"ANTHROPIC_AUTH_TOKEN": "APi Key",
"ANTHROPIC_MODEL": "Preferred Model",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "Preferred Model",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "Preferred Model",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "Preferred Model",
"API_TIMEOUT_MS": "3000000"
}
}

为了避免手敲这么长一段指令,我们可以在 Powershell 配置文件中设置自定义别名,如下所示

1
2
3
4
5
6
7
8
9
10
11
# 将编码格式为 UTF-8 以解决显示乱码
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8

# Http Proxy
$env:HTTP_PROXY = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"

# Claude Code 别名
function deepseek {claude --settings $HOME/.claude/settings_deepseek.json @args}
function minimax {claude --settings $HOME/.claude/settings_minimax.json @args}

Windows 10 预装的 PowerShell 5,配置文件是 ~/Documents/WindowsPowerShell/profile.ps1

对于 PowerShell 7,则是 ~/Documents/PowerShell/profile.ps1

此时在终端输入 deepseekminimax 就能一键启动对应模型了。