01: Begin with Claude Code | Claude Code 配置与初探
Astralyn

引言

Claude Code 是强大的 Agent 程序,除了辅助编程以外,还能借助 Skill、MCP 等工具处理日常学习、办公的各种事务。

但 Claude 官方订阅价格过高,且额度较少,对于学生、日常消耗大量 Token 的开发者而言不是很友好。

好在 Claude Code 支持通过更改 Base URL 的方式使用其他模型供应商的API服务,让我们有性价比更高的使用途径。

本文会讲解如何安装 Claude Code,配置大模型 API ,基本使用与常用操作。


Chapter 1:安装与选择

我会以 Windows 为例示范安装流程,其他平台可以参考官方文档 Claude Code Docs

在 Windows 中,~ 等价为 %userprofile%,即 C:\Users\<用户名>\,用户根目录。

注意:Windows 需要先安装 Git for Windows,因为 Claude Code 会使用 Git Bash 来执行命令行操作。

尽管 v2.1.84 引入了对 Windows Powershell 的原生支持,但 Claude Code 的启动依旧依赖 Git Bash。

安装 Claude Code

安装程序本体

网络条件:执行以下命令需要能够正常访问 claude.ai storage.googleapis.com等域名,后文涉及到从github.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)

选择 API Provider

在配置 Claude Code 之前,我们可以先选择自己使用的 AI 模型。

我日常使用的是 MiniMax M2.5,尽管能力与御三家(OpenAI/Anthropic/Google)顶级模型有差距,但是 Token Plan 性价比高,处理日常编程和琐碎任务完全足够。

中国 AI 模型推荐

在马年春节前,智谱MiniMaxKimi 都推出了新一代模型,不仅能力超过了 Sonnet 4.5,与 Sonnet 4.6 差距很小,而且价格很有吸引力,十分适合作为我们的 API 选择。

此外,阿里云百炼、火山方舟、腾讯云等一众云服务器厂商都上线了自己的Coding Plan,支持调用多种模型,适合体验然后选择自己喜欢的模型。

值得一提的是,Kimi K2.5支持原生多模态能力,意味着你可以直接把想要的效果截图发送给它,它可以通过视觉能力理解;Minimax M2.5 与 智谱 GLM-5 虽然没有原生多模态能力,但是官方都提供了视觉理解 MCP 服务曲线救国。

Intelligence Coding Agentic
image image image

Chapter 2:配置并启动

配置文件概览

这张图只是常见布局示意图,并不是 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
24
25
26
27
28
29
30
31
32
33
# 用户级:对你机器上的所有项目生效
~/
├── .claude.json # 全局状态文件;也会记录 user/local scope 的 MCP
└── .claude/
├── CLAUDE.md # 用户级记忆
├── settings.json # 用户级设置
├── commands/ # 用户级自定义命令(兼容旧写法,可选)
│ └── review.md
├── skills/ # 用户级 Skill(推荐)
│ └── security-review/
│ └── SKILL.md
├── agents/ # 用户级子代理
│ ├── code-reviewer.md
│ └── security-auditor.md
└── rules/ # 用户级规则(可选)
└── preferences.md

# 项目级:只对当前项目生效
your-project/
├── CLAUDE.md # 项目记忆
├── .mcp.json # 项目共享 MCP
└── .claude/
├── settings.json # 项目共享设置
├── settings.local.json # 项目私有设置(自动被 Git 忽略)
├── commands/ # 项目自定义命令(兼容旧写法,可选)
│ └── fix-issue.md
├── skills/ # 项目 Skill(推荐)
│ └── deploy/
│ └── SKILL.md
├── agents/ # 项目子代理
│ └── frontend-reviewer.md
└── rules/ # 项目规则(可选)
└── testing.md

这里最容易混淆的有两点:

  1. settings.local.json 只存在于项目目录,并没有 ~/.claude/settings.local.json 这一层。
  2. commands/skills/ 现在在 Claude Code 里已经基本合流了:旧的 .md 命令文件仍然可用,但如果你是新建能力扩展,我更建议优先用 skills/

首次使用时,因为Claude Code还未初始化,配置文件可能不存在,自行在对应目录创建即可。

为了避免后面把配置项放错位置,我们先把这几个文件的职责分清:

  1. settings.json:官方层级配置入口,负责环境变量、模型、权限与行为开关。
  2. .claude.json:Claude Code 自动维护的全局状态文件,同时也会记录 user/local scope 的 MCP 服务。
  3. .mcp.json:项目共享的 MCP 配置文件,适合提交 Git 给团队共用。

