avatar

目录
claude code 使用指南

claude yolo mode

claude —dangerously-skip-permissions

codex yolo mode

approval_policy = “never”
sandbox_mode = “danger-full-access”

ude Code 使用指南
下面这份是「偏社区经验 + 官方文档」的 Claude Code 终端版详细指南:怎么用、常用命令怎么配、哪些习惯最省心、以及怎么设计/落地你的 agent(Subagents / Skills / Hooks)。


1) Claude Code 的“心智模型”先立住

Claude Code 本质上是一个在终端里的“会用工具的编码代理”:

  • 默认只读 + 权限请求:需要改文件、跑命令、做危险操作时会问你要不要允许;这是它的安全基石。citeturn13view3

  • 会话里有“模式切换”:你可以在普通模式、Auto-Accept(更自动)、Plan Mode(只规划不执行)之间切换(快捷键 Shift+Tab / Alt+M)。citeturn11view0

  • 自带“撤销/回滚”:Claude 的编辑会自动产生 checkpoints,你可以 /rewindEsc Esc 回滚对话/代码/两者。citeturn11view1

  • 可以拆分成多个子代理(Subagents):比如 reviewer、debugger、test-runner,把不同职责交给不同 agent,让主线程更“轻”。citeturn17view0


2) 新项目/新仓库的“标准开局流程”(强烈建议照做)

2.1 先生成项目记忆:/init

Claude Code 推荐用 /init 自动扫描仓库并生成一个起步版 CLAUDE.md(构建/测试命令、关键目录、规范等),然后你再人工精炼。citeturn15view1turn15view2

社区经验:一个高质量 CLAUDE.md = 少一半重复解释 + 少很多跑偏实现

2.2 建议一开始就把敏感文件 Deny 掉

.claude/settings.json 里用 permissions.deny.env / secrets / credentials / build 之类直接对 Claude “隐身”,避免误读泄漏。citeturn16view1

示例(可按你项目改):

json
1
2
3
4
5
6
7
8
9
10
11
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)",
"Read(./config/credentials.json)",
"Read(./build)"
]
}
}

2.3 大改动先用 Plan Mode

Plan Mode 适合:读代码、梳理依赖、出改造方案、列步骤、评估风险——不直接动手。模式切换快捷键见下。citeturn11view0turn17view0


3) 你会天天用到的命令/快捷键(按用途分组)

3.1 “开始就该会”的核心 Slash Commands

Slash commands 是会话内命令(输入 /xxx)。

  • /help:查看帮助

  • /init:初始化/生成 CLAUDE.md 指南 citeturn15view2turn13view1

  • /memory:编辑并查看加载了哪些记忆文件 citeturn15view1turn13view1

  • /model:切换模型 citeturn11view3turn13view1

  • /permissions:查看/调整权限 citeturn13view1turn13view3

  • /sandbox:启用沙箱 bash(文件系统+网络隔离)citeturn13view2turn13view1

  • /review:请求代码 review citeturn13view1turn17view0

  • /security-review:对当前分支待合入改动做安全审查 citeturn13view1

  • /rewind:回滚对话/代码(也可 Esc Esc)citeturn11view1turn11view0

  • /resume:恢复历史会话 citeturn13view1

  • /export:导出当前对话 citeturn13view1

  • /hooks:管理 hooks citeturn13view1turn16view0

  • /agents:管理 subagents(创建/编辑/删除)citeturn17view0

这些命令的完整清单与自定义命令写法,都在 Slash commands 官方页。citeturn13view1


3.2 快捷键:效率提升最明显的一组

来自官方 interactive mode:

  • Shift+Tab(或某些终端 Alt+M):切换权限模式(普通 / Auto-Accept / Plan Mode)citeturn11view0

  • Ctrl+O:切换 verbose(能看到更详细的工具调用与 reasoning 展示)citeturn11view0turn11view2

  • Esc Esc:打开 rewind 菜单(回滚)citeturn11view0turn11view1

  • Ctrl+R:反向搜索历史命令 citeturn11view0

  • 多行输入:/terminal-setup 后可用 Shift+Enter(iTerm2/VSCode 终端)citeturn11view0turn13view1


4) 常用 CLI 用法(脚本/CI/一次性任务很爽)

官方 CLI reference 给了最常用的模式:citeturn13view0turn16view2

4.1 交互式(最常见)

