跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

会话与上下文

Pi 的会话保存与恢复、用 /tree、/fork、/clone 分支、自动与手动压缩、会话存储位置与导出分享。

Pi 把一次对话保存为会话;会话的活动分支为下一次模型请求提供对话历史。会话自动保存,除非用 --no-session 启动。继续:pi --continue(打开当前目录最近的会话)、pi --resume(打开会话选择器);交互模式里 /resume 打开选择器,/new 新建会话;/name 或 --name 给会话起名;/session 查看当前会话文件、ID、消息数、token 用量和费用。选择器里可搜索、重命名、删除会话。

分支:Pi 把条目存成树,回到更早的点不会抹掉你离开的分支。/tree 在当前会话文件内移动(相关的备选放在一起);/fork 从更早的用户消息创建新会话(备选应成为独立工作);/clone 把活动分支复制到新会话(想要当前状态的独立副本)。在 /tree 里选一条用户消息会把它的文字放回编辑器,编辑后提交就产生另一条分支。离开分支时 Pi 可以总结它并附到你进入的分支上,保留被放弃路径里的相关工作。模型收到的是活动分支,而不是会话文件里的所有分支,外加系统提示、发现的上下文文件、可用工具和已加载技能的描述。

压缩:页脚显示当前上下文用量;活动上下文接近模型上限时,Pi 通常自动压缩较早历史(加一条摘要并保留最近消息,不会删除原始会话条目)。/compact 手动压缩,可附带指令说明要保留的主题或决定;用 compaction.enabled、compaction.reserveTokens(默认 16384)、compaction.keepRecentTokens(默认 20000)调整。压缩可能因服务商不可用而失败,修复后再运行 /compact。存储:默认在 ~/.pi/agent/sessions/ 按工作目录分组;用 --session-dir、环境变量 PI_CODING_AGENT_SESSION_DIR 或 sessionDir 设置换位置(命令行最优先);--no-session 为一次性会话;--session 按路径或 ID 打开;--fork 在进入交互模式前从已有会话创建新会话。导出分享:/export 导出为 HTML 或 JSONL,/share 上传并获得查看链接(配置了 Radius 认证则用 Radius 产物,否则用私有 GitHub gist);导出前先审查,里面可能含提示、模型回复、工具参数、命令输出、文件内容。