dsh-turn-nav:DSH 右側會話輪次導航欄插件

前言

在 DSH 的多輪會話裏,當歷史消息較多時,靠手動滾動定位某一輪用戶問題並不方便。dsh-turn-nav 是給 DSH 用的右側會話輪次導航欄插件:在聊天窗口右側顯示輪次圓點,懸停查看摘要,點擊跳轉到對應輪次,並自動加載更早歷史。

這是什麼

dsh-turn-nav 是由 flyHZJ 維護的 DSH 插件,許可證爲 MIT。它不替換 DSH 官方聊天界面,而是使用 shell.overlay 全局浮層,在右側顯示一條導航欄,用於快速查看和定位會話輪次。

核心功能

  • 右側懸浮導航:默認只顯示數字圓點,不遮擋聊天內容。
  • 懸停卡片:鼠標懸停到某個圓點時,左側彈出該輪次的提示卡片,顯示“Q + 用戶問題摘要”。
  • 快速跳轉:點擊圓點,平滑滾動定位到對應輪次。
  • 當前閱讀位置高亮:隨滾動自動高亮當前所在輪次,高亮爲藍色圓點。
  • 自動刷新:新消息、流式輸出、加載歷史時自動重建導航。
  • 自動加載更早歷史:自動調用 DSH 的 loadOlder(),把之前分頁未加載的輪次也補全,不需要手動滾動到頂部點“加載更早”。
  • 不侵入官方 UI:使用 shell.overlay 全局浮層,不替換、不遮擋 DSH 官方聊天界面。
  • DSH Bundle 兼容:已聲明 dsh.bundle.patch,可通過 dsh plugin add 安裝。

安裝與啓用

安裝前需要滿足:

  • 已安裝並運行 DSH。
  • 構建時需要 Node.js。
  • 可選:DSH 源碼 checkout,用於本地構建。

從 GitHub 安裝:

dsh plugin --profile web add github:flyHZJ/dsh-turn-nav

安裝後重啓 dsh web,右側導航即生效。

典型用法

安裝後使用

安裝並重啓 dsh web 後,在 DSH 聊天窗口右側會出現導航圓點。

1、將鼠標懸停到某個圓點,查看該輪次的提示卡片。

2、點擊圓點,平滑滾動到對應輪次。

3、繼續滾動頁面時,當前所在輪次會被高亮。

本地開發調試

如果使用 super-injector 運行時注入,可執行:

dev_inject_plugin  {"dir": "C:/Users/J/Desktop/新建文件夾/dsh-turn-nav"}

修改源碼並重新構建後,可執行熱重載:

dev_reload_package  {"packageName": "dsh-turn-nav"}

更新與卸載

bundle 安裝版更新:

dsh plugin --profile web update dsh-turn-nav

bundle 安裝版卸載:

dsh plugin --profile web remove dsh-turn-nav

自動加載更早歷史

插件會自動調用 DSH 的 loadOlder(),把之前分頁未加載的輪次補全到導航可識別範圍內。默認最多加載 200 頁,可通過 MAX_OLDER_PAGES 調整。

可調整項

配置項 默認值 說明
卡片最小寬度 240px 懸停卡片的最小寬度
卡片最大寬度 400px 懸停卡片的最大寬度
導航右側間距 10px 導航欄距離右側的間距
導航垂直位置 50% 導航欄的垂直位置
自動加載歷史頁數上限 200 MAX_OLDER_PAGES 默認值
摘要長度 60 字符 懸停卡片中用戶問題摘要的長度

適用場景與注意

適合使用 DSH 進行多輪、長會話調試或閱讀的開發者。它可以減少在長會話中來回滾動查找歷史輪次的操作。

需要注意:

  • 插件會隨當前 dsh 進程權限運行,並按當前 DSH 環境加載導航和更早歷史;安裝前應檢查 GitHub 源碼和 MIT 許可證,確認當前環境允許該插件訪問會話界面與歷史加載能力。
  • 如果舊版本 @dsh-external/dsh-turn-navdeclares no dsh.bundle,應升級到當前版本 dsh-turn-nav
  • 自動加載更早歷史默認最多 200 頁;如果歷史超過這個範圍,需要調整 MAX_OLDER_PAGES 後重新構建。

相關鏈接

插件目錄頁:

https://www.skillhub.cn/plugins/flyHZJ/dsh-turn-nav

插件源碼:

https://github.com/flyHZJ/dsh-turn-nav
羽毛球分组比赛记分
小程序二维码

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

小夜