bash
1
claude

4.2 “像 Unix 工具一样用”:-p(跑完就退出)

bash
1
claude -p "解释一下这个函数在干什么"

也可以接管道输入:citeturn13view0turn16view2

bash
1
cat logs.txt | claude -p "解释这些报错的根因,并给排查步骤"

4.3 继续/恢复会话

  • claude -c 继续最近会话

  • claude -r "<session>" "query" 按名字/ID恢复 citeturn13view0turn16view2

4.4 允许工具自动执行(适合 CI,但要非常谨慎)

bash
1
claude -p "Run the test suite and fix any failures" --allowedTools "Bash,Read,Edit"

(官方示例:让 Claude 自动跑测试并修复)citeturn16view2

4.5 动态定义 subagents(一次性实验很方便)

bash
1
claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'

citeturn13view0turn17view0


5) “设定的好习惯”:把 Claude Code 用顺的关键

5.1 记忆(CLAUDE.md)要“短、硬、结构化”

官方建议:把常用命令、代码风格、测试说明、仓库礼仪等写进 CLAUDE.md,并保持简洁可读。citeturn15view3turn15view2

四层记忆位置(很重要):企业/项目/用户/本地(本地在新版本更推荐用 import 替代)citeturn15view1

强烈推荐的 CLAUDE.md 结构模板:

Markdown
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 项目概览
- 这是做什么的
- 关键模块在哪里(给路径)

# 常用命令(务必写全)
- build: ...
- test: ...
- lint/typecheck: ...

# 代码规范
- 缩进/命名/目录结构
- 重要约束(例如:不要引入新依赖)

# 工作流
- 你希望 Claude 每次改完做什么(跑哪些测试、更新哪些文档)
- PR / commit 规范

小技巧:很多工程师会频繁用 # 把“我又重复说了一遍的规则”直接沉淀进 CLAUDE.md,然后随代码一起提交,团队复用。citeturn15view3turn15view2

5.2 Context 控制:该 Compact 就 Compact

官方 troubleshooting 明确提到:遇到性能/上下文压力时,定期 /compact,必要时重启会话,并把大目录加进 gitignore。citeturn14search14
(社区经验:/compact 频率越合理,越不容易“后面越聊越笨”。)

5.3 安全边界三件套:deny + Sandbox + Review

  • deny 敏感文件(上面已经说了)citeturn16view1

  • /sandbox:让 bash 在 文件系统与网络隔离里跑;还能限制域名、必要时允许/禁止“逃逸到非沙箱执行”。citeturn13view2

  • /review / /security-review:把“自动改代码”变成“可审的改动”。citeturn13view1

5.4 回滚意识:Checkpoint 不是 Git,但很好用

Checkpointing 会在 Claude 编辑前自动保存状态,你可随时 rewind;但它不会追踪 bash 命令造成的文件修改,也不能替代版本控制。citeturn11view1

社区经验:

  • 小步改动:靠 checkpoints 回滚

  • 大步改造:必须 Git 分支/commit 护城河 + 让 Claude 多跑测试

5.5 思考模式(thinking)怎么“用在刀刃上”

  • Ctrl+O 可开 verbose,看更细的工具使用与 reasoning 展示。citeturn11view0turn11view2

  • thinking 的 token 预算、MAX_THINKING_TOKENS、以及用 ultrathink: 做“单次深度思考”都在 common workflows 里有说明。citeturn11view2

  • 模型建议:可以用 opusplan 这种“计划用 Opus、执行用 Sonnet”的混合策略。citeturn11view3


6) 怎么设计 Agent(Subagents):从“能用”到“好用”的方法论

6.1 Subagents 是什么:把任务拆成“专职角色”

官方给了内置 subagents(general-purpose / plan / explore),并说明它们的模型、工具权限、适用场景。citeturn17view0

你自定义 subagent 的关键是:职责单一 + 描述可触发自动委派 + 工具最小化。官方 best practices 也明确建议:focused、prompt 详细、限制工具、纳入版本控制共享。citeturn17view0turn16view1


6.2 创建/管理 subagent:优先用 /agents

官方推荐用 /agents 交互界面创建/编辑:能选 project 级还是 user 级、能点选工具、还能立即生效。citeturn17view0

  • 项目级:.claude/agents/(建议提交到 git)citeturn17view0turn16view1

  • 用户级:~/.claude/agents/(你自己全局用)citeturn17view0turn16view1


