前言¶
長會話裏想找“第 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 名稱在社區目錄檢索。