5.1 会话列表与历史
本节目标
学会用侧边栏管理会话一次独立的对话记录,有自己的上下文,互不干扰。:新建、切换、搜索、恢复历史,以及重命名、分叉从会话的某个节点复制出一条新会话,原会话保持不变,适合试不同方案。和归档。
侧边栏就是会话的总控台
dsh 的左侧边栏不只是导航,它是会话的总控台。所有会话一次独立的对话记录,有自己的上下文,互不干扰。都在这里,按工作区agent 干活的项目目录,包含路径、显示名和归属的会话。分组排列,一眼看清每个项目下有哪些对话。

侧边栏从上到下包含:新建会话按钮、工作区分区(工作区agent 干活的项目目录,包含路径、显示名和归属的会话。 + 它下面的会话列表)、会话搜索框、视图选项和设置入口。
新建会话
两种方式:
- 点侧边栏顶部的新建会话按钮,新建一个独立会话
- 在工作区行的菜单里选在此工作区中新建会话,新会话直接归属到该项目
打开历史会话
想回到之前的对话继续干?直接点侧边栏里对应的会话行,对话区就会加载那个会话的完整历史,从头到尾都能翻看和续聊。
会话行上的状态指示会告诉你这个会话现在什么情况:
| 状态 | 长什么样 | 含义 |
|---|---|---|
| 运行中 | 蓝色指示点 | agent 正在这个会话里干活 |
| 等待审批 | 琥珀色警告点 | 这个会话正卡在一个审批agent 执行超权限操作前询问用户的机制,允许只放行这一次。请求上,等你决定 |
| 计划待审阅 | 琥珀色警告点 | 计划模式里出了计划,等你审阅(4.6 节) |
| 等待回答 | 琥珀色警告点 | 会话在等你回答一个普通问题 |
| 有未读完成 | 绿色提醒 | 后台跑完有结果你还没看 |
等待你处理的会话一眼就能认出来,这就是"总控台"的意义:先处理琥珀色的,再管蓝色的。
搜索会话
会话多了以后靠翻很累,用搜索:
- 点侧边栏的搜索图标,展开搜索框
- 输入关键词,比如"README"
- 结果立即列出,点一下直达
搜索有两个层次:
- 标题和工作区名:边打字边出结果,忽略大小写的子串匹配,秒出
- 会话内容:输入停顿时(约 0.25 秒)自动去后台检索正文,命中会带上片段
结果最多列 20 条,超出会提示你把关键词收窄。点开结果后搜索框保持不动,方便你连续翻几个命中项。
会话的自动标题
每个会话都会根据第一轮对话自动生成标题,显示在侧边栏上,省得你手动起名。
自动标题不够贴切时再手动重命名,重命名会把标题固定下来,之后不再被自动生成覆盖。分叉从会话的某个节点复制出一条新会话,原会话保持不变,适合试不同方案。出来的新会话会继承原标题并自动加序号(比如原标题加 (1)),方便你区分几版方案。标题太长被省略号截断时,0.1.6-alpha.2 起把鼠标悬停在会话行上,标题会自动滚动到末尾把被藏住的部分露出来,移开就回到开头,不用再纠结分叉序号看不见的问题。
会话行的操作
鼠标悬停在某个会话行上,会出现操作按钮,点开有这些常用操作:
| 操作 | 干什么 | 什么时候用 |
|---|---|---|
| 置顶 | 把会话钉在列表最上面 | 常驻项目、正在推进的主线对话 |
| 重命名 | 给会话改个更好认的名字 | 自动标题不满意时 |
| 分叉会话 | 从该会话最后一个已完成轮次复制出一条新线 | 想基于旧对话换个方向试 |
| 归档会话 | 把会话收进归档,从列表隐藏 | 暂时不用的会话(视图选项里可筛选恢复) |
几个细节:
- 置顶:0.1.7-alpha.1 起支持把重要会话钉在侧边栏最上方,最近置顶的排最前;置顶和归档互斥,归档会话时它的置顶自动取消
- 重命名:弹出对话框,默认填着当前标题,改完确认即可
- 分叉:不会动原会话,新会话和原会话并排出现在同一个工作区里,最后一轮已完成的内容作为起点
- 归档:一键完成、没有确认弹窗(它不删数据,只是从所有列表里隐藏),归档后马上出现一条可撤销的提示,点一下就反悔;想找回更多历史归档,去侧边栏视图选项的归档筛选(见下文)
- 归档运行中的会话:0.1.7-alpha.1 起,归档一个还在跑任务的会话,dsh 会先停掉它正在运行的工作再归档,不会留一个看不见的会话在后台偷偷跑
- 刚新建、还没发过第一条消息的会话行是空的占位,重命名、分叉、归档要等第一条消息之后才可用
归档的会话去哪了、怎么找回来
归档不是删除:会话的日志和所在位置都原样保留,只是从所有列表里隐藏。
0.1.7-alpha.1 起,找回归档会话的入口搬到了侧边栏:点视图选项,把归档筛选切到仅归档,列表里就只显示已归档的会话(和置顶一样,这个筛选就在会话列表旁边,不用再跳去设置页翻)。找到那一行点取消归档,会话立即回到它原来所在的工作区分组里。原来设置面板里的已归档会话页在 0.1.7 中已移除,由这个侧栏筛选取代。
恢复的边界
筛选只列出它能恢复的条目:如果某条归档记录对应的会话日志已经不存在(比如手动删过文件),它不会显示出来,免得给你一个永远点不动的按钮。写入被拒绝时该行会保留,可以再试一次。
工作区行的操作
工作区行同样有操作菜单:重命名(改显示名)、删除(移除记录,不删文件不删会话,会话归入未分组)。这块在 2.2 节讲过,这里不重复。
视图选项
侧边栏的视图选项按钮可以调整会话的展示方式,两套维度自由组合:
按分组展示:按工作区agent 干活的项目目录,包含路径、显示名和归属的会话。分组(默认)还是平铺成一张跨工作区的大列表。每个工作区默认展开显示最近 5 个会话,会话多时有个显示更多按钮,展开一次就记住状态。
按顺序排列:
- 手动排序:顺序完全由你控制,拖拽会话行调整位置,dsh 不会自动改动。0.1.6-alpha.1 起手动顺序只在当前浏览器里生效(记录在本机),换台设备或换个浏览器是各排各的;切到手动后,最近更新带来的自动上浮会暂停,列表安静下来
- 按最近更新:自动按最后活动时间排序,之后每次有新的对话,那个会话会自动提到最前面
手动和最近更新可以在分组或平铺下自由切换。想完全自己说了算就选手动,想省事就让 dsh 按最近更新自动排。
视图选项里还有一个归档筛选,0.1.7-rc.2 起是明确的三选一菜单:隐藏(默认,列表干净)、全部(归档的会话和正常会话排在一起显示)、仅归档(只看归档的会话,找回历史就靠它,上文讲过)。想恢复时切到仅归档,处理完记得切回隐藏。
常见问题
问:会话太多,侧边栏密密麻麻?
用搜索,或者归档不用的会话。工作区平铺和分组之间也可以来回切,重要的会话可以置顶。
问:归档的会话还能找回吗?
能。0.1.7-alpha.1 起打开侧边栏的视图选项,把归档筛选切到仅归档,找到那一行点取消归档,会话就回到原来的位置;刚归档时弹出的提示也能直接撤销。此前归档的旧会话同样会列在这个筛选里。
问:删了工作区,会话会丢吗?
不会。删除工作区只是移除分组,会话保留在未分组里(2.2 节说过)。
问:侧边栏里找不到某个会话了?
先想想是不是归档了(归档会从所有列表消失)。另外子代理产生的会话不会出现在侧边栏,要从它父会话头部的子代理列表进(4.7 节)。
小结
- 侧边栏按工作区分组管理所有会话,点击会话行即恢复历史
- 状态指示一眼识别:蓝色在跑、琥珀色等你处理、绿色有结果
- 搜索分两层:标题即时匹配 + 内容后台检索
- 会话可置顶(0.1.7 起,与归档互斥)、重命名(固定标题)、分叉(继承标题加序号)、归档(隐藏但可恢复,归档运行中的会话会先停掉其工作)
- 归档的会话通过侧边栏视图选项里的归档筛选找回(0.1.7 起,原设置页已移除;0.1.7-rc.2 起筛选为隐藏 / 全部 / 仅归档三选一)
- 视图选项:分组/平铺 × 手动/最近更新,拖拽自由排序(手动顺序跟随当前浏览器),另有归档三态筛选
会话管理熟了,下一章把 dsh 调成你的形状:设置与个性化。