Claude Code Slash 命令全解 — /review、/compact、/model 等命令详解
简介
Slash 命令是 Claude Code 交互模式中的快捷指令系统,提供了丰富的功能来控制会话、切换模型、压缩上下文、触发代码审查等。本文将全面解析所有内置 Slash 命令的参数、使用场景和最佳实践。
在长时间的交互对话中,Slash 命令就像是你与 Claude Code 之间的"控制按钮"——无需输入冗长的文字描述,一个简短的命令就能完成复杂的状态切换。比如,当你发现对话上下文已经过于臃肿时,一个 /compact 就能自动压缩历史消息;当你需要从日常编码切换到深度架构分析时,一个 /model 就能瞬间切换到更强大的模型。
熟练掌握 Slash 命令不仅能提升日常开发效率,还能帮助你更好地管理 Claude Code 的资源消耗。随着对话的进行,上下文窗口会逐渐被填满,理解如何有效地压缩和管理上下文,是在长时间会话中保持 Claude Code 响应速度和输出质量的关键。
目录
- 一、Slash 命令体系概览
- 二、会话管理命令
- 三、模型控制命令
- 四、上下文管理命令
- 五、代码审查命令
- 六、调试与诊断命令
- 七、自定义命令扩展
- 八、推理投入度控制 /effort
- 九、目标驱动工作流 /goal
- 十、动态工作流编排 /workflows
- 十一、上下文优化 /optimize
- 十二、真实经验与踩坑
- 十三、落地检查清单
- 十四、总结
- 十五、下篇预告
一、Slash 命令体系概览
1.1 命令分类
Claude Code 的 Slash 命令按照功能可以清晰地划分为六大类,这种分类方式不仅帮助你快速找到需要的命令,也揭示了 Claude Code 的设计哲学——将最常用的操作抽象为简短的命令,同时保持命令之间的正交性和可组合性。理解这种分类体系,有助于你更高效地组织自己的工作流。
Slash 命令
├── 会话管理
│ ├── /clear - 清空当前会话
│ ├── /resume - 恢复上次会话
│ └── /exit - 退出 Claude Code
├── 模型控制
│ ├── /model - 切换模型
│ └── /models - 列出可用模型
├── 上下文管理
│ ├── /compact - 压缩上下文
│ ├── /context - 查看上下文用量
│ └── /memory - 管理记忆
├── 代码审查
│ ├── /review - 代码审查
│ └── /diff - 查看变更
├── 工作流编排(新增)
│ ├── /effort - 调节推理投入度(5 级)
│ ├── /goal - 目标驱动自主编码
│ ├── /workflows - 动态工作流编排
│ ├── /optimize - 上下文优化
│ └── /loop - 周期性执行
├── 调试诊断
│ ├── /help - 帮助
│ ├── /stats - 统计信息
│ └── /config - 查看配置
└── 自定义
└── /<custom> - 自定义命令1.2 基本语法
/<command> [arguments] [--flags]
# 示例
/model claude-opus-4-20250514
/compact --threshold 80
/review --scope src/二、会话管理命令
2.1 /clear
清空当前会话的所有对话历史,开始全新的对话。
# 基本用法
/clear
# 确认后清空
/clear --confirm
# 清空并保留上下文文件
/clear --keep-context使用场景:
- 当前对话偏离主题,需要重新开始
- 上下文过大导致响应变慢
- 切换到完全不同的任务
2.2 /resume
恢复上次未完成的会话。
# 恢复最近的会话
/resume
# 恢复指定会话
/resume --session abc123
# 列出可恢复的会话
/resume --list2.3 /exit
退出 Claude Code 交互模式。
# 直接退出
/exit
# 保存会话后退出
/exit --save
# 导出会话后退出
/exit --export session.md三、模型控制命令
3.1 /model
切换当前会话使用的模型。
# 切换到 Opus
/model claude-opus-4-20250514
# 切换到 Sonnet
/model claude-sonnet-4-20250514
# 切换到 Haiku
/model claude-haiku-3-20240307
# 查看当前模型
/model
# 带参数切换
/model claude-sonnet-4-20250514 --temperature 0.7 --max-tokens 40963.2 模型选择指南
| 模型 | 适用场景 | 速度 | 成本 | 能力 |
|---|---|---|---|---|
| claude-opus-4 | 复杂推理、架构设计 | 慢 | 高 | 最强 |
| claude-sonnet-4 | 日常开发、代码生成 | 中 | 中 | 强 |
| claude-haiku-3 | 简单任务、快速响应 | 快 | 低 | 中 |
3.3 /models
列出所有可用的模型及其信息。
# 列出所有模型
/models
# 输出示例:
# Available models:
# ┌─────────────────────────────┬────────┬───────┬─────────┐
# │ Model │ Speed │ Cost │ Context │
# ├─────────────────────────────┼────────┼───────┼─────────┤
# │ claude-opus-4-20250514 │ 慢 │ 高 │ 200K │
# │ claude-sonnet-4-20250514 │ 中 │ 中 │ 200K │
# │ claude-haiku-3-20240307 │ 快 │ 低 │ 200K │
# └─────────────────────────────┴────────┴───────┴─────────┘3.4 自动模型切换
// .claude/settings.json — 基于任务自动切换模型
{
"modelRouting": {
"enabled": true,
"rules": [
{
"pattern": "(架构|设计|分析|优化)",
"model": "claude-opus-4-20250514",
"reason": "复杂任务需要更强推理能力"
},
{
"pattern": "(解释|简单|快速)",
"model": "claude-haiku-3-20240307",
"reason": "简单任务使用快速模型"
}
],
"default": "claude-sonnet-4-20250514"
}
}四、上下文管理命令
4.1 /compact
压缩当前会话的上下文,减少 token 用量。这是管理长时间会话中最重要的命令之一。随着对话的进行,上下文窗口会逐渐被历史消息填满,当接近上限时,Claude 的响应质量和速度都会下降。/compact 命令通过智能地将早期对话压缩为摘要,释放上下文空间,同时保留关键信息。
压缩策略的选择取决于你的具体需求。默认的压缩模式会保留最近的消息不变,将早期的对话压缩为简短的摘要。如果你需要最大程度地节省 token,可以使用 --aggressive 模式,但这会丢失更多细节。--keep-recent 参数则允许你指定保留最近 N 条消息不压缩,确保关键上下文不会丢失。
# 基本压缩
/compact
# 设置压缩阈值(当上下文超过 80% 时自动压缩)
/compact --threshold 80
# 激进压缩(丢失更多细节但节省更多 token)
/compact --aggressive
# 保留最近 N 条消息不压缩
/compact --keep-recent 54.2 压缩策略
压缩前:
┌──────────────────────────────────────┐
│ 消息 1: 用户: 请解释这个函数 │ ← 保留
│ 消息 2: Claude: 这个函数的功能是... │ ← 压缩为摘要
│ 消息 3: 用户: 能优化吗? │ ← 保留
│ 消息 4: Claude: 优化方案如下... │ ← 压缩为摘要
│ 消息 5: 用户: 帮我实现 │ ← 保留(最近)
└──────────────────────────────────────┘
压缩后:
┌──────────────────────────────────────┐
│ [摘要] 讨论了函数解释和优化方案 │
│ 消息 5: 用户: 帮我实现 │ ← 保留
└──────────────────────────────────────┘4.3 /context
查看当前上下文用量。
# 查看上下文用量
/context
# 输出示例:
# Context Usage:
# ┌──────────────────┬──────────┐
# │ Metric │ Value │
# ├──────────────────┼──────────┤
# │ Total tokens │ 45,230 │
# │ Used tokens │ 32,150 │
# │ Available │ 13,080 │
# │ Usage % │ 71% │
# │ Messages │ 24 │
# │ Tool calls │ 18 │
# └──────────────────┴──────────┘
# 详细视图
/context --verbose
# JSON 输出
/context --json4.4 /memory
管理 Claude Code 的记忆系统。
# 列出所有记忆
/memory list
# 添加记忆
/memory add "项目使用 UUID 作为主键"
# 搜索记忆
/memory search "主键"
# 删除记忆
/memory delete <id>
# 清空记忆
/memory clear
# 导出记忆
/memory export > memory.json五、代码审查命令
5.1 /review
触发代码审查流程。
# 审查当前目录
/review
# 审查指定文件
/review src/main.py
# 审查指定目录
/review --scope src/
# 审查 Git 变更
/review --git
# 审查最近 N 次提交
/review --git --commits 3
# 审查特定分支对比
/review --git --compare main..feature
# 自定义审查规则
/review --rules .claude/rules/security.md
# 输出格式
/review --format json > review.json
/review --format markdown > review.md5.2 /diff
查看 Git 变更差异。
# 查看暂存区变更
/diff
# 查看工作区变更
/diff --unstaged
# 查看与指定提交的差异
/diff --compare HEAD~3
# 查看特定文件变更
/diff src/main.py
# 统计变更
/diff --stat5.3 审查工作流示例
# 完整的审查工作流
/review --git --format json > review.json
# 解析审查结果
cat review.json | jq '.issues[] | select(.severity == "high")'
# 根据审查结果自动修复
claude -p "修复以下审查发现的问题: $(cat review.json | jq -r '.issues[].description')"六、调试与诊断命令
6.1 /help
显示帮助信息。
# 显示所有命令
/help
# 显示特定命令帮助
/help /review
# 显示快捷键帮助
/help shortcuts6.2 /stats
显示会话统计信息。
# 显示统计
/stats
# 输出示例:
# Session Statistics:
# ┌──────────────────┬──────────┐
# │ Metric │ Value │
# ├──────────────────┼──────────┤
# │ Total messages │ 42 │
# │ Total tokens │ 89,450 │
# │ API calls │ 15 │
# │ Tool calls │ 38 │
# │ Est. cost │ $0.45 │
# │ Session duration │ 25 min │
# └──────────────────┴──────────┘
# 详细统计
/stats --verbose
# 导出统计
/stats --export stats.json6.3 /config
查看当前配置。
# 查看配置
/config
# 查看特定配置项
/config model
/config permissions
/config memory
# 编辑配置
/config edit6.4 /debug
进入调试模式。
# 启用调试
/debug on
# 显示调试信息
/debug info
# 导出调试日志
/debug export > debug.log
# 关闭调试
/debug off七、自定义命令扩展
7.1 自定义命令基础
自定义命令定义在 .claude/commands/ 目录中:
# 创建命令目录
mkdir -p .claude/commands
# 创建自定义命令
cat > .claude/commands/lint.md << 'EOF'
# 命令: /lint
## 描述
运行代码质量检查并修复发现的问题。
## 执行
1. 运行 ruff 检查代码
2. 运行 mypy 类型检查
3. 分析检查结果
4. 自动修复可修复的问题
5. 生成修复报告
## 输出
以表格形式展示检查结果和修复情况。
EOF7.2 命令参数
# 带参数的自定义命令
cat > .claude/commands/test.md << 'EOF'
# 命令: /test
## 参数
- $1: 测试范围(unit/integration/all)
- $2: 是否生成覆盖率报告(yes/no)
## 执行
如果 $1 是 "unit",运行单元测试
如果 $1 是 "integration",运行集成测试
如果 $1 是 "all",运行所有测试
如果 $2 是 "yes",生成覆盖率报告
EOF
# 使用自定义命令
/test unit yes
/test all no7.3 命令模板变量
| 变量 | 说明 | 示例 |
|---|---|---|
$ARGUMENTS |
所有参数 | /review src/ → "src/" |
$1, $2... |
位置参数 | 第一个、第二个参数 |
$FILE |
当前文件 | 光标所在文件路径 |
$DIR |
当前目录 | 当前工作目录 |
$BRANCH |
Git 分支 | 当前 Git 分支名 |
八、推理投入度控制 /effort
Claude Code v2.1.154 引入了 5 级推理投入度控制,让你根据任务难度精确调节模型的计算资源分配。投入度越高,模型思考越深入,输出质量越好,但成本也相应增加。
8.1 5 级投入度说明
| 级别 | 命令 | 适用场景 | Token 消耗 | 典型用途 |
|---|---|---|---|---|
| low | /effort low |
简单查询、格式化 | 低 | 变量命名建议、快速解释 |
| medium | /effort medium |
日常开发 | 中 | 普通功能开发、Bug 修复 |
| high | /effort high |
复杂任务 | 高 | 架构设计、复杂逻辑实现 |
| xhigh | /effort xhigh |
极难任务 | 极高 | 大规模重构、性能优化 |
| max | /effort max |
最高要求 | 最大 | 安全审计、关键系统设计 |
8.2 使用示例
# 会话中临时切换投入度
/effort high
# 处理最困难的架构问题
/effort xhigh
请帮我分析并重构这个微服务间的通信架构
# 恢复默认投入度
/effort medium8.3 全局配置默认投入度
对于日常使用,建议通过环境变量设置默认投入度,避免每次手动调节:
# 设置默认投入度为 high(推荐生产开发环境)
export CLAUDE_CODE_DEFAULT_EFFORT=high
# 添加到 ~/.zshrc 或 ~/.bashrc 持久化
echo 'export CLAUDE_CODE_DEFAULT_EFFORT=high' >> ~/.zshrc踩坑经验:在 Opus 4.8 模型下,默认投入度已自动升级为 high。如果你之前习惯使用 /effort low 节省成本,切换到 Opus 4.8 后需要显式设置,否则会意外消耗较多 Token。
九、目标驱动工作流 /goal
/goal是 Claude Code v2.1.139 引入的重磅命令,它将 Claude Code 从"问答式助手"提升为"目标驱动的自主 Agent"。设定目标后,Claude Code 会自主规划步骤、执行任务、验证结果,形成完整的自主编码循环。
9.1 与 /workflows 的核心区别
/goal /workflows
├─ 你定义"做什么" ├─ 你定义"怎么做"
├─ Claude 自主规划步骤 ├─ 步骤由你编排
├─ 适合目标明确但路径不清 ├─ 适合流程确定的批量任务
└─ 示例:"提升测试覆盖率到80%" └─ 示例:"扫描所有 .ts 文件并添加类型注解"9.2 使用示例
# 设定编码目标
/goal 将用户认证模块从 JWT 迁移到 OAuth 2.0,保持向后兼容
# 带 Token 预算的目标(防止过度消耗)
/goal 为所有公共 API 函数补充单元测试,覆盖率提升至 80%,预算 50000 tokens
# 结合 /loop 周期性执行
/goal 检查代码中的 TODO 注释并逐一修复
/loop # 每轮修复一批 TODO,直到全部完成9.3 /goal 的执行循环
设定目标
↓
Claude 分析目标并制定计划
↓
执行步骤 1(读取文件、修改代码、运行测试...)
↓
自我验证:目标是否完成?
├── 否 → 回到"执行下一步"
└── 是 → 输出完成报告真实经验:/goal 的本质是一个状态机,而非指令队列。在复杂项目中建议将大目标拆分为 2-3 个子目标分别执行,否则单次 /goal 可能消耗过多上下文导致中途压缩。
十、动态工作流编排 /workflows
/workflows命令让你编排多步骤的批量任务,Claude Code 会按计划依次执行,并在步骤间传递上下文。v2.1.154 之后支持在单个会话中编排数十到数百个后台子 Agent,适合大规模重构和批量操作。
10.1 创建工作流
# 让 Claude 为你创建并执行工作流
/workflows 为 src/api/ 下所有路由文件添加输入验证中间件
# 保存工作流供后续复用
/workflows --save validate-routes
# 列出已保存的工作流
/workflows --list
# 复用已保存的工作流
/workflows run validate-routes10.2 工作流与 /goal 的组合使用
# 先用 /goal 探索和规划
/goal 分析项目中所有缺少类型注解的 TypeScript 函数
# 再用 /workflows 批量执行
/workflows 根据刚才的分析结果,为所有识别出的函数添加类型注解参数说明表
| 参数 | 说明 |
|---|---|
--save <name> |
将当前工作流保存为命名模板 |
--list |
列出所有已保存的工作流 |
--run <name> |
执行已保存的工作流 |
--budget <tokens> |
设置工作流的 Token 预算上限 |
十一、上下文优化 /optimize
/optimize命令自动分析并优化当前会话的上下文结构,压缩冗余信息、重新组织关键上下文,特别适合在长会话中途使用,帮助 Claude 重新聚焦于最重要的信息。
# 自动优化上下文
/optimize
# 优化并显示优化前后对比
/optimize --verbose
# 优化时保留特定文件的上下文
/optimize --keep src/core/*.ts与 /compact 的区别:/compact 是简单的历史消息压缩,而 /optimize 会智能分析上下文结构并重新组织,保留关键代码片段和决策信息。
十二、真实经验与踩坑
12.1 经验 1:/effort 升级后成本激增
- 场景:团队升级到 Opus 4.8 后,日常编码的 Token 消耗突然增加了 3 倍
- 问题:Opus 4.8 默认
/effort high,而之前版本默认 medium,开发者忘记显式调回 - 解决方案:在
~/.zshrc中设置export CLAUDE_CODE_DEFAULT_EFFORT=medium,仅对复杂任务手动提升;每日开工时先确认当前 effort 级别
12.2 经验 2:/goal 在大项目上耗尽上下文
- 场景:用
/goal让 Claude 重构整个认证模块,涉及 30+ 文件 - 问题:
/goal执行过程中上下文迅速膨胀,触发多次自动压缩,后期已忘记最初目标 - 解决方案:将大目标拆分为 2-3 个子目标分别执行,或先用
/goal做分析规划,再用/workflows分步骤执行
十三、落地检查清单
-
/clear、/resume、/compact等基础命令可正常执行 -
/model可切换到目标模型(Opus/Sonnet/Haiku) -
/compact执行后上下文用量明显下降 -
/review可对当前变更生成审查报告 -
/effort可在 low/medium/high/xhigh/max 间切换 -
/goal可设定目标并自主执行完整循环 -
/workflows可编排并保存多步骤任务 -
/optimize执行后上下文结构得到优化 - 自定义命令目录
.claude/commands/已创建并可被识别 - 团队已配置默认 effort 级别避免成本失控
十四、总结
Slash 命令是 Claude Code 交互模式的高效工具集,涵盖了会话管理、模型控制、上下文管理、代码审查、工作流编排和调试诊断等各个方面。熟练掌握这些命令可以大幅提升日常开发效率。
关键要点:
- 使用
/model根据任务复杂度切换模型 - 使用
/compact和/optimize管理上下文大小与质量 - 使用
/review快速触发代码审查 - 使用
/effort根据任务难度调节推理投入度(5级) - 使用
/goal实现目标驱动的自主编码循环 - 使用
/workflows编排复杂的多步骤批量任务 - 通过
.claude/commands/创建自定义命令 - 组合使用多个命令构建高效工作流
十五、下篇预告
自定义 Slash 命令深度指南 — 学习如何在 .claude/commands/ 目录中创建自定义 Slash 命令,掌握 $ARGUMENTS 参数传递、命令模板、命令组合和团队共享最佳实践。