在 DSH Web 的長對話場景中,快速定位用戶消息往往需要手動滾動。dsh-conversation-nav-dots 在對話界面的右側邊緣添加了一列導航標記,每個標記對應一條用戶消息,點擊即可跳轉。
這是一個由 yuioi666 維護的客戶端插件,採用 MIT 許可證。插件不依賴額外的運行時庫,核心作用是在右側提供導航入口。
核心功能¶
- 極簡 UI:尋常狀態下只顯示細橫線標記,不干擾閱讀。
- 懸停預覽:鼠標懸停在右側區域,展開完整消息預覽面板。
- 即時跳轉:點擊任意標記或預覽文本,直接跳轉到對應消息(無動畫)。
- 活躍跟蹤:當前可見消息對應的標記顯示藍色高亮。
- 自動更新:切換對話時自動刷新導航點。
- 可滾動:消息過多時導航列表可滾動(最大高度約視口 20%)。
- 輕量:純 DOM 實現,零運行時開銷。
安裝與啓用¶
使用官方命令安裝:
dsh plugin --profile web add dsh-conversation-nav-dots
安裝完成後,需要重啓 DSH Web 才能生效:
dsh web
使用說明¶
- 打開任意一個對話。
- 查看屏幕右側邊緣,會出現一列細橫線標記。
- 懸停到標記上,會展開消息預覽面板。
- 點擊任意標記或預覽文本,頁面會跳轉到對應的消息位置。
- 當前正在查看的消息對應的標記會顯示爲藍色。
定製與限制¶
- 暗色主題:插件原生支持暗色主題,顏色通過 CSS 變量暴露,可自由定製。
- 桌面端優先:插件設計用於桌面端,移動端視口較窄時體驗可能不佳。
- 適用場景:在 10 輪以上的長對話中效果最佳,幾條消息的場景下無需使用。
- 性能:使用
IntersectionObserver和requestAnimationFrame跟蹤滾動,性能開銷極低。
開發者參考¶
如果需要通過代碼監聽導航跳轉事件,可以在瀏覽器控制台執行:
document.querySelector('.dsh-nd-row')?.click()