dsh-message-navigator:DeepSeek Harness 網頁聊天界面的消息導航條

前言

在 DSH 的插件化做法裏,一些界面增強能力可以單獨安裝。dsh-message-navigator 解決的是網頁聊天界面中“對話太長、回到某條用戶輸入不方便”的問題:它在界面右側提供一條垂直消息索引,把每條用戶輸入映射爲可點擊的 marker,點擊後可跳轉,滾動時也會即時高亮當前閱讀位置。

這是什麼

dsh-message-navigator 是 TableRogue 維護的 Client-only DSH 插件,許可證爲 MIT,版權標記爲 © 2026 TableRogue。

它面向 DeepSeek Harness 網頁聊天界面,在右側邊緣增加一個輕量消息索引:

  • 每條用戶輸入對應一個 marker;
  • 點擊 marker 可平滑跳轉;
  • 滾動時,當前閱讀位置對應的高亮 marker 會即時更新;
  • AI 流式輸出期間不生成 marker;
  • 不替換現有界面,UI 掛載在 shell.overlay 層。

核心功能

點擊跳轉

點擊 marker 後,通過 scrollIntoView 將目標消息平滑居中。如果目標已經在視口附近,會跳過動畫,並且不產生橫向位移。

滾動同步

滾動同步以視口 40% 處作爲閱讀線,即時高亮對應 marker。該滾動路徑採用純算術計算,不觸發額外 DOM 查詢,也不觸發 re-render。

Hover 預覽

將鼠標懸停在 marker 上時,會顯示一個統一寬度的 tooltip 卡片:

  • 寬度爲 240px;
  • 文本控制在 1–2 行,超出省略。

動態同步

以下操作發生後,索引會自動重建:

  • 新消息進入;
  • 消息刪除;
  • 加載歷史消息;
  • 切換會話。

AI 流式輸出不會生成 marker,只在對應消息穩定後參與索引。

穩定標識

marker 與消息通過 data-chat-flow-key 一一對應,該字段內含 messageId。跳轉和高亮不依賴 DOM 順序索引,因此在消息新增、刪除或歷史加載時更穩定。

性能與響應式

  • 幾百條消息下仍可流暢使用;
  • 窗口寬度 ≤1100px 時隱藏 tooltip;
  • 窗口寬度 ≤880px 時隱藏整個導航組件。

安裝與啓用

GitHub 安裝

dsh plugin --profile web add github:TableRogue/dsh-message-navigator

本地安裝

如果已經獲取本地目錄,可以使用本地安裝命令:

dsh plugin --profile web add ./dsh-message-navigator

驗證配置

安裝後,可以查看當前 web profile 的配置,確認插件層已經出現:

dsh --profile web --dump-config

輸出中應看到:

# == dsh-message-navigator 層

卸載

dsh plugin --profile web remove dsh-message-navigator

典型用法

安裝後啓動

完成安裝後,啓動 web profile:

dsh --profile web

進入網頁聊天界面後,右側會出現垂直消息導航條。

點擊 marker 跳轉

在右側導航條上點擊任意 marker,對應消息會被平滑滾動到視口中心附近。

滾動時查看當前位置

在聊天區域上下滾動時,導航條上的高亮 marker 會跟隨當前閱讀位置變化,可用於快速確認自己正處於哪條消息附近。

臨時方式

README 同時提供動態插件臨時方式:把 src/client.js 頭註釋以下的內容填入 cordis_define 的 code.client,再執行 cordis_run。具體操作可參考該文件頭註釋。

適用場景與注意

適合以下場景:

  • 超長對話中需要快速回到某條用戶輸入;
  • 希望在現有網頁聊天界面上增加一個只讀導航入口;
  • 不想替換原有界面,只做輕量增強;
  • 本地鏈接安裝時,希望修改源碼後重啓即生效。

使用前需要注意:

  • 插件會以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證;
  • 它依賴產品自身的穩定錨點,例如 data-conversation-scroll、data-chat-flow-key、data-chat-flow-kind 等;
  • 產品改版後,可能需要同步更新選擇器;
  • 該插件只讀使用這些錨點,不替換現有界面;
  • 小窗口下組件會按規則隱藏,屬於響應式行爲,不是安裝失敗。

鏈接

社區目錄頁:

https://www.skillhub.cn/plugins/TableRogue/dsh-message-navigator

GitHub 倉庫:

https://github.com/TableRogue/dsh-message-navigator

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

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

小夜