6.3 Subagent 文件格式(模板直接抄)

官方示例就是 Markdown + YAML frontmatter:citeturn17view0turn16view1

Markdown
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
---
name: test-runner
description: Use proactively to run tests and fix failures right after code changes.
tools: Read, Edit, Bash, Grep, Glob
model: inherit
---

You are a test automation expert.

When invoked:
1) Determine the smallest relevant test command (prefer targeted tests).
2) Run tests.
3) If failing, locate root cause with minimal edits.
4) Re-run to confirm.
5) Summarize what you changed and why.

让 Claude 更愿意自动调用 subagent 的小技巧:在 description 里写清楚“Use proactively / MUST BE USED / immediately after …”,官方也提到了这个触发思路。citeturn17view0


6.4 三个“最常见、最值得做”的 subagents(建议你就从这仨开始)

A) code-reviewer(只读 + Diff 导向)

  • 工具:Read, Grep, Glob, Bash

  • 行为:先 git diff 再逐文件审查

  • 输出:按优先级列问题 + 给可执行修改建议
    (官方有完整示例可参考)citeturn17view0

B) debugger(能改代码 + 最小修复)

  • 工具:Read, Edit, Bash, Grep, Glob

  • 行为:复现 → 定位 → 最小修复 → 回归测试 citeturn17view0

C) test-runner(自动跑测试的“守门员”)

  • 工具:Bash + Read/Edit

  • 触发:每次代码改动后主动跑最小测试集
    (上面的模板就是)


7) 进阶:Skills / Hooks / 自定义 Slash Commands 怎么组合成“工程化的 Agent 系统”

7.1 Slash Commands:适合“短提示词模板”

你可以把常用 prompt 做成 .md 文件放到:

  • 项目级:.claude/commands/

  • 用户级:~/.claude/commands/
    官方给了创建示例。citeturn13view1

适用场景:一段话就能说明的固定流程(例如“写 PR 描述模板”、“生成变更日志”、“做一次快速 review”)。


7.2 Agent Skills:适合“可复用的任务包”(指令 + 脚本 + 资源)

Skills 是“文件夹级别的可组合能力包”,Claude 会按需加载,适合把你团队的工作流、脚本工具、规范资源打包成标准件。citeturn9view2turn9view1

和 Slash commands 的差异:官方 Slash commands 页面也专门写了“Skills vs slash commands”——一句话:

  • Slash command:小而快的提示词片段

  • Skill:更重、更系统、可带资源/脚本、跨产品复用 citeturn13view1turn9view2


7.3 Hooks:把“好习惯”自动化成强约束

Hooks 在 settings.json 里配置,可以在 SessionStart / PreToolUse / PostToolUse / PermissionRequest ... 等事件触发命令、做校验、甚至要求审批。citeturn16view0turn16view1

一个很常见的工程化用法:

  • PreToolUse:Claude 想跑 Bash 前,先检查命令是否在 allowlist

  • UserPromptSubmit:自动把一些上下文(比如当前分支、diff 摘要、运行环境)附加进去

  • SessionStart:打印项目约束/安全提示,或者加载环境

Hooks 的配置结构官方有完整说明与示例。citeturn16view0turn16view1


8) 推荐一份“可直接落地”的基础配置组合(最小但很顶用)

8.1 .claude/settings.json(项目共享)

  • deny 敏感文件(必须)

  • 选一个你常用的模型策略(比如 opusplan

json
1
2
3
4
5
6
7
8
9
10
11
{
"model": "opusplan",
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)",
"Read(./config/credentials.json)"
]
}
}

模型与设置优先级可参考官方 model config 与 settings scopes。citeturn11view3turn16view1

8.2 CLAUDE.md(项目共享)

按第 5.1 的模板写,把“命令/规范/工作流”钉死。citeturn15view3turn15view2turn15view1

8.3 .claude/agents/ 三件套

  • code-reviewer.md

  • debugger.md

  • test-runner.md
    (格式和写法见第 6 节)citeturn17view0


