dsh_chat_index
DeepSeek Harness (DSH) 对话索引插件:在对话区右边缘显示一列小圆点,每个点代表一条用户发送的消息。圆点等间距、紧凑、纵向居中排列(消息过多放不下时间距自动压缩以适应高度);当前阅读位置的点高亮为品牌色。
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 27, 2026
- Updated
- Aug 27, 2026
Introduction
dsh-chat-index
DeepSeek Harness (DSH) 对话索引插件:在对话区右边缘显示一列小圆点,每个点代表一条用户发送的消息。圆点等间距、紧凑、纵向居中排列(消息过多放不下时间距自动压缩以适应高度);当前阅读位置的点高亮为品牌色。
- 鼠标悬停圆点 → 浮出该消息的缩写提示卡(序号
#n+ 前 100 字) - 点击圆点 → 平滑滚动到那条消息,并短暂高亮消息气泡
- 当前视口所在位置的圆点高亮为品牌色
- 自动展开历史分页:会话消息较多时 DSH 会折叠更早的消息(需点击「加载更早」),导致索引不全;插件会自动点击「加载更早」直到整段历史都加载渲染,从而每条用户消息都能被索引(加载时外壳会锚定保持当前滚动位置,不会跳动)。如需关闭,把
client.js顶部的AUTO_LOAD_OLDER改为false。 - 纯 DOM/CSS 实现,零构建、零依赖;不读会话数据,只挂接对话壳的稳定 data 属性:
[data-conversation-scroll](对话滚动容器)[data-chat-flow](消息流列)/[data-chat-flow-kind="user"](用户消息行)/[data-chat-flow-key](稳定 key)[data-composer-seat](底部输入区,轨道自动避让)
说明:自动展开历史意味着打开长会话时会把全部消息渲染到 DOM(DSH 分页本是为性能)。这是为完整索引有意为之;极长会话首次展开会稍多占内存。
安装
dsh plugin --profile web add /Users/bytedance/workspace/ark-5h-prompt/dsh-chat-index
然后重启 DSH Web(退出并重新运行 dsh web,或重开 DeepSeek Harness.app 会话)。对话区右侧即出现圆点索引(至少有 2 条用户消息时显示)。
插件通过
cordis.patch.yml向 Loader 树插入一个空的 Node 端入口;浏览器 bundle 由 package.json 的dsh.client+exports["./client"]自动发现并加载。
卸载
dsh plugin --profile web remove dsh-chat-index
开发说明
- 浏览器端为手写的 client factory 经典脚本(
window.__ModuleLoader__.load),改完client.js后重启 Web 生效;HMR 热替换仅在pnpm run dev:web的源码 checkout 中可用。 - 本地目录安装(pnpm link)时无需额外软链:本插件不 require 任何 DSH 包。