跳到正文
docai.cc

DOCAI · 课程 · L3 · 18 分钟 · 基础入门

Claude 基本配置选项详解

配置分三层:项目记忆文件管项目,用户设置管个人偏好,命令行参数管一次性覆盖;再讲模型档位、权限白名单与输出格式。

Claude Code 程序员 · 安装与配置

你将学会

  • 分清项目级、用户级与命令行三层配置的优先级
  • 写出一份能被工具正确读取的项目记忆文件
  • 按任务选模型档位,并给危险操作保留确认

配置分三层,优先级要记清

同一个工具,配置可能来自三个地方。冲突时,越靠近当前项目的层级越优先。

层级 放什么 生效范围
项目记忆文件 这个项目怎么跑、哪里不能碰、代码风格 当前项目
用户级设置 默认模型、界面主题、常用放行项 当前系统用户的所有项目
命令行参数 一次性的临时覆盖 本次启动

新手常把三样混在一起:把项目细节塞进用户设置,换个仓库就全部失效;或者把个人偏好写进项目文件,提交后影响整个团队。先想清楚「这条规则属于谁」,再决定放哪。

项目记忆文件:写给工具的说明书

在项目根目录放一份名为 CLAUDE.md 的纯文本记忆文件。每次在这个目录启动,它都会被读入。内容不需要长,但四类信息必须有:

  1. 怎么装依赖、怎么启动、怎么跑测试;
  2. 哪些目录或文件不许改;
  3. 代码风格与提交前检查;
  4. 这个项目特有的坑。

一个够用的骨架:

# 项目说明

### 运行
- 安装依赖:<命令>
- 本地启动:<命令>
- 测试:<命令>

### 不要碰
- 环境变量文件与任何密钥
- 数据库迁移目录
- 生成产物目录

### 约定
- 提交前先跑测试与静态检查
- 新逻辑必须带测试

写命令时给出完整可复制的形式,别写「跑一下测试」这种模糊描述。工具需要的是能直接执行的字符串,不是意图。

子目录里也可以再放一份,用来补充该目录的专属规则,例如前端组件规范、后端接口约定。上层文件仍然生效,下层只做增量说明。

用户级设置与模型档位

用户级设置是 ~/.claude/settings.json 这个 JSON 文件(Windows 上在用户目录的 .claude 文件夹里)。多数时候不用手改,用会话里的命令调整即可。常见项就三类:默认模型、主题、权限偏好。

模型不要只记名字,要记档位差异:

档位 特点 适合
Haiku 最快、最省 改名、格式化、简单问答
Sonnet 速度与质量平衡 日常改代码、写测试、读报错
Opus 推理更强、更慢 架构设计、疑难缺陷、跨模块重构

用 /model 临时切换;用启动参数做一次性指定;要长期改默认值,写进用户设置。追新没有意义,按任务选档位更省时间。

权限:把确认留给危险操作

默认模式下,读文件之外的每个动作都会停下来问你。天天重复批准同一条测试命令很烦,全部放开又太危险,折中的做法是列白名单:

  • 只读命令、测试命令、构建命令可以放行;
  • 删除、推送、部署、改数据库必须保留确认;
  • 密钥与环境文件永远不交给自动执行。

团队里把这份清单写进项目设置,跟着仓库走,新人拉下来就是一致的行为。完全跳过确认的模式只适合一次性容器或隔离的流水线,不要在日常开发机上开。

输出格式与附加指令

脚本里调用时(用 -p 或非交互模式),输出格式要选对:给人看用默认的富文本,写日志用纯文本,交给程序解析用 JSON。格式选错,后面要么解析失败,要么日志里全是控制字符。

需要长期固定的偏好,例如「注释一律用中文」「先给结论再给理由」,可以写进用户级记忆;只对某次任务生效的要求,直接写在提示里。附加指令要短,堆十几条互相冲突的规则,模型只会挑一部分执行。档位之间的差异不必死记,按任务选型的思路可以看模型怎么选。

改完怎么验证

三项检查足够:

claude
# 进入会话后输入
/status

先看状态页里的模型与配置来源;再问它一句「这个项目跑测试用哪条命令」,答案应与你写的一致;最后跑一个真实的小任务,观察它有没有避开你标注的禁区。

配置不是一次写完就结束。项目换构建工具、加新目录、改测试框架时,回头更新那份记忆文件;过期的说明比没有说明更容易误导。

下一步把它接到真实的开发环境里:让它能跑命令、读日志、按你的工作流协作,见把本地环境接进来。

自测

先自己回答,再展开对照;答不上来就回到对应小节。
  1. 01项目记忆文件里最不该缺的是哪类信息?看答案

    可执行的命令:怎么装依赖、怎么启动、怎么跑测试,以及哪些文件不许改。缺了这些,工具只能靠猜。

  2. 02为什么不要在日常开发机上开启完全跳过确认的模式?看答案

    它会不经询问就执行删除、推送、改数据库等动作。一次误判就可能造成不可逆的损失,隔离容器里才适合放开。

  3. 03怎么验证项目记忆文件真的被读到了?看答案

    问它这个项目跑测试用哪条命令,或让它复述禁区;答案与你写的一致,说明已经生效。

查看 Markdown

涉及的概念

在知识树上