dsh-session-map:在 DSH 中查看会话树结构

前言

在 DSH 的对话视图里,原生会话列表用缩进展示层级关系,一旦分支变多,下层节点就挤在一起,看不出谁从谁分叉。dsh-session-map 为 DSH 增加了一个新的标签页,用可拖拽、可缩放的径向图展示会话树,点击节点即可切换会话。

这是什么

dsh-session-map 是一个 DSH 客户端插件,由 qian-dsh 维护。它将会话树绘制为径向图:当前会话在中心,父会话正上方,子会话分布在下半圆,点击节点切换会话,拖拽平移,滚轮以指针为中心缩放。

核心功能

  • 径向树图:以当前会话为圆心,父会话在上,子会话在下,连线与卡片自动调整布局。
  • 点击切换:点击节点切换到对应会话,拖拽结束的点击不触发切换,避免误操作。
  • 平移与缩放:拖拽平移地图,滚轮以指针为中心缩放;提供 − / + 按钮和“适配全部”按钮。
  • 面包屑与状态:顶部面包屑显示从当前会话到根的路径;右侧显示深度与分支数。每个节点右上角有状态点:运行(青色)、等待中(琥珀色)、完成(暗淡)。
  • 全树展开:可一键展开整个树,使用径向 tidy-tree 布局和分层引导环。

安装与启用

安装命令:

dsh plugin --profile web add dsh-session-map

重启 DSH 后,对话视图会出现第三个标签页:对话 | 追踪 | 树图。如果未出现,检查 dsh.profile.bundles 中是否包含该插件名称。

典型用法

  1. 安装插件后,在对话视图切换到“树图”标签页。
  2. 当前会话位于中心,父会话在正上方,子会话在下半圆分布。
  3. 拖拽画布平移,滚动滚轮以指针为中心缩放,使用 − / + 或“适配全部”调整视图。
  4. 点击任意节点,切换到对应会话。
  5. 点击“全树展开”查看完整的会话层级结构。

适用场景与注意

  • 适合需要梳理会话分支关系、快速定位或切换会话的场景。
  • 插件以客户端方式运行,不修改 DSH 内置代码,仅做增量添加。
  • 5 个以上直接子会话时节点可能拥挤,真实数据中用户自身会话通常分支较少。
  • 子代理会话也会出现在树中,当前统一展示。
  • 插件未提供热更新(HMR),修改 client.js 需刷新页面。

短结尾

dsh-session-map 用径向图补齐了 DSH 原生会话列表在分支可视化上的短板,适合需要直观查看会话树结构的开发者。插件目录页与 GitHub 仓库见下方链接。

  • 插件目录:https://www.skillhub.cn/plugins/qian-dsh/dsh-session-map
  • GitHub:https://github.com/qian-dsh/dsh-session-map
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye