| 模式 | 触发 | 行为 | 场景 |
|---|---|---|---|
| 默认模式 | 直接输入 | 每次修改前确认 | 日常开发 |
| 自动模式 | 对话中切换 | 常规操作自动执行,高风险仍确认 | 信任度高的重复任务 |
| 规划模式 | 对话中切换 | 只分析不修改 | 复杂架构决策 |
| Bypass 模式 | --dangerously-skip-permissions | 跳过所有确认 | CI/CD、沙箱环境 |
自动模式可编辑 .claude/settings.local.json 配置允许命令白名单。
! 进入 bash 模式,直接执行终端命令/tasks 查看状态,完成后通知。注意与 SubAgent 区分——后台任务执行者仍是主 Claude| 操作 | 方式 | 说明 |
|---|---|---|
| 版本回滚 | /rewind 或双击 ESC | 基于 git checkpoint,精确到每步操作 |
| 恢复会话 | claude -c / claude --resume | 保留对话记录、操作历史、上下文 |
| 压缩 | /compact [提示] | 保留关键信息,释放窗口空间 |
| 清除 | /clear | 完全重新开始 |
自动压缩:上下文接近窗口限制时自动触发,可通过 PreCompact Hook 自定义压缩行为。
上下文窗口内容:对话历史、读过的文件、命令输出、CLAUDE.md、加载的 Skill。窗口满了早期指令可能丢失,持久规则应放 CLAUDE.md。
| 位置 | 作用域 | 优先级 |
|---|---|---|
CLAUDE.md | 当前项目,团队共享,提交 Git | 最低 |
CLAUDE.local.md | 当前项目,个人偏好,不提交 | 中 |
~/.claude/CLAUDE.md | 全局,所有项目 | 最高 |
在 Claude Code 生命周期特定事件触发时自动执行的 shell 脚本,通过 /hooks 可视化配置。
| 事件 | 触发时机 | 典型用途 |
|---|---|---|
| PreToolUse | 工具调用前 | 阻止修改特定文件 |
| PostToolUse | 工具调用后 | 自动格式化/lint |
| UserPromptSubmit | 用户发消息时 | 输入预处理 |
| SessionStart/End | 会话开始/结束 | 环境初始化/清理 |
| SubagentStart | 子代理启动时 | 子代理环境配置 |
| PreCompact | 上下文压缩前 | 自定义压缩策略 |
本质是 Markdown 文件(规则+流程+输出格式),按需加载不占空间。
文件结构:
---
name: 技能名称
description: 触发条件描述(Claude 据此匹配)
---
# 标题
## 具体规则和流程层级:
| 位置 | 作用域 |
|---|---|
.claude/skills/ | 当前项目,团队共享 |
~/.claude/skills/ | 全局,只在本地 |
.claude-plugin/skills/ | 插件内,跟插件走 |
独立上下文窗口的隔离工作者,由主代理派生。
核心优势:上下文隔离(不污染主对话)、并行执行、可限制权限、可选更便宜的模型。
内置子代理:
| 子代理 | 模型 | 权限 | 用途 |
|---|---|---|---|
| Explore | Haiku | 只读 | 搜索代码、回答问题 |
| Plan | Sonnet | 只读 | 代码库分析、方案规划 |
| General | 继承主代理 | 完整 | 多步骤复杂任务 |
Skill vs SubAgent:
将 Skill + SubAgent + Hook + MCP 打包为可分享单元:
.claude-plugin/
├── plugin.json # 元信息
├── skills/ # Skill
├── agents/ # 子代理
├── hooks/ # Hook
└── mcp/ # MCP Server安装:claude plugin add ./path-to-plugin
| 功能 | 加载时机 | 上下文成本 |
|---|---|---|
| CLAUDE.md | 会话启动 | 每次请求都占 |
| Skill | 按需加载 | 低 |
| SubAgent | 按需生成 | 零(独立上下文) |
| Agent Teams | 按需启动 | 各自独立 |
| MCP | 会话启动 | 每次请求都占 |
| Hook | 事件触发 | 零(外部执行) |
| Plugin | 安装后使用 | 取决于内容 |
经典组合方案:
| 差的提示 | 好的提示 |
|---|---|
| 修个 bug | 登录报 NPE,堆栈在 AuthService:42,修完跑 AuthServiceTest |
| 实现邮箱验证 | 写 validateEmail,测试:user@example.com→true,invalid→false,跑完测试 |
Plan Mode 先读代码理解现状,输出方案确认后再切回普通模式执行。
| 操作 | 方式 | 用途 |
|---|---|---|
| 打断 | Esc | 立刻停止纠偏 |
| 清空 | /clear | 不相关任务间清空 |
| 压缩 | /compact | 保留关键信息 |
| 回退 | /rewind 或 Esc×2 | 回退到 checkpoint |
| 恢复 | claude --resume | 继续中断的会话 |
经验:同一问题纠正超过 2 次 → 清空重来。
# 非交互模式
claude -p "给所有 Service 类加上 @Slf4j 注解"
# 管道模式
cat error.log | claude -p "分析错误根因"
# 多会话并行
claude --session code-session # 窗口1:写代码
claude --session review-session # 窗口2:审代码| 反模式 | 解决 |
|---|---|
| 一个会话塞多个不相关任务 | /clear 分隔或开新会话 |
| CLAUDE.md 写太长 | 精简到 500 行,多余移到 Skill |
| 不验证就信任结果 | 必须有测试/脚本验证 |
| MCP 连太多服务 | 只连需要的,每个都占上下文 |