dsh-message-navigator:DeepSeek Harness 网页聊天界面的消息导航条

前言

在 DSH 的插件化做法里,一些界面增强能力可以单独安装。dsh-message-navigator 解决的是网页聊天界面中“对话太长、回到某条用户输入不方便”的问题:它在界面右侧提供一条垂直消息索引,把每条用户输入映射为可点击的 marker,点击后可跳转,滚动时也会实时高亮当前阅读位置。

这是什么

dsh-message-navigator 是 TableRogue 维护的 Client-only DSH 插件,许可证为 MIT,版权标记为 © 2026 TableRogue

它面向 DeepSeek Harness 网页聊天界面,在右侧边缘增加一个轻量消息索引:

  • 每条用户输入对应一个 marker;
  • 点击 marker 可平滑跳转;
  • 滚动时,当前阅读位置对应的高亮 marker 会实时更新;
  • AI 流式输出期间不生成 marker;
  • 不替换现有界面,UI 挂载在 shell.overlay 层。

核心功能

点击跳转

点击 marker 后,通过 scrollIntoView 将目标消息平滑居中。如果目标已经在视口附近,会跳过动画,并且不产生横向位移。

滚动同步

滚动同步以视口 40% 处作为阅读线,实时高亮对应 marker。该滚动路径采用纯算术计算,不触发额外 DOM 查询,也不触发 re-render。

Hover 预览

将鼠标悬停在 marker 上时,会显示一个统一宽度的 tooltip 卡片:

  • 宽度为 240px
  • 文本控制在 1–2 行,超出省略。

动态同步

以下操作发生后,索引会自动重建:

  • 新消息进入;
  • 消息删除;
  • 加载历史消息;
  • 切换会话。

AI 流式输出不会生成 marker,只在对应消息稳定后参与索引。

稳定标识

marker 与消息通过 data-chat-flow-key 一一对应,该字段内含 messageId。跳转和高亮不依赖 DOM 顺序索引,因此在消息新增、删除或历史加载时更稳定。

性能与响应式

  • 几百条消息下仍可流畅使用;
  • 窗口宽度 ≤1100px 时隐藏 tooltip;
  • 窗口宽度 ≤880px 时隐藏整个导航组件。

安装与启用

GitHub 安装

dsh plugin --profile web add github:TableRogue/dsh-message-navigator

本地安装

如果已经获取本地目录,可以使用本地安装命令:

dsh plugin --profile web add ./dsh-message-navigator

验证配置

安装后,可以查看当前 web profile 的配置,确认插件层已经出现:

dsh --profile web --dump-config

输出中应看到:

# == dsh-message-navigator 层

卸载

dsh plugin --profile web remove dsh-message-navigator

典型用法

安装后启动

完成安装后,启动 web profile:

dsh --profile web

进入网页聊天界面后,右侧会出现垂直消息导航条。

点击 marker 跳转

在右侧导航条上点击任意 marker,对应消息会被平滑滚动到视口中心附近。

滚动时查看当前位置

在聊天区域上下滚动时,导航条上的高亮 marker 会跟随当前阅读位置变化,可用于快速确认自己正处于哪条消息附近。

临时方式

README 同时提供动态插件临时方式:把 src/client.js 头注释以下的内容填入 cordis_definecode.client,再执行 cordis_run。具体操作可参考该文件头注释。

适用场景与注意

适合以下场景:

  • 超长对话中需要快速回到某条用户输入;
  • 希望在现有网页聊天界面上增加一个只读导航入口;
  • 不想替换原有界面,只做轻量增强;
  • 本地链接安装时,希望修改源码后重启即生效。

使用前需要注意:

  • 插件会以当前 dsh 进程权限运行,安装前应检查源码与许可证;
  • 它依赖产品自身的稳定锚点,例如 data-conversation-scrolldata-chat-flow-keydata-chat-flow-kind 等;
  • 产品改版后,可能需要同步更新选择器;
  • 该插件只读使用这些锚点,不替换现有界面;
  • 小窗口下组件会按规则隐藏,属于响应式行为,不是安装失败。

链接

社区目录页:

https://www.skillhub.cn/plugins/TableRogue/dsh-message-navigator

GitHub 仓库:

https://github.com/TableRogue/dsh-message-navigator

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

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

Xiaoye