dsh-turn-rail:DSH Web UI 长对话的轮次刻度滑轨

前言

在 DeepSeek Harness(DSH)里跑智能体,会话往往会拉得很长:调试提示词、反复改需求、对照多轮回复。想回到「三步之前那个问题」时,Ctrl+F 只能找词,不能按轮次定位;往上滚或反复点「加载更早」又费眼又费手。

社区插件 dsh-turn-rail(维护者 shrekcg)针对的是另一类需求:在 Web 对话视图左缘加一列刻度,一条短横线对应你发出的一条用户消息,悬停预览原文、点击跳转,并附带当前阅读位置与滚动进度。下面介绍它的定位、能力与安装方式。

这是什么

dsh-turn-rail 是 DSH 的客户端插件,面向 DSH Web UI 0.2.x。简介(与 SkillHub 目录页 一致):Conversation turn rail for the DSH Web UI — one tick per user message, hover to preview, click to jump, plus a scroll-position indicator。

它只做导航辅助:不加设置项、不加面板、不加后台任务。宿主端 index.js 为空实现,逻辑全部在浏览器侧的 lib/client.js。许可证为 MIT(© 2026 shrek wu),当前包版本 0.1.2,运行时依赖为 0。

核心功能

轮次刻度与预览

对话区左缘一列短横线:一条线 = 你发出的一个问题(含 user 与 steering 类提问节点)。悬停时该刻度变长、相邻两根略长,并弹出卡片,显示轮次与提问原文;点击即可跳转到对应消息。

跳转与虚拟列表

历史消息在 Web UI 里常以虚拟列表呈现,翻走的节点不在 DOM 中。点击某一刻度时,插件会驱动宿主自带的「加载更早」,把目标页翻回来再定位(预算约 6 秒;加载按钮消失即视为历史已到顶)。

定位依据是消息锚点 data-chat-anchor-key,不是文本匹配,因此同一句话发送两次也不会跳错条。

当前位置与滚动进度

你正在查看的那一轮会显示为蓝色长刻度,随滚动实时更新。最左侧还有细进度条:拖拽或点击可按比例跳转滚动位置。

布局与不挡正文

刻度压到正文时会自动向左让位(最多 14px);退无可退时才隐藏,避免挡住对话文字。

为什么走纯 UI、不读 RPC

README 说明:DSH 里不少同类能力走「客户端 inject + remote RPC 读会话日志」;在 0.2.x 客户端 API 调整后,那条路可能装得上却页面上什么都没有。

dsh-turn-rail 只依赖 UI 层上相对稳定的 DOM 契约:

[data-conversation-scroll]                  对话滚动视口
[data-chat-flow-kind="user"|"steering"]     你发出的提问节点

分页复用宿主「加载更早」,不自行读日志、不发请求;无宿主服务依赖、无后台进程、无设置面板、无本地存储。若宿主将来改动上述选择器,刻度会整体不显示(安静失败,不影响对话);修复点集中在 lib/client.js 顶部的 SEL 常量。

安装与启用

在终端执行(命令来自项目 README):

dsh plugin --profile web add https://github.com/shrekcg/dsh-turn-rail

将 web 换成你实际使用的 profile 名(桌面版常见为 desktop)。安装完成后对浏览器做硬刷新(Cmd/Ctrl + Shift + R)。

插件以当前 DSH 进程权限运行;安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证。DSH 社区目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系。

典型用法

  1. 安装并硬刷新后,打开 Web GUI 的对话视图,左侧应出现与每条用户提问对应的刻度列。
  2. 悬停任意刻度,查看该轮提问摘要;点击刻度跳转到该条消息(必要时会自动触发「加载更早」)。
  3. 滚动对话时观察蓝色长刻度跟随当前轮次;需要快速扫读时可用最左侧细进度条按比例跳转。

切到轨迹、子代理等视图时,滑轨会自动隐藏。

适用场景与边界

适合:在 DSH Web UI 中进行长会话开发、调试,需要按「第几轮提问」回看或跳转,而不想依赖全文搜索或盲目滚动。

需注意:

  • 仅在 Web GUI 对话视图渲染;被宿主 compaction 压缩掉、不在 DOM 中的历史不会出现在刻度上(不伪造历史)。
  • 无构建步骤:lib/client.js 即为最终产物;本地开发可用 link: 方式挂载后改代码并重启 DSH(README 中的开发流程,与日常 add 安装并列说明)。

结尾

dsh-turn-rail 用一列轻量刻度把「回到某一个问题的位置」从碰运气变成可预期操作:悬停预览、点击跳转、当前位置与滚动进度一目了然,且刻意避开易变的 host RPC,只钉在滚动视口与用户消息节点上。

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

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

小夜