会话与上下文管理
目录访问、上下文压缩、分支与回滚、导出与恢复
作者 David·更新于 ·第 6 篇(共 16 篇) / 只有出现在消息开头才会被识别为命令,后面的文字会作为该命令的参数。输入 / 可以看到当前可用的全部命令,输入 / 加字母可以过滤。
| 命令 | 作用 |
|---|
/add-dir <path> | 为当前会话额外授权一个工作目录的文件读写权限。注意:这只授予文件访问,不会自动发现该目录下的 .claude/ 配置(.claude/skills/ 除外)。v2.1.257 起传入当前工作目录内的子目录也行,会像 --add-dir 一样加载其技能、命令与 agent;网络路径(UNC 共享、/net/<host>)一律拒绝 |
/cd <path> | 把当前会话切换到新的工作目录,同时保留 prompt 缓存——新目录的 CLAUDE.md 会作为一条消息追加,而不是重建整个系统提示词(v2.1.169+)。⚠️ v2.1.246 起新目录的项目设置、hooks、.mcp.json 服务器(照常需审批)、技能与 agent 切过去立即生效,不必再 --resume |
| 命令 | 作用 |
|---|
/compact [instructions] | 总结当前对话以释放上下文空间,可传入聚焦说明,例如 /compact 只保留和认证模块相关的内容 |
/context [all] | 用彩色网格可视化当前上下文占用情况,给出优化建议;传 all 展开每一项明细。v2.1.283 起 MCP 服务器说明(server instructions)单列一行并计入总量;v2.1.281 起总量也算上上次回复之后新增的消息,因此可能比状态栏显示的高 |
/clear [name] | 开启一个全新对话(项目记忆仍保留),之前的对话仍可通过 /resume 找回;可传名称标注旧对话。别名 /reset、/new |
/compact 是“总结当前对话、继续同一个任务”;/clear 是“另起一个任务”。上下文快满时优先用前者,任务已经完成、准备做别的事情时用后者。
| 命令 | 作用 |
|---|
/branch [name] | 在当前节点创建一个对话分支,尝试不同方向而不丢失原对话;原对话仍可通过 /resume 找回 |
/rewind | 把对话和/或代码回滚到之前的某个检查点,或者从某条消息开始重新总结。别名 /checkpoint、/undo |
| 命令 | 作用 |
|---|
/resume [session] | 按 ID/名称恢复对话,或打开会话选择器;后台会话会标记 bg。别名 /continue |
/rename [name] | 重命名当前会话,显示在 prompt bar 上;不传名称则根据对话内容自动生成 |
/export [filename] | 把当前对话导出为纯文本;不传文件名则弹出选择“复制到剪贴板”或“保存文件” |
/copy [N] | 复制最近一条(或倒数第 N 条)assistant 回复;含代码块时会弹出选择器 |
| 命令 | 作用 |
|---|
/btw <question> | 问一个不计入对话历史的旁支问题;v2.1.257 起用 Shift+← / Shift+→(或 [ / ])翻看最近问过的旁支问题 |
/recap | 手动生成当前会话的一句话摘要 |
/exit | 退出 CLI;如果当前是 attach 到后台会话,则只是 detach,会话继续在后台跑。别名 /quit |
claude # 进入项目,开始一次会话
...(工作一段时间,上下文变长)
/context # 看看上下文都花在哪了
/compact 聚焦在登录模块的改动
...(继续工作)
/clear 完成登录模块重构 # 任务切换,给旧对话留个名字
...(第二天)
claude --resume "完成登录模块重构" # 或交互式 /resume 选择器