TableRogue/dsh-message-navigator
消息导航条:DeepSeek Harness 网页聊天界面右侧的垂直消息索引(动态 Cordis 插件)
项目介绍Project Overview
dsh-message-navigator 是 DeepSeek Harness 网页聊天右侧的垂直消息索引条插件。它为每条用户输入生成 marker,支持点击平滑跳转、滚动实时高亮当前位置、hover 预览消息,并在新消息、删除、加载历史或切换会话时自动同步。适合超长对话中快速定位。注意:它依赖 [data-conversation-scroll]、data-chat-flow-key 等 DOM 契约,产品改版后可能需更新选择器。
dsh-message-navigator is a plugin that adds a slim vertical message index to the right edge of the DeepSeek Harness web chat. It creates one marker per user message, supports smooth click-to-jump navigation, highlights the active marker while scrolling, shows hover previews, and rebuilds automatically on new messages, deletion, history loading, or conversation switches. Use it for quick positioning in long conversations. Caveat: it relies on specific DOM anchors and may need selector updates after product UI changes.
请帮我了解并安装插件:【dsh-message-navigator】【https://github.com/TableRogue/dsh-message-navigator】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:TableRogue/dsh-message-navigator
把 TableRogue/dsh-message-navigator 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-message-navigator
消息导航条(Message Navigator) —— DeepSeek Harness 网页聊天界面右侧的垂直消息索引条:每条用户输入对应一个半透明短横线 marker,点击平滑跳转,滚动时当前阅读位置实时高亮,适合超长对话快速定位。
A slim right-edge message index for the DeepSeek Harness web GUI: one marker per user input, click to jump, active marker follows scroll.

特性
- 点击跳转
scrollIntoView(平滑居中,已在视口附近时跳过动画,不产生横向位移) - 滚动同步 视口 40% 处为阅读线,实时高亮对应 marker;滚动路径纯算术计算,零 DOM 查询、零 re-render
- Hover 预览 统一 240px 卡片式 tooltip,1–2 行省略
- 动态同步 新消息/删除/加载历史/切换会话自动重建;AI 流式输出不生成 marker
- 稳定标识 marker ↔ 消息经
data-chat-flow-key(内含 messageId)一一对应,不依赖 DOM 索引 - 性能与响应式 几百条消息仍流畅;≤1100px 隐藏 tooltip,≤880px 隐藏组件
安装(每次启动自动加载)
# 本地 checkout
dsh plugin --profile web add ./dsh-message-navigator
# 或从 GitHub(纯 JS,无构建步骤)
dsh plugin --profile web add github:TableRogue/dsh-message-navigator
安装后自动追加进 profile 的 dsh.profile.bundles,启动 dsh --profile web 即生效,无需重建 Web 产物。验证 / 卸载:
dsh --profile web --dump-config # 应看到 # == dsh-message-navigator 层
dsh plugin --profile web remove dsh-message-navigator
临时方式(动态插件,单次进程):把 src/client.js 头注释以下的内容填入 cordis_define 的 code.client 并 cordis_run,详见文件头注释。
实现契约
用户消息 → messageId → data-chat-flow-key → marker → 消息行 DOM(滚动目标)
只读使用产品自身滚动记忆所依赖的稳定锚点:[data-conversation-scroll](滚动容器)、[data-chat-flow-key]、[data-chat-flow-kind="user"|"steering"];UI 挂载在加法式 shell.overlay 层,不替换任何现有界面。
定制
lib/client.js 顶部常量:STRIP_W(条宽 20)、EDGE_GAP(4)、PAD(14)、GAP(marker 间距 12)、LINE_FRAC(阅读线 0.4);样式类前缀 mnv-,颜色随主题 token --dsw-alias-label-primary 自适应亮/暗。
已知限制:依赖上述 DOM 契约,产品改版后可能需要同步更新选择器;本地链接安装时改源码重启即生效。
License
MIT © 2026 TableRogue
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS