跳至内容

Claude Code 斜杠命令:让会话更长、更干净

学习如何使用内置的 Claude Code 斜杠命令来跨会话管理上下文、变更与成本,并创建自定义命令以自动化重复性的工作流。
更新 2026年6月23日  · 15分钟

当您在 Claude Code 中同时管理多个文件改动或进行长时间调试时,单靠对话往往不够——您会遇到问题,或需要更强的能力。您需要会话管理、规划工具,以及回滚错误的能力。Claude Code 的斜杠命令正是为此而生。

本指南将按用途讲解基础斜杠命令:上下文管理、规划与审查、保持专注、会话导航,以及成本与性能控制。最后,我们还会介绍如何构建您自己的斜杠命令,让 Claude Code 真正“长成您的样子”。

如果您刚接触 Claude Code,建议先阅读我们的Claude Code 教程,在开始本文前先建立基本认识。

要点速览

  • Claude Code 的斜杠命令分为五组,分别解决会话超过几轮后常见的具体问题。

  • 上下文管理/compact/clear/context 可在会话变长时防止 Claude 的回复质量下滑。

  • 规划与审查/plan/diff 可避免错误叠加,并在提交前清晰呈现变更。

  • 专注/goal 让 Claude 在多轮对话中持续朝着既定结果推进;/btw 则避免岔题污染主线。

  • 导航/resume/branch/rewind 让您回到先前工作、安全试验,并干净地撤销错误。

  • 成本与性能/cost/model/effort 让模型与推理深度与任务匹配,而不是为样板工作付高配价。

  • 自定义命令.claude/commands/(或新版 .claude/skills/)中的文件可将重复提示语变成一行调用。

什么是 Claude Code 斜杠命令?

Claude Code 斜杠命令是从终端直接触发的快捷方式,用于调用打包的技能、内置会话控制,或自定义自动化工作流。

斜杠命令 vs CLI 标志 vs 键盘快捷键

CLI 标志用于配置 Claude Code 的启动方式;键盘快捷键用于实时打断;而斜杠命令则在会话内部为您提供精细控制。 

这三层之所以并存,是因为工作流中的不同时刻会有不同需求。您不必每次都用到它们,但知道它们存在,就能在需要时拿对工具。

斜杠命令直接在活动会话中键入,/ 开头(如 /compact/plan/clear),立即执行。它们控制的就是您当前这段对话中正在发生的事。

CLI 标志在您从终端启动 Claude Code 时设置。比如 claude --model claude-opus-4-6claude --continue 都是 CLI 标志。它们在会话开始前完成配置。关于完整标志范围,您可以阅读我们的 Claude Code CLI程。

键盘快捷键在 UI 层工作。Esc 可打断正在生成的回复,双击 Esc 打开回滚菜单,Shift+Tab 在计划模式、接受编辑与自动模式间切换。这些应成为高频操作的肌肉记忆。

本文聚焦斜杠命令——您在提示之间使用的命令,并在有重叠的地方顺带标注相关快捷键。

哪些 Claude Code 命令最重要?

下表涵盖 13 条最重要的命令,本文都会讲到。

命令

用途

/compact [instructions]

汇总较早的对话轮次并释放上下文窗口空间,可附带保留重点的指令

/clear [name]

硬重置,以空上下文开始新对话

/context [all]

以彩色网格可视化当前上下文窗口占用

/plan [description]

在改动文件前进入只读的计划模式

/diff

打开交互式查看器,展示本会话中的所有改动

/goal [condition]

设置跨轮次持续推进的高层目标

/btw <question>

提出不纳入主对话线程的旁问

/resume [session]

按名称或通过选择器继续先前会话

/branch [name]

分叉对话以尝试替代方案(别名:/fork)

/rewind

回滚到更早轮次,可选仅代码、仅对话或两者

/cost

/usage 的别名 —— 展示 token 花费或配额使用

/model [model]

在会话中途切换活动模型

/effort [level]

设置从低到最高的推理深度

请注意,/cost 在最新版本的 Claude Code 中已是 /usage 的别名,而 /fork/branch 的别名。

在 Claude 会话中输入 / 可查看所有可用选项。

斜杠命令的上下文菜单

如何管理 Claude Code 的上下文窗口

要管理 Claude Code 的上下文窗口——这是每位高阶用户的关键技能——请使用 /compact/clear/context

什么是 Claude Code 的上下文窗口?

