前言¶
在 DSH 的对话页里,一条长会话往往包含多轮 user / assistant 往返。滚动条能回到大致位置,但要在几十轮里精确找到某条 user 提问,仍要反复上下翻页。部分用户会依赖浏览器搜索或记忆大致段落,在长上下文、多分支的对话里效率不高。
vlln/dsh-navbar 在对话区域右缘提供一条节点导航条:每个 user 消息对应一个节点,悬停预览、点击跳转,并随阅读位置高亮当前节点。下面介绍它的定位、能力与安装方式。
这是什么¶
dsh-navbar 是维护者 vlln 发布的 DSH 客户端插件,当前 npm 版本为 0.4.0。它在对话区域右缘渲染一条等距节点串(每个 user 消息一个节点),悬停显示预览卡片,点击平滑滚动到对应消息;活跃节点以品牌蓝色胶囊跟随当前阅读位置。插件实现 dsh-external/issues#144 规格,形态为官方 bundle 插件(dsh.bundle + dshClient 通道,仅浏览器端,Node 半部为空 apply,0 patches)。GitHub 仓库:https://github.com/vlln/dsh-navbar;社区目录页:https://www.skillhub.cn/plugins/vlln/dsh-navbar。
核心功能¶
节点导航条¶
对话区域右缘显示垂直节点条,每个节点对应一条 user 消息。少于 2 条 user 消息时自动隐藏;非对话页不显示。默认悬停前不可见,鼠标移入后显现。
跟随阅读位置¶
当前阅读位置对应的节点以 22px 品牌蓝色胶囊高亮,随滚动自动移动。
悬停预览与连续命中¶
悬停节点时弹出消息预览卡片(截断 6 行,样式对齐官方 HoverCard)。整条导航条(含节点间隙)均响应悬停:预览切换到最近节点,对应胶囊临时拉长为灰色,标示可点击区域,无死区。
滚轮切换与点击跳转¶
光标在导航条上时,滚轮上下切换相邻 user 消息(并阻止对话区滚动)。整条导航条可点击(含间隙,跳转到最近节点),胶囊命中区已放大,无需精确对准小圆点。点击后平滑滚动,并以品牌蓝色高亮环标记目标。
滑动窗口¶
节点超过 11 个时,仅显示窗口内的节点,避免溢出。
加载更早历史¶
若当前会话仍有未加载的更早消息,导航条顶部固定显示 ↑ 按钮。点击后通过官方「加载更早」控件拉取历史,导航条在顶部增长新节点;全部加载完成后按钮自动隐藏,加载进行中时禁用。悬停时即时显示与节点预览同风格的提示卡片;加载中提示为 “Loading…”。点击转发至官方控件,阅读位置得以保留。
消息固定(Pin)¶
assistant 操作栏(复制与 Good response 之间)提供 📌 按钮。固定后,对应轮次在导航条中显示为金色细长椭圆节点(始终可见);预览卡片带 📌 徽标,点击直接跳转到被固定的回复。固定状态按会话保存在浏览器 localStorage,刷新后仍有效;再次点击可取消固定。
实现约束¶
不依赖 data-channel:仅通过官方锚点属性(data-time-hover-root,user 行自 0806 起)驱动,无轮询、无路由、无 tools 调用。在 prefers-reduced-motion 下禁用动画。
安装与启用¶
推荐从 git 源一行安装(构建产物已提交,git 源不触发构建):
dsh plugin --profile web add "github:vlln/dsh-navbar#main"
也可使用 npm 源:
dsh plugin --profile web add @vlln/dsh-navbar@0.4.0
若本地已有源码,可先 git clone,再执行:
cd dsh-navbar && dsh plugin --profile web add .
安装后需重启 web 方可生效;可在设置页的 Plugins 面板中启用或禁用。
运行环境要求(来自 package.json):Node >=22.19.0,DSH >=0.1.0-rc.5。
典型用法¶
插件开箱即用,无需额外命令或 tools。在对话页(Chat view)右缘即可看到节点导航条:悬停预览,点击跳转。
固定回复:将鼠标移到 assistant 消息的操作栏,点击 📌。导航条中该轮次变为金色椭圆节点;再次点击 📌 取消固定。
加载更早历史:会话顶部若仍有未加载内容,点击导航条顶部的 ↑。加载完成后顶部出现新节点;全部历史加载完毕后按钮消失。
适用场景与注意¶
适合经常在 DSH web 端浏览长对话、需要按 user 轮次快速定位的开发者与使用者。插件仅在浏览器客户端运行,不改变服务端逻辑。
安装前建议查看 GitHub 源码 与 MIT 许可证。插件以当前 DSH 进程权限运行,安装第三方插件前应自行审阅代码与许可条款。SkillHub 目录为社区站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-navbar 把长对话中的 user 消息变成右缘可预览、可跳转的节点串,并支持固定回复与加载更早历史,减少在长上下文里反复滚动的成本。