Pi Session Manager

会话查看器

查看会话对话,支持树形导航、流程可视化和子代理会话。

会话查看器将 Pi 的 JSONL 会话文件渲染为丰富的交互式对话。支持分支对话、可折叠区块和多种可视化模式。

树形视图

左侧边栏以树形结构展示对话。每个节点代表一条消息,在对话分叉的决策点处形成分支。

导航

  • 点击任意节点跳转到该消息
  • 树形视图采用"最新叶节点"策略——点击节点会导航到该分支中最新的后代
  • 分支点(有多个子节点的节点)显示折叠/展开切换

过滤器

树形视图工具栏提供过滤器,控制哪些节点可见:

过滤器显示内容
默认用户 + 助手消息
无工具隐藏工具调用节点
用户仅用户消息
全部所有条目(包括元数据)
Read仅 read 工具调用
Edit仅 edit 工具调用
Write仅 write 工具调用

流程可视化

切换到流程视图,获得基于 React Flow 的图形化可视化。该模式:

  • 将对话渲染为紧凑树形布局的有向图
  • 将线性工具调用链折叠为边标签(如 bash ×2, read, edit
  • 使用基于角色的节点图标:用户 / 机器人 / 工具 / 设置
  • 包含带角色着色的 MiniMap
  • 点击任意节点导航到对应的对话分支

流程工具栏

  • 放大 / 缩小
  • 适应视图(自动缩放以显示所有节点)
  • 聚焦当前节点

流程视图与树形视图共享同一过滤栏。

可折叠区块

工具调用

工具调用(bash、read、edit、write 等)渲染为可折叠卡片。按 Cmd/Ctrl + O 切换所有工具调用的展开/折叠。

每个工具调用显示:

  • 工具名称和参数
  • 执行结果(可展开)
  • 语法高亮的代码块,带复制按钮

思考块

AI 的思考/推理块默认折叠。按 Cmd/Ctrl + T 切换。

子代理会话

当会话使用子代理(通过 Pi 的 subagent 工具)时,查看器会渲染可点击的卡片,显示每次子代理运行的信息:

  • 代理名称和模型
  • 运行时长和 Token 使用量
  • 任务预览

点击卡片可在模态窗口中打开完整的子代理对话。模态窗口复用相同的消息渲染组件(UserMessage、AssistantMessage、ToolCallList),并支持:

  • 嵌套子代理(堆叠模态窗口,递增 z-index)
  • 思考/工具切换(Cmd/Ctrl + T / Cmd/Ctrl + O
  • 单次、并行、链式和管理操作模式

子代理产物存储在 session-dir/subagent-artifacts/,使用与主会话相同的 JSONL 格式。查看器通过回退逻辑解析产物路径。

会话内容缓存

基于文件路径 + 修改时间戳的 LRU 缓存(5 个条目)加速了回退导航。缓存命中时完全跳过文件读取。

快捷键

快捷键操作
Cmd/Ctrl + T切换思考块
Cmd/Ctrl + O切换工具调用展开
Cmd/Ctrl + F聚焦搜索
Cmd/Ctrl + E导出并在浏览器中打开
Cmd/Ctrl + R在终端中恢复会话

目录