上下文窗口是会话的工作记忆。它包含大量信息: 

  • 对话历史
  • 文件内容
  • 命令输出
  • 您的 CLAUDE.md 指令
  • MCP 上下文
  • Claude 的系统提示

随着其装载增加,Claude Code 会逐渐遗忘会话早期的内容,比如您一开始描述的文件结构、设定的约束以及其他关键信息。质量会在触及上限之前就开始下降,而不只是到达上限时才下滑。

/compact

/compact 会对较早的对话轮次进行总结,并以压缩版本替换,从而释放 token 预算,同时让 Claude 仍然了解会话早期发生的事。最佳实践是尽早运行,并明确告知需要保留的重点。

最基本的用法是直接输入 /compact。但更实用的方式是告诉它要保留什么:例如 /compact focus on the auth module,或 /compact retain the error handling patterns we discussed

当您传入指令时,Claude 生成的摘要会优先强调这些主题。对数据从业者而言,可能会是 /compact focus on the schema decisions and the pipeline DAG,这样高层架构能保持在焦点,而逐行调试的细节则被压缩。

社区的一条实用规则:当上下文使用超过 80% 前先 compact。一旦等到几乎满了再压缩,摘要质量会变差,因为 Claude 已经在降级状态下工作了。

需要注意:CLAUDE.md 的内容、已加载的技能和记忆文件会在压缩时自动保留,您无需特意声明。

/clear

/clear 会彻底清除对话历史并重新开始。建议在任务边界上使用 /clear

您可以选传一个名称以在清除前为会话打标签:/clear payment-refactor。这样旧会话会在 /resume 选择器中带标签,方便回到它。

当您调试完数据加载器,接着想去做完全不相关的可视化模块时,将旧上下文带入反而会碍事。干净的起点意味着 Claude 不会混淆引用、不再沿用不适用的约束,并将全部注意力放在新任务上。

继续同一项工作但想减少上下文臃肿时用 /compact;要切换到完全不同的工作时用 /clear

/context

在决定压缩还是清空前,先了解现状很有帮助。/context 会以彩色网格可视化上下文窗口占用,精确显示 token 的去向。

您会看到按类别的拆分: 

  • 对话历史
  • 文件内容
  • 记忆文件
  • 已加载技能

好处是,如果某项占用异常多,Claude 会给出优化建议。传入 all 可展开逐项明细:/context all

在开始任何大型任务前养成先运行 /context 的习惯。如果窗口已被早先会话占用 60%,在不先压缩或清空的情况下直接进行多文件重构,只会给自己添堵。

/context

如何在 Claude Code 中规划与审查变更

用 AI“凭感觉写码”最容易把事情搞乱的方式,就是在没有清晰计划前就开始改文件。为避免含糊指令导致不一致的改动,请使用 /plandiff

/plan

使用 /plan 会让 Claude 进入只读模式:先分析代码库、提出行动计划,并在您批准前不会做任何改动。 

您可以带描述来提早对齐方向:/plan refactor the feature engineering pipeline to support lazy evaluation。在您放行前,它不会写入或删除任何内容。一旦审核并批准,Claude 就会执行完整计划。

切换计划模式的快捷键是 Shift+Tab;如果您正处在会话中,需要快速切换,这比输入命令更快。

计划模式在三种情境下最有价值: 

  • 您对代码库不熟悉
  • 改动会涉及多文件
  • 指令本身存在歧义

这可用于任何任务,例如迁移特征库、重构 ETL 逻辑,或更新多年积累了一次性改动的训练脚本。

若想更深入,建议阅读我们的完整教程:Claude Code 计划模式:先设计评审的重构循环

/diff

使用 /diff 会打开交互式 diff 查看器,展示当前会话内的所有文件改动。

它可用于快速核对是否出现意外,如未预期的文件改动或范围蔓延。把它当作“Claude 做了些事”和“我确认提交内容”之间的最终检查点。

在查看器内,使用方向键导航。左右切换“当前累积的 git diff”和“逐轮 diff”;上下在视图内浏览文件。这让您既能查看会话全过程,也能逐轮回顾。

/DIFF

如何让 Claude Code 保持在正确轨道上

为防止复杂会话“跑偏”并用岔题污染上下文,请使用 /goal/btw 命令。

/goal

Claude Code 的 /goal 命令会设置一个跨轮次持续存在的高层目标,促使 Claude 按既定结果推进。 

