dsh-conversation-nav:對話右側問題導航插件

在 DSH Web UI 中進行長對話時,快速定位特定的用戶提問往往需要多次滾動。dsh-conversation-nav 插件在對話右側生成一條「問題導航」豎條,解決這一導航痛點。

這是 Fiker1203 維護的 DSH Web UI 插件。它在對話右側生成一條序號清晰的豎條,列出當前會話中的每條用戶提問。懸停可預覽內容,點擊可平滑跳轉。

核心功能

  1. 消息識別:自動識別當前會話中的每條用戶消息([data-chat-flow-kind="user"])。
  2. 右側導航:在對話右側生成豎向問題導航,序號清晰,窄條不遮擋聊天區。
  3. 預覽與跳轉:懸停或鍵盤聚焦時展開預覽卡片,顯示「第 N 問」和提問文本;點擊序號平滑滾動到目標消息並閃爍高亮。
  4. 滾動監聽:頁面滾動時自動高亮當前正在瀏覽的問題。
  5. 動態渲染兼容:響應 React 動態渲染,支持加載更早消息、切換會話、虛擬滾動時的自動更新。
  6. 貼底滾動兼容:適配 DSH 聊天區的「貼底滾動」邏輯。
  7. 主題適配:適配女僕主題(maid-atelier)。
    • 淺色模式:使用象牙白 / 海軍藍 / 金色描邊。
    • 深色模式(data-ds-dark-theme):使用深海夜藍 / 香檳金。
    • 未啓用女僕主題時自動回退到 DSH 官方設計變量。

安裝與啓用

dsh plugin --profile web add github:Fiker1203/dsh-conversation-nav

安裝後重啓 Web UI,並硬刷新瀏覽器(Ctrl+Shift+R)。

典型用法

  • 懸停序號 → 展開預覽卡片,查看該問題內容。
  • 點擊序號 → 平滑滾動到該問題並高亮。
  • 向上/向下滾動對話 → 導航條自動高亮當前所在問題。

結構與維護

插件主要包含以下文件:
- index.js:host,無主機行爲(瀏覽器專用)。
- client.js:browser,注入右側問題導航 UI 及跳轉/預覽邏輯。
- cordis.patch.yml:插入 conversation-nav 條目。
- package.json:聲明 dsh.bundle 和 dsh.client。

維護注意:用戶消息選擇器定義在 client.js 開頭的 USER_NODE_SELECTOR。若 DSH 改版導致用戶消息 DOM 標記變化,更新該選擇器即可。

注意事項

  • 插件只讀取頁面 DOM,不發送任何數據。
  • 安裝前建議檢查源碼與許可證(MIT)。
羽毛球分组比赛记分
小程序二维码

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

小夜