dsh-anchor-rail:DSH Web 會話錨點導軌

前言

在使用 DeepSeek Harness (DSH) 進行 Web 會話開發時,長對話場景下定位歷史提問或上下文切換點需要頻繁手動滾動。這種方式效率低下且容易迷失。dsh-anchor-rail 插件通過左側固定導軌,提供全局會話導航能力。

插件簡介

dsh-anchor-rail 是一個客戶端插件,由開發者 lyfZhixing 維護。它解決的核心問題是:如何在長會話中快速定位用戶提問,並處理上下文壓縮帶來的歷史數據展示問題。

核心功能

  1. 左側導軌展示:在會話聊天區左側展示全部用戶問題的錨點,不隨頁面滾動移動。
  2. 壓縮段聚合:連續的已壓縮問題摺疊爲一個虛線分組錨點(如 ▸ 已壓縮 · N 個問題),避免導軌因壓縮內容過多而擁擠。
  3. 懸浮交互:鼠標懸浮在導軌或任意錨點上時,右側展開對應的錨點名稱列表(#序號 + 問題文本)。
  4. 分組展開:懸浮虛線分組錨點時,切換爲該段已壓縮問題的子列表;懸浮普通錨點僅顯示未壓縮列表。
  5. 密集兜底:當錨點間距小於 24px 時,名稱面板自動變爲緊湊滾動列表,防止文字重疊。
  6. 高亮與跳轉:當前閱讀的問題對應錨點/名稱高亮加長。點擊錨點或名稱可快速跳轉至對應問題。
  7. 保留歷史:上下文壓縮後的歷史錨點會被保留(聚合進虛線分組或單獨顯示),不會因壓縮而丟失。

安裝與啓用

推薦使用 DSH 官方插件命令進行安裝:

dsh plugin --profile web add dsh-anchor-rail

若需本地調試或自定義,可將倉庫放置於 ~/.dsh/profiles/web/plugins/dsh-anchor-rail/,並在 package.json 中配置依賴與 bundle。

工作原理

該插件分爲 Host 和 Client 兩半:
* Host 半:通過 sessionQuery.readSession 讀取完整原始日誌,提取用戶提問事件,利用壓縮檢查點標記已壓縮歷史,並通過路由 /dsh-anchor-rail/anchors 提供數據。
* Client 半:處理導軌渲染、懸浮列表邏輯及滾動跳轉。當跳轉目標在當前窗口外時,會自動調用 loadOlder() 逐頁加載歷史數據。

典型用法

  1. 打開 DSH Web 會話頁面。
  2. 導軌會自動出現在左側(僅當問題數大於 2 且內容可滾動時顯示)。
  3. 懸浮導軌查看全部錨點名稱,點擊任意名稱跳轉。
  4. 懸浮虛線分組查看已壓縮問題的子列表。

注意事項

  • 自動隱藏:問題少於 2 個或內容無需滾動時,導軌自動隱藏。
  • 滾動列表:錨點間距小於 24px 時,名稱面板自動變爲緊湊滾動列表。
  • 許可證:MIT。

總結

dsh-anchor-rail 通過左側導軌和懸浮交互,解決了長會話中快速定位歷史提問的問題。它正確處理了上下文壓縮後的數據展示,適合需要在複雜會話中快速回溯的開發者。

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

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

小夜