会话与工作目录指南
概述
本章介绍 CLI 中两个紧密相关的核心概念:会话(Session) 与 工作目录(Workspace),适用于以下场景:
- 恢复此前未完成的对话,继续已有上下文;
- 在多个项目之间切换,并让 Agent 自动使用对应工作目录;
- 理解
/cd与传统 shellcd的区别。
本章涵盖以下内容:
- 会话(Session)
- 工作目录(Workspace)
- 会话与工作目录的绑定机制
命令之间的关系
在 CLI 中,会话与工作目录是关联管理的:
- 启动向导会同时询问会话与工作目录;
- 恢复历史会话时,会自动恢复其绑定的工作目录;
- 在会话中,
/session用于切换会话,/cd用于切换工作目录; - 每个会话都会记录最近一次使用的工作目录,并在后续恢复时自动加载。
| 命令 | 说明 |
|---|---|
/session | 切换会话;恢复历史会话时自动恢复其工作目录 |
/cd <path> | 切换工作目录,并绑定到当前会话 |
/pwd | 显示当前工作目录的绝对路径 |
/files | 列出当前工作目录中的文件,详见 交互对话指南 |
会话(Session)
什么是会话
会话是 CLI 中的独立对话上下文,包含:
- 用户与 Agent 的多轮对话历史;
- 当前会话绑定的工作目录;
- Agent 的内部运行状态。
每个会话都对应唯一的 session_id。
CLI 在每次启动会话时,会在当前进程内复用同一个 session_id。
在启动向导中选择会话
执行 unitarylab 后,启动向导会进入「会话」步骤,并提供以下选项:
- 新建会话:创建全新的对话上下文;
- 最近 8 个会话:从历史会话中恢复;
- 手动输入
session_id:恢复未出现在最近列表中的旧会话。
如果所选会话已绑定工作目录,则后续的「工作目录」步骤会被自动跳过,并直接恢复对应目录。
查看与切换会话
如果你只想浏览近期的工作项目,而不打算立刻打断当前进度,可以执行 /sessions(默认查看最近 5 个)或 /sessions 10 来列出历史会话清单。
当你决定切换上下文时,可以在进程中随时执行 /session 命令:
[agent│deepseek-v4-pro] › /session
? 选择会话:
✦ 新建会话
○ abc123… 05-06 14:26 1轮 hello
○ def456… 05-05 11:12 12轮 解释 Shor 算法
✎ 手动输入 session id
取消
✓ session → abc123… 1轮 hello
✓ workspace → /Users/alice/unitarylab/test切换完成后,后续对话将立即基于新的会话上下文继续。
会话历史与书签管理
在一个长期的、包含几十上百轮对话的会话中,你可能需要回溯之前的推导过程或查找某段代码。CLI 提供了一套完整的历史检阅工具:
- 回顾历史轮次:
使用
/history可以快速浏览最近 10 轮对话的摘要。若需查看特定某一轮的完整输出,使用/show 轮次即可(例如/show 12展开第 12 轮详情)。 - 全文检索:
在当前会话内部可使用
/search 关键词对当前会话的全部历史进行精准检索。 - 打书签:
在解决了一个复杂 Bug 或得出了重要结论后,随时输入
/bookmark 重要进展为当前轮次打上标签。后续只需执行/bookmarks即可调出所有高亮时刻,极大提升长篇上下文的管理效率。
工作目录(Workspace)
什么是工作目录
工作目录是 Agent 执行文件读写操作时的根目录。
所有文件相关工具(包括读取、写入、下载到本地等)均以当前工作目录为基准路径。
CLI 中的工作目录是 Agent 的逻辑文件根目录,并不等同于 shell 的当前目录。
/cd仅影响 Agent 的文件访问范围,不会修改终端进程的实际工作目录。退出会话后,你仍会回到启动 CLI 时所在的目录。
/cd <path>
/cd 用于切换当前工作目录。
示例:
[agent│deepseek-v4-pro] › /cd pde
✓ workspace → /Users/alice/unitarylab/pde行为说明:
- 相对路径:基于当前 工作空间 解析;
~展开:支持自动展开至当前用户 Home 目录;- 持久化绑定:每次
/cd后,新的工作目录都会绑定到当前会话。 - 即时生效:新的工作目录会在下一轮对话中立即生效,无需重启进程。
/pwd
显示当前工作目录的绝对路径:
[agent│deepseek-v4-pro] › /pwd
Users/alice/unitarylab/pde会话与工作目录的绑定机制
CLI 会在以下场景中持久化保存「会话 → 工作目录」的绑定关系:
- 进入会话时(包括新建会话与恢复会话);
- 执行
/cd切换工作目录时; - 使用
/session切换会话时。
绑定信息保存在本地数据库中,因此通常无需重复执行 /cd。
示例:
- 第一天,在
~/projectA下启动 CLI,并创建会话abc123…; - 第二天,重新选择
abc123…会话; - CLI 会自动恢复工作目录至
~/projectA。
如果之后执行:
/cd ~/projectB则下次恢复 abc123… 时,会自动进入 ~/projectB。
使用建议
-
按项目创建独立会话 建议每个项目对应单独会话,使工作目录能够随会话自动切换,避免频繁执行
/cd。 -
区分临时探索与长期任务 临时测试建议使用新会话;长期任务建议固定使用专门会话,便于后续持续恢复上下文。
-
善用书签节点 在长期任务中,培养使用
/bookmark记录里程碑的习惯,会让后续的复盘和/search搜索更加得心应手。