会话自动保存
Pi 把对话存成会话(session),让你能续接工作、从之前的回合分支、重访旧路径。
会话自动保存到 ~/.pi/agent/sessions/,按工作目录组织。每个会话是一个带树结构的 JSONL 文件。
贯穿项目做
md-tools 时你会开很多次会话。会「续接旧会话」和「开新会话」这两招,你的项目才不会越做越乱。启动时管理会话
几个命令行参数:
pi -c # 续接最近的会话
pi -r # 浏览并选择过去的会话
pi --no-session # 临时模式,不保存
pi --name "my task" # 启动时设置会话显示名
pi --session # 用指定的会话文件或部分会话 ID
pi --fork # 把某会话文件/部分ID fork 成新会话
交互模式下用 /session 看当前会话文件、ID、消息数、token 和成本。
交互式续接:/resume
/resume 打开一个交互式会话选择器(当前项目的)。pi -r 在启动时打开同样的选择器。
选择器里你可以:
- 打字搜索
Ctrl+P切换路径显示Ctrl+S切换排序Ctrl+N只看有名字的会话Ctrl+R重命名Ctrl+D删除(再确认)
注意可用时,Pi 会用系统「垃圾桶」命令删除会话,而不是彻底永久删除——给了你反悔的余地。
给会话起名字
用 /name 设置一个人类可读的名字:
/name Refactor auth module
启动时用 --name 或 -n:
pi --name "Refactor auth module"
pi --name "CI audit" -p "Review this build failure"
有名字的会话在 /resume 和 pi -r 里更好找。 强烈建议重要会话起名。
落地练习:会存、会续、会命名
- 启动
pi,做一点小任务 - 用
/name md-tools 调研给会话起名 - 退出,再用
pi -c续接回来,确认对话还在 - 再用
pi -r打开选择器,搜索到刚才那个有名字的会话
怎么判断做对了?——你能退出后用
-c续接、用-r找到并选中那个命名会话,对话内容没丢。
卡住了怎么办? -c 续接的不是想要的那个 → 用 -r 手动选。找不到会话 → 确认是不是同一个工作目录(会话按目录组织)。忘了名字 → 用 -r 里 Ctrl+N 看命名会话。
常见坑:不开新会话,全挤在一起
新手常在同一个会话里干完全不相干的任务,结果上下文越来越乱、模型犯迷糊。
正确习惯:每个任务一个新会话(/new),任务间用 -c//resume 续接。给重要任务起名(/name),下次好找。会话管理得好,长线项目才不崩。
小结
- 会话自动存到
~/.pi/agent/sessions/,按目录组织 pi -c续接、pi -r浏览选择、--name起名/session看当前会话信息/resume打开交互式选择器,可搜索/重命名/删除- 重要会话起名,方便日后查找
下一节,我们学 Pi 最有特色的会话树 /tree。