Tau会话管理实战:如何恢复历史对话、从任意节点分支并导出HTML
【免费下载链接】tauA Python port of Pi’s minimalist coding agent.项目地址: https://gitcode.com/gh_mirrors/tau16/tau
Tau是一个 Python 编写的极简编码智能体(coding agent),它的会话管理功能让每一次 AI 编程对话都可追溯、可回滚、可分享:你可以一键恢复历史对话、从会话树中的任意节点分支尝试新方案,还能把整个会话导出为自包含的 HTML 报告。本文面向新手,带你快速上手这三项核心能力。
会话是怎么保存的?
每个 Tau 对话都是一个会话(session),以只追加(append-only)的 JSONL 文件保存在磁盘上,按工作目录组织在~/.tau/sessions/下。这带来两个好处:
- 📁按项目隔离:恢复历史对话时,优先展示你当前所在项目的会话;
- 🕘历史永不丢失:分支和压缩只改变"活跃视图",原始记录始终保留。
新会话会在第一条消息后自动命名(不超过 4 个词),让会话列表一眼可辨;你也可以随时用/name <新名称>手动改名,自动命名不会覆盖你手动设置的标题。
一键恢复历史对话:3 种方式
方式一:命令行列出并恢复
在终端运行下面命令,即可列出所有会话(显示 id、标题、模型、工作目录):
tau sessions找到目标会话后,用--session参数恢复:
tau --session <session-id>💡 如果 id 记不住也没关系,方式二和方式三都支持按名称检索。
方式二:TUI 内/resume选择器
在交互界面输入/resume(或按Ctrl+R),会打开一个双栏 Finder 风格的选择器:左栏是项目列表,右栏是该项目的最近会话,顶部还有搜索框可按会话名或模型名过滤。
- 按Left/Right切换项目列与会话列
- 按Up/Down选择项目或会话
- 按Enter(或鼠标点击)即可恢复
已知会话 id 时,可以直接/resume <id>精确恢复;想开新对话则用tau --new-session或/new。
方式三:退出时的"恢复提示"
退出 TUI 时,如果会话已持久化,Tau 会自动打印一行恢复命令:
To resume this session: tau --session <session-id>新手再也不用纠结"上次聊到哪了"——照着提示复制粘贴即可。
从任意节点分支:/tree会话树玩法
Tau 的会话不是一条直线,而是一棵树——你可以回到任意历史节点,换一条路走,而不丢失原有分支。运行/tree打开会话树,选中某个较早的条目后,常用操作如下:
| 按键 | 作用 |
|---|---|
| Enter | 从该节点继续对话,保留原有分支 |
| S | 让模型先给"被离开"的消息做结构化摘要(目标、约束、进展、决策、下一步)再继续 |
| C | 为这一次摘要自定义关注点 |
| L | 给条目添加/编辑书签标签(空标签即清除) |
| Ctrl+T | 显示/隐藏工具调用行,方便在长历史中导航 |
| Ctrl+F | 只显示打了标签的条目 |
几个实用细节:
- 树的主分支始终是历史最长的那条子分支,其他分支在分叉点处以缩进形式紧跟父节点;
- 普通 Enter 导航是内存态的:接下来发送的第一条消息才会把新分支真正落盘,之后重启也不会丢;
- 按S生成的分支摘要会立即写入,即使之后重启,摘要分支依然存在;
- 旧版本会话如果存在损坏的工具调用历史,Tau 在恢复时会自动校验并修复,避免每次提问都报 400 错误。
最快导出 HTML 报告:/export一行命令
把会话分享给同事或存档?Tau 可以把整个会话导出为自包含的 HTML 文件(默认格式),不依赖任何外部资源:
/export # 导出 HTML 到当前目录 /export --format jsonl # 导出原始 JSONL /export --format html report.html # 指定输出文件也可以在 shell 中离线导出(支持会话 id 或 JSONL 文件路径):
tau export <session-id> tau export <session-id> session.html导出的 HTML 报告里有什么?
- Transcript 标签页:左侧是会话树(含书签标签、活跃分支高亮),右侧是完整的逐条记录折叠面板,思考块、工具调用参数、工具结果都可以逐层展开;
- Usage 标签页:汇总活跃分支的模型请求,包括缓存读写、输出/推理 token、预估 API 费用、工具调用与压缩次数,图表支持悬停查看精确值,还可下载为 PNG;
- 一键过滤:隐藏工具调用、只看用户/助手消息、一键展开/折叠全部记录;
- 离线下载 JSONL:完整数据已内嵌在页面里,点击即可离线下载;
- 主题跟随:自动适配浅色/深色模式,与 TUI 主题一致。
⚠️分享前注意:从活跃会话生成的 HTML 会包含一个折叠的System Prompt区域,其中可能暴露项目指令、路径等本地上下文,分享前建议先检查。离线
tau export从已存储的 JSONL 生成时则不含该区域。
小贴士:相关文档与源码
| 想深入了解 | 去哪里看 |
|---|---|
| 会话管理完整指南 | website/content/guides/sessions.md |
| 全部斜杠命令速查 | website/content/reference/slash-commands.md |
CLI 参数(--session、export) | website/content/reference/cli.md |
| 会话树分支设计 | dev-notes/architecture/phase-24-session-tree-branching.md |
| 自动会话命名机制 | dev-notes/architecture/auto-session-naming.md |
| 退出恢复提示设计 | dev-notes/exit-resume-hint.md |
| HTML 导出渲染源码 | src/tau_coding/session_export.py |
| 会话树数据结构 | src/tau_agent/session/tree.py |
总结
掌握tau sessions+--session恢复历史、/tree从任意节点分支、/export一键导出 HTML,你就用上了 Tau 会话管理的完整工作流:对话随时可回、方案随时可试、成果随时可分享。
【免费下载链接】tauA Python port of Pi’s minimalist coding agent.项目地址: https://gitcode.com/gh_mirrors/tau16/tau
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考