@dsh-external/dsh-chat-jumper:DSH 對話圓點導航

在 DSH 中處理長會話時,頁面滾動困難,定位特定提問往往需要大量時間。@dsh-external/dsh-chat-jumper 插件在頁面右側提供了一條縱向圓點列,每個圓點對應一條用戶提問,通過點擊即可快速跳轉。

插件簡介

該插件由 Cloud-J 維護,採用 MIT 許可證。它解決了在長對話中快速導航和定位用戶提問的問題,通過右側的圓點列提供直觀的交互入口。

核心功能

  1. 右側圓點列:顯示一條縱向圓點列,每個圓點對應一條用戶提問(user)或引導輸入(steering)。
  2. 懸停預覽:鼠標懸停在圓點上時,顯示該輪提問的截斷預覽(前 40 個字符)。
  3. 平滑滾動:點擊圓點,頁面會平滑滾動到對應的用戶提問位置。
  4. 當前位置高亮:當前閱讀位置附近的提問圓點會高亮顯示。
  5. 會話快照數據:數據來源於 DSH 會話快照,不掃描 DOM,因此即使歷史消息尚未渲染,也能正確統計。
  6. 加載歷史:若還有更早消息未加載,圓點列頂部會出現 ↑ 按鈕。點擊一次會自動連續調用 loadOlder(),直到把全部更早歷史加載完。
  7. 自動加載重試:點擊尚未渲染進 DOM 的舊圓點時,會自動觸發 loadOlder() 並重試定位。

安裝與啓用

推薦使用官方裝配方式:

  1. 執行安裝命令:
    dsh plugin --profile web add <解壓後的目錄或 .tgz>
  1. 將包名加進 profile 的 bundles 列表。編輯 ~/.dsh/profiles/web/package.json,在 dsh.profile.bundles 數組末尾加上:
    "@dsh-external/dsh-chat-jumper"
完成後重啓 web / 刷新頁面即可。

從源碼構建

需要本機有 DSH checkout,並設置環境變量 DSH_CHECKOUT 指向源碼根目錄。

npm run build          # host tsc
npm run build:client   # client tsdown → lib/client.js

打包發佈:

npm pack

依賴說明

該插件需要安裝 peerDependencies,包括:
* @deepseek-ai/dsh-llm
* @deepseek-ai/dsh-tools
* cordis
* schemastery
* @deepseek-ai/dsh-client-ui-slots

典型用法

點擊右側圓點即可快速跳轉到對應的用戶提問位置。

結語

該插件通過快照機制和歷史加載邏輯,解決了長會話導航的痛點。更多細節與源碼,請訪問 GitHub 倉庫。

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

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

小夜