如果你愿意,我也可以按你们团队的真实习惯,直接帮你生成一套“能提交到仓库”的:

  • CLAUDE.md(含你们的 build/test/lint、目录地图、规范)

  • .claude/settings.json(含 deny 规则、必要的默认配置)

  • 3~5 个 subagents(review/debug/test/release/doc)

  • 2~4 个自定义 slash commands(例如 /pr, /changelog, /hotfix

  • 可选的 hooks(把“跑测试、禁危险命令、自动附加上下文”固化)

你只要把:你项目的技术栈(Node/Python/Go…)、常用命令(build/test/lint)、以及你们的代码规范贴我,我就能给你产出一套可落地的目录结构与文件内容。

Claude Code 的详细使用指南基本上涵盖了最常见的命令、工作习惯、以及如何设计 agent 系统。根据你提到的需求,以下是一些要点的总结:


1) Claude Code 心智模型概述

Claude Code 是一个在终端中运行的、可以执行代码并与工具交互的智能助手。它允许你以多种方式与代码和命令行工具进行交互,既可以用作日常的代码生成/审查工具,也可以为大规模的自动化任务设计 agent 系统。


2) 项目初始化与基本设置

  • /init:初始化项目,生成 CLAUDE.md 文档,用于描述项目结构、常用命令、依赖关系等,帮助团队成员快速上手。

  • 敏感文件保护:建议在 .claude/settings.json 文件中设置 permissions.deny,避免对 .envsecrets 等敏感文件的读取权限。

  • 权限管理:使用 permissions 配置项明确允许或禁止哪些工具的使用,尤其是在 CI/CD 环境下。


3) 常用命令和快捷键

Slash Commands

  • /help:显示帮助信息。

  • /model:切换不同的模型。

  • /memory:查看和编辑 Claude 当前的记忆。

  • /review:请求对代码进行审查。

  • /rewind:回滚对话或代码修改。

快捷键

  • Shift+Tab:切换权限模式(普通模式、Auto-Accept模式、Plan模式)。

  • Ctrl+R:反向搜索历史命令。

  • Esc Esc:回滚操作,恢复到之前的状态。

CLI 常用

  • claude:启动互动式命令行。

  • claude -p "query":在一次性任务中执行查询并退出。

  • claude -c:继续最近的会话。

  • claude --agents '{"reviewer":{"description":"Reviews code"}}':创建一个 reviewer agent。


4) 设定的好习惯

  • 清晰的 CLAUDE.md 文件:这个文件记录了团队的代码规范、常用命令、项目结构等信息,帮助团队成员快速了解项目。

  • 使用 sandbox:为了安全性,建议在运行危险命令时启用沙箱模式。

  • 定期执行 /compact:避免过多冗余的上下文信息影响性能。

  • 子代理的使用:拆分复杂任务,设计不同的子代理(如代码审查、测试运行、调试等),使得 Claude 更加灵活。


5) 设计 Agent 系统

Subagents

  • reviewer:代码审查 agent,使用 ReadGrep 工具,检查代码并提供建议。

  • debugger:调试 agent,复现问题并进行修复。

  • test-runner:自动化测试运行 agent,确保每次代码变更后自动运行测试套件。

这些 subagents 可以在 .claude/agents/ 目录下定义,支持在项目中自动化执行常见任务。

自定义 Slash Commands 和 Skills

  • Slash Commands:适合快速执行小任务,如生成变更日志、PR 描述等。

  • Skills:可以设计更复杂的任务包,包含文件、资源和脚本,适合跨项目复用。

Hooks

通过 settings.json 配置 hooks,在不同的事件(如 PreToolUseSessionStart)发生时自动执行任务或进行检查。


6) 项目与团队级别的配置

.claude/settings.json

确保敏感文件被拒绝访问,并配置好模型和工具权限。例如:

json
1
2
3
4
5
6
7
8
9
{
"model": "opusplan",
"permissions": {
"deny": [
"Read(./.env)",
"Read(./secrets/**)"
]
}
}

CLAUDE.md

规范项目结构、测试命令、代码风格等,确保团队成员都遵循相同的流程。

Subagents 配置(如 code-reviewer.mddebugger.md

每个 agent 配置文件描述了它的职责、使用的工具和行为模式。


7) 进阶技巧:构建完整的 Agent 系统

通过结合 Slash CommandsSkillsHooks,你可以为项目设计一个高效的自动化代理系统,从而帮助团队更好地管理代码质量和开发流程。


如果你需要具体的配置样板或更详细的操作步骤(例如如何生成自定义的 agent 或配置 hook),我可以根据你的项目需求进一步帮助你生成完整的配置文件或代码模板。


评论