一旦设定目标,Claude 会自动推进,直到您描述的条件达成。这对长时间迁移、大规模修复测试套件,或任何原本需要您不断催促其继续的任务尤为有用。

用法是结合您想要的具体结果来写。清晰、明确、具备具体终态的目标更好,例如 /goal All tests in the data pipeline are passing with no deprecation warnings

激活目标时,状态栏会显示实时进度叠加层,包括耗时、轮次和 token 使用情况。达成目标后,Claude 会停止并报告完成。 

若要在达成前移除目标:/goal clear

若想了解一种相似但不同的方法,请阅读我们的教程:Claude Code 的规格驱动开发

/btw

/btw 允许您提出一个不会被纳入主对话线程的旁问。

Claude 会在叠加层中作答,而主对话会从原处继续:/btw what was that config option for SQLAlchemy connection pooling called again? 

我经常碰到这种情况:Claude 正在忙,我又对过程有疑问。若打断它发问,会增加噪音,Claude 可能得重头开始;若忽略,我又会忘记。/btw 很好地解决了这个问题。

把它当作任务中途给自己递的一张便签:获取所需答案,而无需付出绕路的上下文与时间成本。

如何在 Claude Code 中导航会话

长期项目不可能装进单一会话。您需要捡起旧工作、安全试验而不破坏进度,偶尔还要撤销跑偏的改动。/resume/branch/rewind 命令可满足这些需求。

/resume

使用 /resume 可继续先前会话。无参数运行会弹出选择器,按日期排序显示最近会话并附带上次提示的大致内容。也可直接传入会话名或 ID 快速跳转:/resume payment-refactor

您也可以在启动会话前在命令行完成此操作。claude --continue(或 claude -c)会继续最近一次会话,claude --resume <id> 可按会话 ID 恢复。CLI 标志与斜杠命令实现相同功能:前者用于会话开始前,后者用于会话进行中。

Claude Code 会将每个会话以 JSONL 文件保存在 ~/.claude/projects/,记录每条消息、工具使用与结果。这使得恢复、回滚与分叉成为可能。

/branch

/branch 会在当前状态下复制一份对话,将您切换到新分支,并保持原始分支不变。您甚至可以为分支命名:/branch try-polars-instead-of-pandas

这相当于对话版的 git 分支。比如您想尝试不同方案又不想丢掉已有路径。分支出去,尝试备选;如果不行,再 /resume 回原分支;如果可行,就有了一条更优路径的干净分支。

当上下文窗口渐满,而您面前有两个都依赖当前上下文的独立问题时,这种方式也非常有用。

/branch 也可用 /fork 调用。在较早的社区资料与教程中,您会经常看到 /fork。官方文档当前的规范名称是 /branch,但二者都可用。

/rewind

当我们走得太远,才发现出了错……/rewind 就像便捷的撤销键,可将会话回滚到更早的一轮。 

好在它提供交互式菜单。用方向键导航,选择要回到的轮次。 

关键在于可选择回滚范围:

  • 两者(默认):文件恢复到该轮的状态,且该点之后的所有对话消息被删除。适用于一系列改动出错、您想从已知良好状态干净重启的情形。
  • 仅对话:删除所选点之后的消息,但保留文件改动。适用于 Claude 后续回复无用,但写的代码没问题。
  • 仅代码:文件恢复至所选状态,但保留对话。适用于您想保留 Claude 的分析与推理,但撤销实际文件改动。

键盘快捷键 Esc Esc 可在无需输入命令的情况下打开同样的回滚菜单。

重要注意:只有 Claude 通过其官方工具执行的文件操作才会被跟踪并可逆。您在会话中用其他编辑器手动进行的更改不在其内。

如何在 Claude Code 中控制成本与性能

要控制 Claude Code 的成本与性能比,请使用 /cost/model/effort 命令。

如果您使用 API 计费,token 开销是真实考量;若您在 Pro 或 Max 方案内,保持在配额范围内同样重要。无论哪种情况,不必在每个任务上都用最强模型加最大推理深度。

/cost

/cost/usage 的别名,用于展示当前花费:

  • 对于API 用户,它会按模型细分展示 token 计数、缓存使用与美元成本。 
  • 对于Pro 与 Max 订阅者,它会展示计费周期内的使用与配额对比。

在重负载会话开始时用 /cost 建立基线,并在长时间运行过程中定期查看燃耗速度,是个不错的习惯。 

如果成本攀升快于预期,下面两条命令就是您的杠杆。

