[AI书房] 第10章 基础命令与项目配置层级
Claude Code完全掌握
Claude Code完全掌握
第10章 基础命令与项目配置层级
金京镇
引入
在终端输入 /status 的瞬间,屏幕上会一次性显示出Claude Code的版本、当前连接的模型名称、已认证的账户信息。就像瞥一眼汽车仪表盘,一眼就能掌握这个智能体此刻处于什么状态。需要背下这条命令吗?不需要。
用自然语言问一句「告诉我现在Claude Code的状态」,智能体就会自动执行 /status。内置命令(Built-in Command)的世界,就是这样开始的。
核心命令汇总
Claude Code的内置命令大致分为两类。一类是用于确认当前状态的诊断·状态命令,另一类是用于改变智能体行为方式的设置命令。
先从诊断·状态命令说起。
[图 10-1] /status 命令执行结果示例]
这里的关键在于,这些命令不需要死记硬背。Claude Code能够解析自然语言,自动执行相应的命令。说一句「跑个诊断看看」,/doctor 就会运行;问一句「现在用的什么模型?」,/status 就会响应。知道这些命令的存在是有用的,但记忆的活儿交给智能体就好。
设置命令
设置命令是调节智能体工作方式的控制面板。
这些命令同样可以通过自然语言调用。说「给我看看权限设置」,/permissions 的内容就会显示出来。不过有时候直接输入斜杠命令反而更快,因为跳过了智能体解读意图的步骤。根据场景灵活混用自然语言和命令,才是最实用的做法。
设置层级结构:用户、项目、本机
如果说内置命令是与智能体对话的方式,那么配置文件就是定义智能体默认行为模式的蓝图。Claude Code的设置由三个层级构成,每个层级负责不同的作用范围。
用户级别(User Level,全局)设置位于主目录( ~/ )。这项设置会影响计算机上所有的项目。无论打开哪个文件夹、在哪个项目中工作,它始终作为默认值生效。
项目级别(Project Level)设置位于项目文件夹内的 .claude/settings.json。这个文件可以提交到GitHub,供整个团队共享。任何团队成员打开这个项目,都会应用相同的设置。
本机项目级别(Local Project Level)设置位于 .claude/settings.local.json。这个文件只在本机生效,不会上传到GitHub,同一项目的其他团队成员也看不到。
[图 10-2] 设置层级结构示意图:用户 → 项目 → 本机]
三个层级的优先级从上到下递增。智能体准备执行某个操作时,会先查看本机设置。如果本机没有相应规则,就查看项目设置。项目设置中也没有,则遵循全局设置。
举个例子来看看这个优先级在实际中如何运作。假设有一个叫 read 的文件读取命令。如果本机设置中指定了「绝对不要使用read」,智能体会立即停止,即使项目和全局都允许也无济于事。反过来,如果本机和项目都允许,但全局禁止了,那么在全局这一关就会被拦截。
本机是最窄的范围,却最先被检查;全局是最宽的范围,却充当末尾一道关卡。
settings.json与settings.local.json的区别
这两个文件并排存在于同一个 .claude 文件夹中,但用途截然不同。
settings.json 中放置团队共同商定的规则,比如编码规范、必备工具列表、公共MCP连接服务器信息等。新成员克隆(clone)项目后,这些设置会自动生效,入职引导时也不必额外叮嘱「把设置调一下」。
settings.local.json 中放置个人偏好,比如喜欢的编辑器行为、个人API密钥路径、仅限本机的调试选项等。当与团队设置冲突时,本机优先,这样既能遵循团队标准,又能保持自己的工作环境。
有一点需要留意:settings.local.json 应当添加到 .gitignore 中,确保绝不上传到GitHub,因为其中可能包含个人API密钥或敏感路径信息。
.claude文件夹的结构与作用
打开项目文件夹时映入眼帘的 .claude 目录,是Claude Code的核心所在。这个文件夹里存放着智能体理解项目、正常运作所需的全部组件。
项目文件夹/ ├── .claude/ │ ├── settings.json # 团队共享设置 │ ├── settings.local.json # 个人专用设置 │ ├── rules/ # 智能体行为规则 │ ├── skills/ # 可复用的技能文件 │ ├── agents/ # 子智能体定义 │ └── commands/ # 自定义命令 ├── CLAUDE.md # 项目大脑(主上下文) ├── CLAUDE.local.md # 个人专用上下文 ├── .env # 环境变量(API密钥等) ├── .gitignore # Git排除列表 └── (项目文件)
[图 10-3] .claude文件夹的内部结构与各文件的作用]
CLAUDE.md 是智能体每次开始对话时最先读取的文件,充当项目目的、核心规则以及其他文件位置的导航地图。CLAUDE.local.md 是 CLAUDE.md 的个人版本,用于存放只属于自己的补充指令。
.gitignore 文件指定了Git不跟踪的文件列表。.env 文件(存放API密钥)、settings.local.json、个人图片或密码文件等都应登记在此。在VS Code中,这些文件会以灰色显示,便于视觉区分。绿色表示Git尚未跟踪的新文件,黄色表示已修改的文件。
这套颜色体系让你一眼就能看出「现在有没有需要提交的东西」。
rules/ 文件夹存放智能体的沟通风格、编码规范等行为准则。skills/ 文件夹存放可复用的工作流方案,agents/ 文件夹存放辅助智能体的定义文件。
全局设置也有类似的结构。主目录下的 .claude 文件夹中同样有 settings.json、skills/、agents/、rules/ 等,其中保存的内容无论打开哪个项目都会生效。不想在每个项目中重复配置的公共设置,比如「始终使用敬语」这类规则,放在全局层级更高效。
各层级应该放什么内容,整理如下。
初次接触这套结构会觉得复杂。文件夹套文件夹,文件套文件。但实际打开一个项目、亲手浏览 .claude 文件夹之后,每个文件的职责从名字就能看出来。设置的层级就像「团队约定的 / 项目要求的 / 我想要的」这三重透镜。智能体从最里层向外层逐一扫视,据此决定自己该如何行动。
如果说内置命令是与智能体即时对话的手段,那么设置层级就是塑造智能体长期性格的骨架。但智能体的记忆存在一个根本性的限制:上下文窗口(Context Window),即一次能处理的信息量上限。当需要处理超出这个上限的海量数据时,智能体就需要外部存储。
人工智能专家 金京镇律师
AI法律政策专家 · 前国会议员 · 著有多部作品
如果这本书曾在您身边短暂停留,请支持我们,让下一个故事得以问世。
(自愿赞助账户:农协 302-1096-0948-81 户名:金京镇)


