@dsh-external/dsh-chat-jumper:DSH 对话圆点导航

在 DSH 中处理长会话时,页面滚动困难,定位特定提问往往需要大量时间。@dsh-external/dsh-chat-jumper 插件在页面右侧提供了一条纵向圆点列,每个圆点对应一条用户提问,通过点击即可快速跳转。

插件简介

该插件由 Cloud-J 维护,采用 MIT 许可证。它解决了在长对话中快速导航和定位用户提问的问题,通过右侧的圆点列提供直观的交互入口。

核心功能

  1. 右侧圆点列:显示一条纵向圆点列,每个圆点对应一条用户提问(user)或引导输入(steering)。
  2. 悬停预览:鼠标悬停在圆点上时,显示该轮提问的截断预览(前 40 个字符)。
  3. 平滑滚动:点击圆点,页面会平滑滚动到对应的用户提问位置。
  4. 当前位置高亮:当前阅读位置附近的提问圆点会高亮显示。
  5. 会话快照数据:数据来源于 DSH 会话快照,不扫描 DOM,因此即使历史消息尚未渲染,也能正确统计。
  6. 加载历史:若还有更早消息未加载,圆点列顶部会出现 ↑ 按钮。点击一次会自动连续调用 loadOlder(),直到把全部更早历史加载完。
  7. 自动加载重试:点击尚未渲染进 DOM 的旧圆点时,会自动触发 loadOlder() 并重试定位。

安装与启用

推荐使用官方装配方式:

  1. 执行安装命令:
    dsh plugin --profile web add <解压后的目录或 .tgz>
  1. 将包名加进 profile 的 bundles 列表。编辑 ~/.dsh/profiles/web/package.json,在 dsh.profile.bundles 数组末尾加上:
    "@dsh-external/dsh-chat-jumper"
完成后重启 web / 刷新页面即可。

从源码构建

需要本机有 DSH checkout,并设置环境变量 DSH_CHECKOUT 指向源码根目录。

npm run build          # host tsc
npm run build:client   # client tsdown → lib/client.js

打包发布:

npm pack

依赖说明

该插件需要安装 peerDependencies,包括:
* @deepseek-ai/dsh-llm
* @deepseek-ai/dsh-tools
* cordis
* schemastery
* @deepseek-ai/dsh-client-ui-slots

典型用法

点击右侧圆点即可快速跳转到对应的用户提问位置。

结语

该插件通过快照机制和历史加载逻辑,解决了长会话导航的痛点。更多细节与源码,请访问 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

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

小夜