sent-msg-locator:在 DSH 會話中定位每一輪對話

前言

長會話裏想找“第 N 輪說了什麼”或“某個助手回覆從哪開始”,往往只能來回滾動。sent-msg-locator 是一個 DSH 插件,在對話區左緣提供常駐輪次圖標列,把當前會話的輪次變成一個可點擊、可懸停查看摘要的導航入口。

這是什麼

sent-msg-locator 由 ShanHaiFish 維護,許可證爲 MIT,定位爲純 Client 插件。它針對“一輪對話 = 用戶發送 → 助手完整回覆”的邊界,在會話界面中顯示輪次序號圖標,支持點擊定位與高亮聯動。

包內提供兩種形態:

  • 靜態 bundle:安裝後隨 profile 層棧自動加載,跨 DSH 進程存續。
  • 動態插件回退形態:由 manifest.json 與 client-source.js 構成。

核心功能

下面按界面行爲說明:

  • 對話區左緣常駐一條浮動圖標列,每輪一個氣泡序號圖標。
  • 點擊圖標後,聊天視口平滑滾動到對應輪次開頭。
  • 當前瀏覽輪會高亮,圖標列自動跟隨,使高亮圖標可見。
  • 會話快照更新時,圖標列同步更新;輪次很多時,圖標列內部可滾動。
  • 懸停圖標可看到輪次、時間,以及該輪第一條用戶輸入文本;超長文本會截斷。
  • 切換到軌跡視圖時,圖標列與提示卡自動隱藏,切回後恢復。
  • 界面顏色使用主題 CSS 變量,適配淺色/深色。

安裝與啓用

從 npm 安裝

下面命令把插件安裝到 web profile:

dsh plugin --profile web add sent-msg-locator

安裝後重啓 DSH,打開任意會話,即可在對話區左緣看到圖標列並開始使用。

本地目錄安裝

如果使用本地調試副本,路徑不能包含空格。已覈實資料中的本地安裝命令爲:

dsh plugin --profile web add file:C:/Users/whaow/.dsh/plugins-dev/sent-msg-locator

該命令依賴具體本機路徑,僅適合作爲本地安裝示例。

動態插件回退形態

動態形態每次 DSH 重啓後需要重新激活。基本步驟是:

1、讀取本目錄 client-source.js 的完整內容。
2、調用 cordis_define 註冊插件。
3、調用 cordis_run 激活。

典型用法

  • 需要快速回到某一輪時,點擊圖標列中對應序號。
  • 想確認該輪開頭內容時,懸停圖標查看第一條用戶輸入摘要。
  • 當前正在滾動閱讀時,通過高亮圖標判斷當前瀏覽輪。
  • 會話分頁後,若最舊可見輪顯示用戶消息尚未加載,點擊聊天區“加載更早”,快照更新後文本會顯示。

權限與注意

sent-msg-locator 是純 Client 插件,無 Host 能力,即無 RPC / fs / 網絡 / spawn。其滾動定位只使用元素級 API:closest、getBoundingClientRect、scrollTo。

安裝前應檢查源碼與許可證。雖然本插件聲明爲純 Client 插件,但它仍以當前 dsh 進程權限運行;若對來源或行爲有疑慮,先審閱倉庫代碼再安裝。

包聲明信息:

{
  "dsh.client.platform": "web",
  "peerDependencies": {
    "@deepseek-ai/cordis": "^4.0.1"
  }
}

這些字段說明它面向 web profile,並依賴 Cordis 相關 peer dependency。靜態 bundle 安裝後需要重啓 DSH;動態插件形態每次重啓後需重新 cordis_define / cordis_run。

結尾

sent-msg-locator 的價值在於把長會話裏的輪次導航外顯:點擊定位、當前輪高亮、懸停摘要,都是圍繞“快速回到某一輪”這一件事。

GitHub 倉庫:https://github.com/ShanHaiFish/sent-msg-locator。本文未附可覈對的目錄頁鏈接,可按 sent-msg-locator 名稱在社區目錄檢索。

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

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

小夜