跳转到正文

MODULE 02 · STEP 07 · 可练习

会话的保存与续写 ​

做完第一个任务后,很多人会问:关闭终端以后,刚才的对话是不是没有了?

Pi 默认会自动保存会话,并按工作目录组织。你无需每说一句就手动保存,但需要学会给会话起名字,否则日后会很难找回来。

会话默认保存在 ~/.pi/agent/sessions/ 下,并按工作目录组织成 JSONL 文件。在 Pi 中输入 /session 可以看到当前会话文件、ID、消息数、token 与成本;这里可能包含私人提示、路径和工具结果,不要直接上传或公开。

一件事对应一个会话 ​

一个实用的起点规则是:一个明确目标,使用一个会话。整理会议记录、修复网站导航和翻译一篇文章,最好不要全部塞进同一条对话。

任务开始后,在 Pi 输入区输入:

text
/name 会议记录整理练习

名字应该描述任务,而不是写“测试 1”或“今天的对话”。一周后回来,你仍然能从名字判断内容。

输入完按 Return。/session 可以查看当前会话文件、ID、消息数、token 与成本信息;会话名最直接的复核入口是稍后的 /resume 选择器。先继续完成本节的退出与恢复练习。

关闭以后继续做 ​

如果你刚退出 Pi,而且要继续当前目录最近的会话,先在普通终端回到练习目录:

bash
cd ~/Downloads/pi-practice
pwd
pi -c

pwd 必须显示正确的练习目录。pi -c 打开后,先检查历史消息确实属于刚才的会议记录任务;需要核对名称时打开 /resume,列表中应能找到“会议记录整理练习”,按 Esc 取消选择并回到当前会话。

如果这个项目有多个会话,使用:

bash
cd ~/Downloads/pi-practice
pwd
pi -r

这会打开历史会话选择器。用上下方向键找到对应名称,按 Return 打开,按 Esc 取消。也可以在已打开的 Pi 中输入 /resume。选择前先看会话名和工作目录,别把相似项目接错。

如果你使用的练习目录名不是 pi-practice,把两处 cd 命令里的目录名一起替换掉。

没有回到预期会话时 ​

  • pi -c 打开的历史不对:不要在这个会话继续写文件,输入 /quit,确认 pwd 后改用 pi -r。
  • pi -r 列表为空:先确认当前工作目录是否与创建会话时相同。Pi 的会话按工作目录组织,目录不一致时看不到同一组会话。
  • 误选了相似名称:用 /session 核对后立即退出,再重新选择。
  • 会话确实找不到:不要宣称对话已经恢复。新建会话,让 Pi 重新读取项目中的输入、输出和交接文件,从磁盘产物继续。

你现在只要记住两个入口

pi -c 续写最近会话,pi -r 从列表中选择。其他选项可以等真正遇到需求再学。

走错方向时认识 /tree ​

对话不是只能一路向下。Pi 的会话以树状结构保存。在交互界面输入 /tree,可以回到之前的某个节点,然后从那里继续。本课先把它作为进阶入口,不要在重要会话中随意跳转。

适合使用的场景包括:

  • 你发现三轮之前就理解错了任务。
  • 想保留当前方案,同时尝试另一条路。
  • 对话已经被临时调试信息占满,想从比较干净的节点重新开始。

跳转不会把已经写入磁盘的文件恢复到早期状态。会话树管理对话历史,Git 或备份才管理文件版本。

/tree 只在同一个 JSONL 会话文件里移动当前节点;/fork 会从先前的用户消息创建新会话,/clone 会把当前活动分支复制成新会话。离开当前分支时,Pi 还可能询问是否为离开的路线生成 Branch Summary。摘要用于把有用信息带到新路线,不会回滚磁盘文件。

如果你有一份来自其他位置的会话文件,可以用 pi --session <路径或ID> 打开,或在交互界面使用 /import <文件> 导入。先确认文件来源,因为其中可能包含私人内容、项目路径和工具记录。

初学时不必在重要会话中强行练习分支。等你有一个可以丢弃的测试会话,再输入两条不同方案,用 /tree 回到分叉前的用户消息继续另一条路线。验收重点不是界面有树,而是你能明确说出:切换对话节点以后,刚才已经写入的磁盘文件仍然需要单独核对或恢复。

新任务就新建会话 ​

当目标已经变了,在 Pi 中输入 /new。之前的会话仍然保留,新任务会获得一个干净起点。

本课验收 ​

离开本章前,完成一次固定练习:

  1. 给当前会话命名,打开 /resume 并在列表中看到名字,然后按 Esc 返回。
  2. 用 /quit 退出,确认回到普通终端。
  3. 在正确目录运行 pi -c,核对历史消息,并在 /resume 列表中再次找到名称。
  4. 确认先前消息仍在,再打开上一课的输出文件,确认磁盘产物也在。

名称、历史消息和工作目录都一致,说明恢复了正确会话;输出文件仍在只能证明磁盘内容存在,两类证据不要混为一谈。

本章依据 ​