/model

在不中断上下文的情况下,通过 /model 在会话中途切换活动模型,会随需求变化而非常有用。

无参数运行会打开交互式选择器,您可用方向键导航。也可直接传入模型名:/model claude-haiku-4-5

一个实用策略: 

  1. Claude Opus 启动会话以做复杂架构推理
  2. 随后切到 Claude Sonnet 用于实现任务
  3. 对如变量重命名、生成文档字符串或补齐样板等机械性工作,降到 Claude Haiku。 

在大规模下,Opus 与 Haiku 的成本差约为 10 到 20 倍。

自 v2.1.153 起,您用 /model 选择的模型会保存为新会话默认。若只想应用于当前会话而不改默认,可在交互式选择器中按 s

/effort

您可以通过 /effort 决定模型使用的“努力程度”,即为当前模型设置推理深度。无参数时会出现交互式滑块,也可直接设置,如 /effort low

可用级别如下: 

  • low

  • medium

  • high

  • xhigh(2026 年 4 月)

  • max(2026 年 5 月)

  • ultracode(2026 年 5 月)

maxultracode 级别只针对当前会话,不能保存为默认。使用 /effort auto 可重置为当前模型默认。

ultracodexhigh 推理与自动工作流编排结合,用于最复杂的多步骤任务。请谨慎使用,因为自动编排可能会衍生 100+ 个智能体,迅速消耗大量 token。

实践法则: 

  • 样板、简单代码生成与直接重构用 lowmedium。 

  • 复杂调试、架构决策与多文件分析,用 highxhigh,一次到位可大幅减少反复沟通。 

  • 只有在大型重构、代码库重写或涉及众多组件的任务中才用 ultracode。 

努力程度会直接影响质量与 token 成本,因此按任务校准非常划算。

如何在 Claude Code 中创建自定义斜杠命令

内置命令覆盖了操作基础。Claude Code 的自定义斜杠命令,能让这款工具真正体现“为您所建”。

理念很简单:任何您反复输入的提示语,都可以保存为命令文件,通过一个 /command-name 调用即可。团队的标准代码评审清单、项目的部署核验步骤、您个人请求生成测试的风格,都能共享。 

斜杠命令 vs 智能体技能

先说明一点:Anthropic 已将自定义命令与技能统一。.claude/commands/ 格式现被视为遗留格式。它仍可用,CLI 也会继续支持,但推荐的前进方向是 .claude/skills/<name>/SKILL.md。 

技能既支持同样的 /name 调用,也可在描述匹配任务时由 Claude 自主调用,并且可以将支持文件(脚本、模板、参考文档)与提示语一起打包。 

关于技能的更多内容,请参阅我们关Claude Skills 的教程。

自定义命令存放位置

自定义命令是存储在以下两处之一的 Markdown 文件:

  • 项目级:项目根目录下的 .claude/commands/。这些命令仅作用于该项目,可提交到版本控制,并与同仓库的协作者共享。

  • 个人(全局):您主目录下的 ~/.claude/commands/。这些命令在您机器的每个项目中可用,且仅您可见。

去掉 .md 扩展名的文件名即为命令名。.claude/commands/fix-issue.md 会创建 /fix-issue.claude/commands/frontend/component.md 会创建 /component,并带有命名空间标签,指示它来自 frontend 子目录。

如果您想使用技能格式,对应路径分别是项目级的 .claude/skills/<command-name>/SKILL.md 与个人级的 ~/.claude/skills/<command-name>/SKILL.md。下面介绍的前置信息与提示正文写法相同。

文件格式

Markdown 文件的正文即为提示模板。调用命令时,Claude 会读取文件、处理替换,并像您亲自输入该提示一样执行。

以下是位于 .claude/commands/summarize-pr.md 的最小示例:

Review the current git diff and write a concise pull request description.
Include: what changed, why it changed, and any important implementation notes.
Format as plain prose, not bullet points.

运行 /summarize-pr,Claude 就会根据当前会话执行该提示。

添加 YAML 前置信息

若要更精细地控制命令行为,可在文件顶部加入 YAML 前置信息:

description: Generate a PR description from the current diff
allowed-tools: Bash(git diff *), Read
model: claude-sonnet-4-6

前置信息的作用包括:

  • description 会显示在 /help 列表中,方便您记住命令用途,也便于当您仅描述使用场景而未直接调用命令/技能时,Claude 自动匹配。

  • 顾名思义,allowed-tools 会限制 Claude 在执行命令时可用的工具,有助于限定范围与上下文。 

  • 最后,model 会将命令固定到特定模型,而不受当前会话活动模型影响。

使用 $ARGUMENTS

$ARGUMENTS 占位符让自定义命令更灵活。您在命令名后输入的任何文本,都会被替换到提示中出现 $ARGUMENTS 的位置。

以下是一个完整示例。我们来创建一个用于修复仓库 Issue 的命令,文件名为 .claude/commands/fix-issue.md

---
description: Find and fix a GitHub issue by number
allowed-tools: Read, Edit, Bash(git diff *)
argument-hint: [issue-number]
---

Find and fix issue #$ARGUMENTS in this repository.

Steps:
1. Read the relevant source files to understand the current behavior
2. Identify the root cause
3. Implement the fix with minimal scope — do not change unrelated code
4. Verify the fix does not break anything obvious
5. Write a brief explanation of what changed and why

/fix-issue 847 调用后,Claude 收到的完整提示会将 $ARGUMENTS 替换为 847。对需要多个输入的命令,您也可使用位置参数 $0$1 等。

注入实时 Shell 输出

命令可用 ! 前缀注入实时 Shell 输出。这对始终应基于当前状态运行的命令很有用:

allowed-tools: Read, Bash(git *)
description: Review staged changes before committing

Current staged diff:
!git diff --cached

Review these changes and suggest a clear, conventional commit message.
Flag any obvious bugs, missing tests, or incomplete logic before I commit.

Claude 加载该命令时会先运行 git diff --cached,捕获输出并注入提示中。Claude 看到的是实际 diff 内容,而非占位符。

结合 $ARGUMENTS、Shell 注入与前置信息,Claude Code 的自定义命令能显著加速您的提示流程。 

想要更多范式与真实案例,请参阅 DataCamp 关于 Claude Code 最佳实践Claude Code Hooks 的教程,了解这些工具如何在生产工作流中协同。

结语

斜杠命令并非只为资深用户准备的高级功能。它们是 Claude Code 的基础操作层,尽早掌握会改变您对 AI 辅助开发的方式。

如果您是新手,从小处开始。先学会用 /compact/plan/cost 来有效优化会话。等这些变得自然后,在提交前加入 /diff,对超过几轮的任务使用 /goal。其余命令会在相应场景出现时水到渠成。

若想为自定义命令寻找更多灵感,建议继续阅读我们的 Claude Code 终端 教程。若您想系统了解 Claude 模型的思维方式与设计目标,我们的 Introduction to Claude ModelsClaude Code 101 课程是理想起点。

Claude Code 斜杠命令常见问答

“/compact”和“/clear”有什么区别?

/compact 会在保留关键信息的同时对对话历史进行总结与压缩,而 /clear 会彻底删除对话历史。若您想在同一项工作内继续,但减少上下文占用,请用 /compact;若您要切换到完全不同的任务且不需要任何既有上下文,请用 /clear

“/fork”和“/branch”是一样的吗?

是的。当前版本的 Claude Code 中,/fork/branch 的别名。两者都会在当前状态下复制一份会话。您可能在较早的教程与文档中看到 /fork,但 /branch 是规范名称。

我何时应使用 /effort high,而不是默认值?

截至 2026 年 6 月,Max 与 Team 方案中 Opus 4.6 的默认努力程度为 high。当您处理复杂调试、多文件架构改动,或确实需要更深推理的问题时,使用 /effort xhigh 甚至 /effort max。对于直接的代码生成或格式化,使用 low 或 medium 更合适且可降低成本。

自定义斜杠命令可以与团队共享吗?

可以。项目目录内的 .claude/commands/ 中的命令属于项目内容,可以提交到版本控制。任何检出该仓库并使用 Claude Code 的人都会自动获得相同的命令。

哪些 Claude Code 版本支持 /goal 与 /btw?

/goal 引入于 v2.1.139,/btw 则在 2026 年 3 月的 v2.1.72 中加入。若您使用更早版本且看不到这些命令,请使用 npm update -g @anthropic-ai/claude-code 或按您的安装方式升级 Claude Code。

主题

在 DataCamp 上学习如何使用 Claude!

Courses

Introduction to Claude Models

3小时
10.7K
Learn how to work with Claude using the Anthropic API to solve real-world tasks and build AI-powered applications.
查看详情Right Arrow
开始课程
查看更多Right Arrow