前言¶
在 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-nav報declares 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