settings.json

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

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

现在,我们配置位于~/.claude/settings.json的 User 配置文件。

下图是我的配置示例,使用 MiniMax M2.5 模型(记得替换 Your MINIMAX_API_KEY 为你自己的密钥):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "Your MINIMAX_API_KEY",
"ANTHROPIC_MODEL": "MiniMax-M2.5",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M2.5",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-M2.5",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-M2.5",
"API_TIMEOUT_MS": "3000000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"defaultMode": "default"
},
"attribution": {
"commit": "Co-Authored-By: Claude Code <noreply@anthropic.com>",
"pr": ""
},
"showClearContextOnPlanAccept": true,
"autoUpdatesChannel": "latest",
"effortLevel": "high"
}

下面解释一下配置文件的内容:

1. 环境变量(env

这是最常用的配置区域,所有值必须是字符串类型。

如果你同时在 shell 环境变量和 settings.jsonenv 中设置了 同一项,shell 环境变量优先级更高。

配置项 说明
ANTHROPIC_BASE_URL API 端点地址
ANTHROPIC_AUTH_TOKEN 填写你的 API Key
API_TIMEOUT_MS 请求超时时间(毫秒)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 设为 1 关闭遥测数据收集,提升稳定性

说明:Claude Code 会根据任务复杂度自动调用不同层级的模型(Haiku/Sonnet/Opus 能力依次升高), 但我建议在不用考虑倍率计费时全部设置为你的 API Provider 提供的最强模型。

注意:修改配置后需要重启 Claude Code 才能生效。JSON 格式必须严格正确(最后一行不能有逗号),否则配置会被忽略。

2.恢复“接受计划时清空上下文”按钮(showClearContextOnPlanAccept

曾经,退出 Plan 模式时,会提供下面四个选项:

  1. Yes, clear context (X% used) and auto-accept edits
  2. Yes, auto-accept edits
  3. Yes, manually approve edits
  4. Tell Claude what to change

自 v2.1.81 起,Yes, clear context (X% used) and auto-accept edits被默认隐藏,我猜测可能有以下两个原因:

1.不少模型上下文窗口已经达到 1M Token,不像曾经 200K Token 时一样,需要腾出上下文空间以供实施 Plan;

2.若 Plan 阶段的讨论、代码探索没有完整写进计划,清空上下文会使后续执行更容易走偏。

但是现在国产模型大多还是 200K Token 上下文,所以我推荐打开该设置,等 1M Token 上下文普及后再关也不迟。

3.权限规则(permissions

这是 settings.json 最核心的功能,可以控制哪些操作默认同意/拒绝,哪些操作需要询问你的意见。

规则的匹配顺序是:deny 先于 ask 先于 allow,第一条匹配的规则胜出。

4.其他设置

attribution项是决定你让Claude Code提交 commit 或 pull request 的时候是否带上联合署名,可以自行决定;autoUpdatesChannel用于选择更新通道,effortLevel用于设置默认思考强度。

.claude.json 与 .mcp.json

这里需要特别区分一下:settings.json 是 Claude Code 官方的层级配置入口,而 MCP 服务本身并不放在这里

Claude Code 中,MCP 服务按作用域分成三种:

Scope 存放位置 是否共享 适用场景
user ~/.claude.json 你自己跨项目复用的常用 MCP
project <项目根>/.mcp.json 团队共享、项目必备工具
local ~/.claude.json 中当前项目对应的用户配置 只想在当前项目里自己使用

也就是说:如果只是你自己想在所有项目里都能用某个 MCP,比如搜索、图片理解、数据库查询,通常会落在 ~/.claude.json;如果你想让整个项目组都能直接使用,就应该写进项目根目录的 .mcp.json

.claude.json 本身主要还是 Claude Code 自动维护的全局状态文件,用来持久化各种运行时状态(比如之前各个项目进行了多少次对话,发送了多少消息等等);下面这个例子只是利用它手动写入一个“已完成首次引导”的状态位。

我们现在添加以下内容,以跳过首次启动时的引导流程:

1
2
3
{
"hasCompletedOnboarding": true
}

切换第三方模型

如果你需要切换到其他第三方 AI 提供商,只需修改以下配置:

  1. ANTHROPIC_BASE_URL — 改为新提供商的 API 端点地址
  2. ANTHROPIC_AUTH_TOKEN — 改为新提供商的 API Key
  3. 所有 ANTHROPIC_*_MODEL — 改为新模型名称

提示:如果你有频繁切换 API 提供商的需求,可以使用第三方工具,例如 GitHub 上的 CC Switch 项目。

启动 Claude Code

方式一:命令行启动

配置完成后,进入任意项目目录,在终端输入 claude 即可启动。

正常情况下,Claude Code 首次启动会要求登录;如果你提前在 .claude.json 中设置了 hasCompletedOnboarding: true,则会跳过引导,直接进入工作区选择界面,选择 “Yes, I trust this folder” 即可开始使用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
PS C:\Example\Folder> claude
───────────────────────────────────────────────────────────────────────────────────────────────────────
Accessing workspace:

C:\Example\Folder

Quick safety check: Is this a project you created or one you trust? (Like your own code, a well-known open source
project, or work from your team). If not, take a moment to review what is in this folder first.

Claude Code will be able to read, edit, and execute files here.

Security guide

1. Yes, I trust this folder
2. No, exit

Enter to confirm · Esc to cancel

下图为交互式界面:

image

方式二:Zed 集成

如果你觉得纯终端交互门槛较高,Zed 是个值得考虑的替代方案,可以帮助你可视化操作 Agent。

Zed 是用 Rust 语言写的编辑器,相当于更轻量的 VSCode,可以通过**Agent Client Protocol(ACP)**将 Claude Code 嵌入图形界面。

Zed 底层运行的是 Claude Agent SDK,可以自动读取我们在上文里配好的 ~/.claude/settings.json,自动继承 API 端点、密钥、模型这些配置。

调用链路大致是:Zed 面板 → ACP 适配器 → Claude Agent SDK → Claude Code CLI,底层跑的还是Claude Code,Zed 只接管了界面渲染部分。

完全支持 Skills 和 Subagents,但 Hooks 和 Agent Teams 目前还不支持(暂时也不会涉及)。

安装 Zed

zed.dev/download 下载 Zed(支持 macOS、Linux、Windows)。

安装好之后,打开 Zed,进入 Zed → Open Settings → AI 一栏,点右上角 + Add Agent,选择 Install from Registry,在搜索框里搜 claude,找到 Claude Agent,点击 Install

配置快捷键

Ctrl+Alt+B呼出的是 Zed 自带的 AI 面板,默认指向 Zed 内置 Agent,而非 Claude Code。

想快速打开 Claude Code 对话窗口的话,单独设置一个快捷键更方便。

我们可以在左上角 Zed → Open Keymap File进入快捷键设置,在文件中追加这段配置:

1
2
3
4
5
6
7
8
9
10
[
{
"bindings": {
"ctrl-alt-c": [
"agent::NewExternalAgentThread",
{ "agent": { "custom": { "name": "claude-acp" } } }
]
}
}
]

配置好之后,Ctrl+Alt+C 就可以直接新开 Claude Code 线程啦,按 Ctrl+Alt+B还可以直接收起 Agent 面板。

调整字号(可选)

Zed 默认字号对有些屏幕偏小,在左上角Zed → Open Settings, Appearance 中有两处字号要分开设置:

  • Buffer Font(代码编辑区字号)
  • UI Font(界面元素字号,包括 Agent 面板)

Chapter 3:记忆与规则

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

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

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

CLAUDE.md

CLAUDE.md 是你写给 Claude 的持久性指令文件,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 会扫描项目结构、构建系统、测试框架和代码模式,自动生成一份基础 CLAUDE.md。

如果是全新项目

推荐先搭建好基本骨架(项目结构、配置文件),再执行 /init;或者借鉴过往项目的 CLAUDE.md,直接修改。

更新记忆

有三种方式,适合不同场景:

  1. # 前缀(最快)

    在对话中以 # 开头输入内容,这条规则会被立刻追加进 CLAUDE.md,不需要确认:

    1
    # 测试文件和主文件放在同一目录,不要创建 __tests__ 文件夹
  2. 自然语言(适合对话中随手追加)

    当 Claude Code 做了你不喜欢的事,纠正完直接说”把这条加进 CLAUDE.md”即可。

  3. 直接编辑(适合批量整理)

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

写好 CLAUDE.md 的要点

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

  • “使用两空格缩进” 而非 “好好格式化代码”
  • “提交前运行 npm test“ 而非 “记得测试”
  • “ API 处理器放在 src/api/handlers/“ 而非 “保持文件整洁”

官方建议单个 CLAUDE.md 控制在 200 行以内,超出后不仅消耗更多上下文,指令的遵从质量也会均匀下降。

内容过多时,可以拆分到下面介绍的 .claude/rules/ 目录中。

.claude/rules/:模块化规则

当项目规范越来越多,CLAUDE.md 难以维护时,可以将指令拆分到 .claude/rules/ 目录下的多个文件中,每个文件只覆盖一个主题,比如:

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

.claude/rules/ 下所有 .md 文件会被递归发现,也可以用子目录进一步分组,比如 frontend/backend/

路径条件规则

Rules 最强大的功能是通过 YAML frontmatter 将规则绑定到特定文件路径,只有当 Claude 读取匹配文件时才加载该规则,节省上下文空间:

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

# API 开发规范

- 所有 API 端点必须包含输入验证
- 使用标准错误响应格式

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

Glob 模式速查

Glob 是一种用通配符匹配文件路径的语法,Rules 的 paths 字段就用它来决定”这条规则在什么文件下生效”。

核心符号只有两个:

  • *:匹配当前目录层级内的任意字符(不含 /
  • **:匹配任意层级的目录(含零层)
模式 匹配范围 不匹配
*.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,多个扩展名时很好用。

用户级规则

~/.claude/rules/ 下的规则对你机器上所有项目生效,适合存放个人偏好:

1
2
3
~/.claude/rules/
├── preferences.md # 个人编码偏好
└── workflows.md # 惯用工作流

用户级规则在项目规则之前加载,因此项目规则优先级更高。

Auto Memory:自动记忆

Auto Memory 是 v2.1.59 新增的功能,让 Claude 在工作过程中自动积累知识,无需你手动维护。
Claude 会自主判断”这件事未来有没有用”,再决定是否记录——不是每次会话都写。

存储位置

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

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 到不同目录,常用于并行开发多个功能而不频繁切换分支。

对于大多数单目录使用的读者,可以忽略这一点;如果你有使用 git worktree 的习惯,需要知道所有 worktree 共享同一份 Auto Memory,Claude 在任意 worktree 下的学习记录都会存入同一个文件。

主题文件(如 debugging.md)不在启动时加载,Claude 按需读取。Auto Memory 是纯本地的,不跨机器同步。

开关控制

Auto Memory 默认开启,有三种方式控制:

  1. 编辑settings.json
1
2
// settings.json
{ "autoMemoryEnabled": false }
  1. 设置环境变量
1
2
# 环境变量
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1
  1. 在交互式界面运行 /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.md 的分工

当你在对话中说”记住:永远用 pnpm 而不是 npm”,Claude 会将其保存到 Auto Memory;如果你说”把这条加进 CLAUDE.md”,Claude 则会更新 CLAUDE.md。两者分工如下:

  • CLAUDE.md:适合团队共享的项目规范,你主动维护,可提交 Git
  • Auto Memory:适合机器级的个人经验积累,Claude 自动维护,仅本地生效

Chapter 4:实战与技巧

基本交互

  • 输入 ? 查看常用操作提示(下面仅列出一部分):

    1
    2
    ! for bash mode     / for commands     @ for file paths     & for background
    backslash (\) + return (⏎) for newline
  • 输入 / 查看可用命令(包括内置命令和已安装的 Skill),下面是常用命令。

命令 说明
会话管理
/clear/new 开启新会话,清空上下文
/resume 恢复之前的历史会话
/context 查看当前会话的 Token 使用量,辅助决定是否开启新会话
模式与能力
/plan 计划模式:AI先探索项目结构、阅读代码,给出方案审批后执行
/model 按左右方向键,切换 effort 等级(low/medium/high)
/skills 列出所有可用 skills
/mcp 查看可用 MCP 服务
文件与记忆
/init 扫描项目并生成CLAUDE.md
/memory 列出已加载的规则文件、切换 Auto Memory 开关、打开记忆文件夹
实用工具
/compact 压缩上下文,避免长对话能力下降
/copy 复制Claude Code最新一条回复
/exit/quit 退出交互式界面
交互辅助
Alt + V 粘贴剪切板图片
\ + 回车 输入换行(也可以按住 Ctrl 再按 Enter)