/tree
/tree 用来精确回溯到当前会话中的某个消息节点。这是 Hunea 的一个特色功能,灵感来源于 pi,在此感谢。
当你想回到某一条用户消息、助手回复,或者某次工具结果附近,从那里接着聊、修改后重发,或者切换到另一条分支,都可以使用它。输入 /tree 确认后,会打开一个全屏的会话树面板,标题是 Session Tree。
默认 esc_rewind_mode = "coarse" 时,斜杠菜单中显示的是 /tree。需要注意:空输入框连按两次 Esc 并不会打开 /tree,而是会进入另一套「按某轮用户消息编辑/重发」的交互(截断该条之后的内容,并将正文回填到输入框,见 /sends-back)。
只有将 esc_rewind_mode 配置为 "entry" 时,双击 Esc 才会打开 /tree;与此同时菜单会改为显示 /sends-back,二者不会同时出现在斜杠菜单中。也就是说,菜单项与双击 Esc 分别对应两种回溯方式,修改配置只是交换入口。
简单区分:
/tree用于在会话树上精确选择节点、保留已有内容并创建分支;/sends-back(以及默认 coarse 下的双击Esc)更偏向按某轮用户消息进行编辑/重发。
列表概览
面板展示的是当前会话的逻辑消息树,不是全局历史。
每一行会展示:
- 左侧的树形连线 / 缩进图(有分叉时会更明显)
- 消息类型前缀:
user、assistant、tool、reasoning - 该节点的摘要文本(列表里是截断展示;预览时看完整内容)
标题行会显示当前位置,例如 Session Tree (3 of 12),方便判断“现在在第几条 / 一共多少条”。
加载时可能会先显示 Loading session tree...;如果当前会话还没有任何可展示消息,则会显示 No messages yet。
默认光标会尽量落在当前相关节点上;如果拿不到“当前行”,则回退到列表里最新的一条。
大致效果如下图所示:

怎么操作(主列表)
底部会有一行快捷键提示,常用操作如下:
↑/↓,或者j/k:上下移动选中项←/→,或者h/l:按页翻动(节点多的时候比较有用)Space:打开当前选中节点的完整内容预览Tab:若当前节点存在至少两条兄弟分支,则打开分支选择浮窗(Switch branch)A:打开完整的分支拓扑视图(Branch Tree)Enter:若当前节点可回溯,则精确回溯到该节点Esc:关闭面板
也可以用鼠标左键点击某一行,把光标移过去;点击本身不会触发回溯。
页脚提示会随当前选中项变化:
- 当前行可回溯时,才会出现
Enter rewind - 当前行有多条分支可选时,才会出现
Tab branch
消息预览
在主列表按 Space 后:
Esc或Space:退回会话树列表←/→/↑/↓,以及h/j/k/l:翻页查看更长内容
预览里没有 Enter 回溯;要回溯,需要先退回列表再按 Enter。
大致效果如下图所示:

回溯之后会发生什么
在主列表里选中可回溯节点并按 Enter 后,Hunea 会:
- 关闭会话树面板
- 把当前会话的可见上下文精确切到该节点所对应的恢复点
- 已有对话内容会尽量保留在会话树里(更像开分支,而不是把后面全部删掉)
- 若该节点带有回填文本(常见于用户消息节点),会把那段正文写回输入框,方便你改完再发
需要注意:
- 不是所有行都能
Enter回溯。例如某些未完成的工具调用批次、或暂时没有恢复目标的reasoning行,按Enter可能没有效果。 - 这是会话内的节点回溯 / 分支定位,不是
/resume那种切换到另一条已保存会话,也不是/resend那种只回填全局用户历史。
分支选择浮窗(Tab)
当某条节点下已经分出多条路径时,在该行按 Tab,会在列表附近弹出 Switch branch 浮窗,用来在兄弟分支之间切换。
浮窗里会看到:
- 表头列:
Msgs(消息数)、Created、Updated - 各分支的摘要;当前分支会带
(current)标记 - 底部提示:
Enter switch/Space preview branch/Esc back
操作:
↑/↓,或者j/k:在分支列表里移动Enter:切换到选中分支Space:预览非当前分支的会话树内容(当前分支上通常不会再开预览)Esc:关闭浮窗,回到主会话树
大致效果如下图所示:

浮窗可见行数可用配置调整:
- 默认
7 - 可配范围为
3到14
完整分支树(A)
按 A 会进入 Branch Tree 全屏视图,用来看当前会话里整棵分支拓扑,而不只是某个分叉点附近的兄弟项。
标题类似 Branch Tree (2 of 5);加载时可能显示 Loading branch tree...,没有分支时则是 No branches yet。列表上方通常还会有类似 N branches, M messages 的汇总。
操作:
↑/↓,或者j/k:上下移动←/→,或者h/l:按页翻动Enter:切换到选中分支(若已是当前分支,则通常无操作)Space:预览非当前分支Esc:退回主会话树列表
大致效果如下图所示:

分支预览(Space)
从分支选择浮窗或完整分支树里,对非当前分支按 Space,会打开 Branch Preview。
这里列出的是该分支路径上的消息节点,标题可能还带创建/更新时间,例如:
Branch Preview (3 of 8 · Created 2h · Updated 5m)
而且该标题本身也有不同的颜色便于区分。
在分支预览里:
↑/↓,或者j/k:移动选中节点←/→,或者h/l:按页翻动Space:再打开该节点的消息内容预览Esc:退回来源界面(分支列表或完整分支树)
分支预览本身不会直接
Enter回溯/切换;要切换分支,请退回分支列表或Branch Tree后按Enter。
大致效果如下图所示:

和相邻命令的区别
与 /sends-back 的菜单互斥关系,也写在斜杠菜单前言里。
相关配置
一点使用建议
- 只想回到“刚才那一轮附近”:打开
/tree后光标通常已靠近当前节点,上移到目标行再Enter即可。 - 不确定点没点对:先
Space预览内容,再退回列表回溯。 - 同一处分过叉:在分叉节点上按
Tab,用Msgs / Created / Updated对照后Enter切换。 - 分支很多、层级也深:用
A看完整Branch Tree,比在主列表里找更清楚。 - 先想确认另一条分支长什么样、还不想切过去:在分支列表或分支树里对非当前项按
Space预览。