会话持久化
合上电脑,过一会儿再回来;如果必须手动重建所有节点、终端和工作目录,还没开始做正事,你的整个上午可能就搭进去了。TermTree 会在关闭时保存整个工作台,并在下次启动时恢复,包括使用先前的上下文继续 Claude Code 会话,让你能够从离开的地方继续,而不必重新构建一切。
保存的内容
关闭 TermTree 时,你的整个工作区都会被保留:
- 树结构 — 所有节点、标签、层级以及折叠/展开状态。
- 节点状态 — 保留错误指示和退出代码。
- 终端回滚缓冲区 — 重新启动时,先前的输出会显示在新会话上方。
- 布局 — 面板位置、缩放级别、所选节点、主题和布局类型。
- 最近文件 — 你在编辑器/查看器面板中打开过的文件列表,上限为 15 个。
启动时自动重新运行
关闭 TermTree 时处于运行中、空闲或因等待输入而阻塞状态的终端,会在下次启动时自动重新运行。每个重新运行的终端都会:
- 启动一个全新的 shell 会话。
- 继承已保存的工作目录。
- 在新会话上方显示先前的回滚输出(两者之间以可视分隔线隔开)。
已经退出的终端不会重新运行。非零退出状态仍显示为红色,因此重新启动后你仍可 看到失败;正常退出仍显示为灰色 IDLE。
保留退出代码
如果终端因错误退出(退出代码非零),该节点在重新启动后仍保持红色。这样可以轻松发现上一次会话中的失败并进行调查。
恢复 Claude Code 会话
TermTree 内置了对 Claude Code 会话的支持。如果你退出前某个终端正在运行 Claude Code:
- TermTree 会自动检测 Claude 会话。
- 重新启动时,它会使用已保存的会话 ID 再次发送
claude --resume。 - Claude 会保留完整上下文,并从对话中断处继续。
整个过程透明完成,无需任何配置。你的 AI 辅助工作流可以跨越应用程序重启,而不会丢失上下文。
如果你在进行过程中切换 Claude 会话(例如使用 /resume 继续先前的对话),TermTree 会检测到这一变化并自动更新跟踪信息。下次重新启动时,它会恢复你关闭应用程序时处于活动状态的会话。
不会持久化的内容
- 实时进程状态 — 退出时,运行中的进程会被终止,并在启动时重新运行。正在执行的命令不会继续运行。
- 终端环境 — 会话期间设置的 shell 环境变量不会保留。重新运行时,你的 shell 配置文件(
.bashrc、.zshrc等)会重新执行。 - 每个文件的视图记忆 — TermTree 会在当前会话中记住每个打开文件的视图模式(编辑器或预览)和滚动位置,但这些记忆会在重新启动时清除。请参阅编辑器与查看器。