dsh-strata:把 DSH Web 会话滚动条变成会话地图

前言

DSH 的理念是「一切皆插件」,社区插件目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

在 DeepSeek Harness Web GUI 里跑长会话时,原生滚动条通常只能告诉我们“现在滚到哪里”,却不能直接呈现整段运行结构:哪些位置是用户消息、哪些位置有失败的工具调用或命令、旧历史加载后又处于哪里。dsh-strata 针对这类问题,把 transcript 的滚动条位置改成一张按会话内容缩放、按颜色编码的会话地图。

这是什么

jsdvjx/dsh-strata 是用于 DeepSeek Harness Web GUI 的会话导航插件。

它把 transcript 的滚动条替换为一张已加载会话的 to-scale、color-coded 地图:用户消息会被强调,旁边提供可点击锚点,旧历史可以按需加载,并在悬停时展示会话中的用户消息列表。

许可证为 MIT。

核心功能

会话地图

下面几项是它的主要能力:

  • 占用 transcript 的滚动条位置,把已加载会话绘制成一张缩放到比例的地图。
  • 强调用户消息,并在 rail 旁提供可点击锚点。
  • 对用户消息,以及失败的工具调用或命令,显示可点击 anchor dot。
  • 地图覆盖已加载窗口;旧历史尚未加载时,没有布局可映射。
  • 插件激活时替换原生滚动条;停用或卸载后恢复原生滚动条。

纯浏览器端

  • 纯浏览器端实现;Node 端为空。
  • 没有会话数据为它跨网络传输。

比例切换

  • 提供 近 / 中 / 全 map scale switcher。
  • 地图比例选择按浏览器持久化。

键盘与状态

  • rail 可聚焦,并暴露 role=scrollbararia-valuenow
  • 支持箭头、PageUp / PageDownHome / End 进行键盘导航。
  • prefers-reduced-motion 会禁用过渡动画。
  • 双击可固定 rail 展开,该选择按浏览器持久化。

安装与启用

先安装插件:

dsh plugin --profile web add dsh-strata

package.jsonpeerDependencies 声明 @deepseek-ai/cordis 版本 *。许可证为 MIT。

如需移除:

dsh plugin --profile web remove dsh-strata

典型用法

插件激活后,在 chat view 中可以做下面这些操作。

1、点击 anchor dot,跳转到对应用户消息或失败位置。

2、悬停 rail,rail 会加宽,并显示光标所在行的 preview card。

3、点击 band,把该区域滚动到阅读位置。

4、点击空白 track 或拖动 rail,按比例移动会话位置。

5、在 rail 或 anchor dots 上使用 wheel 滚动 transcript。

6、聚焦 rail 后使用键盘导航:

  • 箭头用于微调。
  • PageUp / PageDown 用于翻页。
  • Home / End 用于跳转到两端。

7、双击 rail,固定 rail 展开。

8、悬停 user anchor dot,打开 clue wall;点击其中一张卡片跳转,未加载历史会先 chain-load。

适用场景与注意

dsh-strata 适合需要在 DSH Web GUI 中定位长会话结构、用户输入和失败位置的使用者。

使用前需要知道下面这些限制和注意:

  • 地图只覆盖已加载窗口;旧历史按需加载,并在历史到达后重新缩放。
  • 仅 chat view 有效;在 Trajectory tab 下地图会停用。
  • rail 占用 transcript 右侧 padding 约 14px 的条带,该区域内的点击会作用于地图。
  • 插件以当前 dsh 进程权限运行;安装前应检查源码和许可证。该插件许可证为 MIT。

结尾

经过上面的步骤,dsh-strata 会把原本只能表达滚动位置的 transcript 右侧空间,变成可读取、可点击、可键盘操作的会话地图。

插件目录页:https://www.skillhub.cn/plugins/jsdvjx/dsh-strata

GitHub 仓库:https://github.com/jsdvjx/dsh-strata

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

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

小夜