dsh-turn-nav:DSH 右侧会话轮次导航栏插件

前言

在 DSH 的多轮会话里,当历史消息较多时,靠手动滚动定位某一轮用户问题并不方便。dsh-turn-nav 是给 DSH 用的右侧会话轮次导航栏插件:在聊天窗口右侧显示轮次圆点,悬停查看摘要,点击跳转到对应轮次,并自动加载更早历史。

这是什么

dsh-turn-nav 是由 flyHZJ 维护的 DSH 插件,许可证为 MIT。它不替换 DSH 官方聊天界面,而是使用 shell.overlay 全局浮层,在右侧显示一条导航栏,用于快速查看和定位会话轮次。

核心功能

  • 右侧悬浮导航:默认只显示数字圆点,不遮挡聊天内容。
  • 悬停卡片:鼠标悬停到某个圆点时,左侧弹出该轮次的提示卡片,显示“Q + 用户问题摘要”。
  • 快速跳转:点击圆点,平滑滚动定位到对应轮次。
  • 当前阅读位置高亮:随滚动自动高亮当前所在轮次,高亮为蓝色圆点。
  • 自动刷新:新消息、流式输出、加载历史时自动重建导航。
  • 自动加载更早历史:自动调用 DSH 的 loadOlder(),把之前分页未加载的轮次也补全,不需要手动滚动到顶部点“加载更早”。
  • 不侵入官方 UI:使用 shell.overlay 全局浮层,不替换、不遮挡 DSH 官方聊天界面。
  • DSH Bundle 兼容:已声明 dsh.bundle.patch,可通过 dsh plugin add 安装。

安装与启用

安装前需要满足:

  • 已安装并运行 DSH。
  • 构建时需要 Node.js。
  • 可选:DSH 源码 checkout,用于本地构建。

从 GitHub 安装:

dsh plugin --profile web add github:flyHZJ/dsh-turn-nav

安装后重启 dsh web,右侧导航即生效。

典型用法

安装后使用

安装并重启 dsh web 后,在 DSH 聊天窗口右侧会出现导航圆点。

1、将鼠标悬停到某个圆点,查看该轮次的提示卡片。

2、点击圆点,平滑滚动到对应轮次。

3、继续滚动页面时,当前所在轮次会被高亮。

本地开发调试

如果使用 super-injector 运行时注入,可执行:

dev_inject_plugin  {"dir": "C:/Users/J/Desktop/新建文件夹/dsh-turn-nav"}

修改源码并重新构建后,可执行热重载:

dev_reload_package  {"packageName": "dsh-turn-nav"}

更新与卸载

bundle 安装版更新:

dsh plugin --profile web update dsh-turn-nav

bundle 安装版卸载:

dsh plugin --profile web remove dsh-turn-nav

自动加载更早历史

插件会自动调用 DSH 的 loadOlder(),把之前分页未加载的轮次补全到导航可识别范围内。默认最多加载 200 页,可通过 MAX_OLDER_PAGES 调整。

可调整项

配置项 默认值 说明
卡片最小宽度 240px 悬停卡片的最小宽度
卡片最大宽度 400px 悬停卡片的最大宽度
导航右侧间距 10px 导航栏距离右侧的间距
导航垂直位置 50% 导航栏的垂直位置
自动加载历史页数上限 200 MAX_OLDER_PAGES 默认值
摘要长度 60 字符 悬停卡片中用户问题摘要的长度

适用场景与注意

适合使用 DSH 进行多轮、长会话调试或阅读的开发者。它可以减少在长会话中来回滚动查找历史轮次的操作。

需要注意:

  • 插件会随当前 dsh 进程权限运行,并按当前 DSH 环境加载导航和更早历史;安装前应检查 GitHub 源码和 MIT 许可证,确认当前环境允许该插件访问会话界面与历史加载能力。
  • 如果旧版本 @dsh-external/dsh-turn-navdeclares no dsh.bundle,应升级到当前版本 dsh-turn-nav
  • 自动加载更早历史默认最多 200 页;如果历史超过这个范围,需要调整 MAX_OLDER_PAGES 后重新构建。

相关链接

插件目录页:

https://www.skillhub.cn/plugins/flyHZJ/dsh-turn-nav

插件源码:

https://github.com/flyHZJ/dsh-turn-nav
羽毛球分组比赛记分
小程序二维码

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

Xiaoye