
2/7/2026 · 9:15
Claude Code SDK #34:Commands 全解——/init × /plan × /diff × /rewind,把会话从聊天变成可控工作流
Commands 是 Claude Code 会话里的控制平面。本篇按初始化、任务中、并行、审查、恢复五个阶段拆解 /init、/plan、/compact、/batch、/diff、/code-review、/rewind 等命令,帮助开发者把 Agent 写代码变成可控流程。
如果你只把 Claude Code 里的
/help 当成「菜单」,那会错过一件更重要的事:Commands 是会话里的控制平面。它不负责写代码本身,却决定这次会话怎么启动、怎么省上下文、怎么并行、怎么验收、出事后怎么撤回。官方文档对 Commands 的定义很直接:它们在 Claude Code 会话内部生效,用来切换模型、管理权限、清理上下文、运行工作流等;输入
/ 可以看到当前环境可用的命令,命令只在消息开头被识别,命令名后面的文字会作为参数传进去。1换句话说,
/ 不是快捷键合集,而是一套「把聊天变成工程流程」的入口。先把 Commands 分成三类,不要背完整列表
Claude Code 的命令表很长,硬背没有意义。更实用的分类是看命令背后谁在干活。
这个分类很关键。内置命令更像「拨开关」;Skill 命令更像「临时调用一套操作手册」;Workflow 命令则是在启动一组后台执行单元。你在团队里设计 Claude Code 使用规范时,别只列命令名,要顺手写清楚它属于哪一类。
官方还提醒,并不是所有命令都会出现在每个用户的环境里。可用性会受平台、套餐和运行环境影响,例如
/desktop 只在特定桌面环境和订阅条件下出现,/upgrade 也只面向部分套餐。1 所以团队文档里最好写「优先用 X;如果本机没有,就退回 Y」,不要假设每个人的 / 菜单完全一样。第一组:开一个新仓库,先把记忆、工具和权限立起来
第一次在仓库里启动 Claude Code,不建议直接丢一句「帮我重构」。更稳的顺序是:
/init
/memory
/mcp
/agents
/permissions/init 会生成项目的初始 CLAUDE.md,/memory 用来继续编辑这些记忆文件;/mcp 管理 MCP 服务器连接,/agents 管理子 Agent 配置,/permissions 管理工具权限规则。官方把这些命令放在「First session in a repo」这一段里,意思很明确:先建边界,再让 Agent 动手。1这里最容易被低估的是
/permissions。很多人第一次用 Agent 写代码,要么一路点允许,要么一开始就把权限关得太死。更好的做法是给项目建立「读、写、执行」三层规则:读源码通常放宽,写文件按目录收口,执行 shell 命令要分清测试、构建、部署。这样 Claude 能干活,但不会在你没看清的时候碰到不该碰的东西。/add-dir 也属于这类启动期命令。它能在当前会话里增加可访问工作目录,但官方文档特别说明,从额外目录里发现大多数 .claude/ 配置并不是它的职责;它主要是在授予文件访问。1 如果你想复用另一个目录里的规范,不要误以为 /add-dir 会把那边的全部配置都加载进来。第二组:任务进行中,控制成本和上下文
任务一旦进入实现阶段,最常用的不是「更聪明的提示词」,而是这些会话控制命令:
/plan
/model
/effort
/context
/compact
/btw/plan 让 Claude 直接进入计划模式;/model 切换模型,/effort 调整推理强度;/context 展示当前上下文使用情况,/compact 把已有对话压缩成摘要;/btw 用来问一个不应该污染主会话历史的旁支问题。官方在「During a task」里把它们放在同一个工作段落中。1这套组合的重点不是省钱,而是防止会话变钝。长任务里最常见的失败,不是模型突然不会写代码,而是上下文里塞满了旧输出、长日志、无关讨论和半途改掉的计划。
/context 先告诉你窗口被谁占了;/compact 再把历史压成下一步真正需要的状态。我会把
/compact 当成一个阶段门:- 探索阶段结束,准备进入实现前压一次。
- 大改动写完,准备验收前压一次。
- 出现跑偏迹象时,用带指令的
/compact只保留计划、关键决策和当前 diff。
官方对
/compact 的描述也支持这种用法:它可以释放上下文,并允许传入聚焦指令。1 不要等到窗口快爆了才压缩,那时 Claude 已经开始被旧信息拖着走。第三组:并行不是多开几个终端,而是选对并行粒度
Claude Code 现在有几种并行方式,名字容易混在一起。按粒度看会清楚很多。
这里有一个实战判断:如果任务本身可以拆成独立文件、独立包或独立规则,就让
/batch 去拆;如果只是当前任务里有一个旁支需要查证,就用子 Agent 或 /fork。/fork 会生成一个继承当前完整对话的后台子 Agent,处理你给的指令,你可以继续主线工作。1别把并行用成「同时制造三份不一致的方案」。并行前先写清合并口径:谁负责实现,谁负责验证,谁最后合并。Claude Code 的工具能把人分出去,但合并标准仍然要你定。
第四组:发 PR 前,先让改动可见、可审、可修
写完代码后,不要直接问「还有问题吗」。这句话太宽,Claude 很容易给你一段泛泛建议。更具体的命令链是:
/diff
/code-review
/security-review
/review/diff 打开交互式 diff 视图,可以在当前 git diff 和单轮 Claude 改动之间切换;/code-review 检查当前 diff 里的 correctness bug、复用、简化和效率问题,还支持 --fix 应用发现的问题;/review 对 GitHub PR 跑同一套只读 review;/security-review 则专门看待提交改动里的安全风险。1这几个命令的顺序也有讲究。先用
/diff 自己看一遍,确认 Claude 没改到范围外。再跑 /code-review 找逻辑和结构问题。涉及鉴权、注入、密钥、权限、数据暴露,再加 /security-review。如果已经开 PR,再用 /review 对外部 PR 视角补一遍。/code-review ultra 是另一个强度档。官方把它描述成云端多 Agent 深度 review,而 /ultrareview 现在更偏向别名入口。1 这类命令不要每次小改都开;适合大范围重构、核心路径改动、或者你准备让 AI 先替你做一轮严肃把关时使用。第五组:会话跑偏后,先撤回,再继续
长会话一定会跑偏。关键不是避免跑偏,而是能不能把它拉回来。
/rewind
/branch
/resume
/clear
/doctor
/debug/rewind 可以把对话和代码回到之前的检查点,也可以从选中的消息开始做摘要;/branch 从当前点创建一个会话分支,方便你尝试另一个方向;/resume 恢复旧会话;/clear 开新对话但保留项目记忆;/doctor 诊断安装、设置、MCP 和上下文使用;/debug 会为当前会话开启调试日志,并围绕你描述的问题排查。1这里最值得养成肌肉记忆的是
/rewind。如果 Claude 已经连续两轮误解目标,继续解释通常不如回到误解发生前。你可以把它当成「会话层面的 git reset」:代码和对话都回到一个更干净的位置,再换一种任务描述。/doctor 则适合排查「工具没生效」这类问题。Troubleshooting 文档也建议,不确定问题归属时先在 Claude Code 内运行 /doctor;如果 claude 本身启动不了,再从 shell 运行 claude doctor。2 这比在主对话里反复问「为什么不行」更快。两个容易踩的边界
第一,Commands 和 CLI flags 不是一回事。
/compact、/model、/diff 是会话内控制;claude -p、claude --resume、claude --safe-mode 这类是启动或 shell 层参数。Commands 页面最后也把 CLI reference 单独列为相关资料,说明这两层需要分开理解。1第二,自定义命令现在更推荐走 Skills。Commands 文档说,要添加自己的命令,应该看 Skills;MCP 服务器也可以暴露 prompts,它们会以
/mcp____ 这种格式动态出现在命令体系里。1 所以团队想沉淀 /deploy、/review-pr、/release-note,别只写一堆口头约定,应该把它们做成项目 Skill 或 MCP prompt。一套可直接照抄的日常命令流
如果你每天用 Claude Code 做真实开发,可以先按这条线跑,不需要一次掌握所有命令:
# 新仓库第一天
/init -> /memory -> /permissions
# 大任务开始前
/plan -> /effort high -> /context
# 实现中
/btw 处理旁支问题
/compact keep only the plan, key decisions, and current implementation state
# 需要并行
/fork 做旁支调查
/batch 做可拆分的大范围改造
# 提交前
/diff -> /code-review --fix -> /security-review
# 跑偏或卡住
/rewind 或 /branch
/doctor 或 /debug这才是 Commands 最有价值的用法:不是把
/ 菜单当百科全书,而是给 Claude Code 会话装上刹车、档位、仪表盘和回滚按钮。Agent 写代码的能力会继续变强,但工程现场真正需要的是可控。Commands 正好补的是这一块。Fuentes de referencia
Contenido relacionado
- Inicia sesión para comentar.