前言¶
DeepSeek Harness (DSH) 的核心設計理念是“一切皆插件”。在處理長對話或複雜 Agent 編排時,快速定位早期的用戶請求是常見痛點。shl-session-history 旨在解決這一問題,它通過在對話區左側提供一條迷你滑軌,讓開發者能夠直觀地回顧歷史輸入並快速跳轉。
這是什麼¶
這是一個位於對話區左側垂直居中的迷你歷史滑軌插件。每條會話記錄以短橫線(或圓點)呈現。通過懸停可查看請求摘要,點擊則可直接跳轉到對應的對話位置。
核心功能¶
- 視覺展示:默認顯示爲短橫線,支持在設置中切換爲圓點樣式。樣式修改實時生效並持久化到本地。
- 交互反饋:鼠標懸停時,條目變長並呈現以懸停處爲軸心的波浪漸變效果,同時彈出浮動窗口顯示完整請求摘要。
- 智能跳轉:點擊滑軌條目,對話區自動滾動至對應用戶消息。若目標輪次未加載,會自動點擊“加載更早”按鈕直至定位成功。
- 實時更新:滑軌每 2 秒自動刷新一次,僅在數據變化時重建 DOM,保證懸停交互不被打斷。
- 內容過濾:自動過濾系統注入的消息,僅顯示真實用戶請求。
- 智能隱藏:當滑軌與對話內容過於接近或重疊時,會自動隱藏以避免遮擋文字。
- 自定義尺寸:支持調整條目間距、橫線長度、圓點大小以及懸停膠囊長度。
安裝與啓用¶
該插件爲 bundle 插件,依賴由主應用運行時提供,無需手動安裝 npm 依賴。
在終端中執行以下命令進行安裝:
dsh plugin --profile desktop add /path/to/shl-session-history
安裝完成後,進入設置頁的「插件」卡片,找到「會話滑軌」卡片。默認狀態下滑軌已啓用,會隨會話內容同步出現。
配置與使用¶
所有配置項集中在設置頁「插件配置 → 會話滑軌」卡片中:
- 啓用/關閉:撥動「啓用滑軌」開關控制總開關。
- 樣式切換:點擊「橫線」或「圓點」按鈕切換視覺形式。
- 尺寸微調:拖動對應滑塊調整間距、長度、大小等參數,數值即時生效。
- 自動隱藏:默認開啓,可根據需要調整。
點擊滑軌任意條目即可跳轉歷史請求位置。
版本歷史與維護¶
- v1.1.5:定位機制重構爲“唯一鍵直連”。Host 端輸出每條消息的事件 ID,客戶端通過內核的
data-chat-anchor-key精確查找 DOM 節點,解決了重複發送同一句話也能唯一定位的問題,並修復了分頁加載中的命中誤判。 - v1.1.4:修復同前綴消息誤跳問題,匹配邏輯從
includes改爲startsWith,防止長會話中早期消息被錯誤匹配到。 - v1.1.3:修復偶發性點擊無法定位的問題,增加了對分頁加載按鈕和引用消息的兼容性處理。
- v1.1.2:修復設置卡片在深色模式下的視覺問題。
總結¶
shl-session-history 提供了一個輕量級且高度可定製的會話導航方案。它不僅解決了長對話的定位難題,還通過自動隱藏和實時刷新機制保持了界面的整潔與交互的流暢。該插件使用 MIT 許可證,源碼託管在 GitHub 上。