shl-session-history:會話歷史請求迷你滑軌

前言

DeepSeek Harness (DSH) 的核心設計理念是“一切皆插件”。在處理長對話或複雜 Agent 編排時,快速定位早期的用戶請求是常見痛點。shl-session-history 旨在解決這一問題,它通過在對話區左側提供一條迷你滑軌,讓開發者能夠直觀地回顧歷史輸入並快速跳轉。

這是什麼

這是一個位於對話區左側垂直居中的迷你歷史滑軌插件。每條會話記錄以短橫線(或圓點)呈現。通過懸停可查看請求摘要,點擊則可直接跳轉到對應的對話位置。

核心功能

  • 視覺展示:默認顯示爲短橫線,支持在設置中切換爲圓點樣式。樣式修改實時生效並持久化到本地。
  • 交互反饋:鼠標懸停時,條目變長並呈現以懸停處爲軸心的波浪漸變效果,同時彈出浮動窗口顯示完整請求摘要。
  • 智能跳轉:點擊滑軌條目,對話區自動滾動至對應用戶消息。若目標輪次未加載,會自動點擊“加載更早”按鈕直至定位成功。
  • 實時更新:滑軌每 2 秒自動刷新一次,僅在數據變化時重建 DOM,保證懸停交互不被打斷。
  • 內容過濾:自動過濾系統注入的消息,僅顯示真實用戶請求。
  • 智能隱藏:當滑軌與對話內容過於接近或重疊時,會自動隱藏以避免遮擋文字。
  • 自定義尺寸:支持調整條目間距、橫線長度、圓點大小以及懸停膠囊長度。

安裝與啓用

該插件爲 bundle 插件,依賴由主應用運行時提供,無需手動安裝 npm 依賴。

在終端中執行以下命令進行安裝:

dsh plugin --profile desktop add /path/to/shl-session-history

安裝完成後,進入設置頁的「插件」卡片,找到「會話滑軌」卡片。默認狀態下滑軌已啓用,會隨會話內容同步出現。

配置與使用

所有配置項集中在設置頁「插件配置 → 會話滑軌」卡片中:

  1. 啓用/關閉:撥動「啓用滑軌」開關控制總開關。
  2. 樣式切換:點擊「橫線」或「圓點」按鈕切換視覺形式。
  3. 尺寸微調:拖動對應滑塊調整間距、長度、大小等參數,數值即時生效。
  4. 自動隱藏:默認開啓,可根據需要調整。

點擊滑軌任意條目即可跳轉歷史請求位置。

版本歷史與維護

  • 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 上。

項目鏈接:https://github.com/sunyuhuirong/shl-session-history

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

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

小夜