DeepSeek Harness (DSH) 對話索引插件介紹

前言

DeepSeek Harness (DSH) 採用插件化架構,允許開發者通過擴展功能增強客戶端體驗。在 Web UI 的對話界面中,隨着消息數量增加,手動滾動查找特定問題變得效率低下。dsh_chat_index 插件旨在解決這一導航痛點,在對話區右邊緣提供可視化的索引工具。

核心功能

該插件在對話區右邊緣展示一列小圓點,每個圓點代表一條用戶發送的問題。

  • 圓點索引:圓點等間距、緊湊、縱向居中排列。當問題過多超出顯示高度時,間距會自動壓縮以適應。
  • 懸停提示:鼠標懸停在圓點上時,會浮出一個縮略提示卡,顯示序號和問題正文的前 100 字。
  • 平滑跳轉:點擊圓點,視圖會平滑滾動到對應的消息氣泡,氣泡會短暫高亮。
  • 當前視口高亮:位於當前閱讀位置的圓點會高亮顯示爲品牌色。
  • 無歷史展開:索引僅基於 DSH 默認的 50 條消息窗口,不會強制展開摺疊的歷史記錄。
  • 按需分頁:對於窗口外的舊消息,點擊時才按需加載至該位置。
  • 零構建:Node 端使用 ESM,瀏覽器端爲手寫腳本,無構建步驟。
  • 不干預狀態:不干預思考過程、工具調用或終端輸出的摺疊/展開狀態。

安裝與啓用

前置條件

  • DeepSeek Harness (DSH) 版本 0.1.1-rc.x 或更高
  • Node.js ≥ 18

安裝步驟

在終端執行以下命令安裝插件:

dsh plugin --profile web add github:Barry-Liu-001/dsh_chat_index

安裝完成後,重啓 DSH Web(執行 dsh web 或重新打開應用會話),對話區右側即可看到圓點索引(至少有 2 條用戶消息時顯示)。

原理簡述

插件通過 cordis.patch.yml 向 Loader 樹注入 Node 端入口,註冊了精確路由 /chat-index.questions。瀏覽器端通過 DOM data-chat-flow-key 屬性將圓點與消息氣泡一一映射。

  • 數據獲取:請求發送到該路由,Node 端通過 ctx.sessionQuery.readSession 讀取會話日誌,過濾 source.kind === 'user' 的事件,並返回 {seq, time, id, text} 列表。結果在 Node 端緩存有效時間小於 10 秒。
  • 客戶端渲染:零運行時依賴,全部使用 peerDependencies,不干擾 DSH 原生的摺疊/展開邏輯。

卸載

如需移除插件,執行:

dsh plugin --profile web remove dsh-chat-index
羽毛球分组比赛记分
小程序二维码

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

小夜