前言¶
DSH Web 會話有時會很長,對話窗口裏未必包含所有歷史消息。要在長會話中找出自己之前發送過的某條消息,通常需要在窗口裏反覆加載、向上翻找。
chenproton/dsh-history 是一個 DSH Web 插件,用於列出當前會話中全部“你發送”的消息,並提供搜索、排序、複製和自動定位。
這是什麼¶
dsh-history 由 chenproton 維護,許可證爲 MIT。
它解決的是超長會話中“找自己發過的消息”的問題:不只是查看當前對話窗口已經渲染的消息,也包括尚未加載進對話窗口的舊頁和被 compaction 覆蓋的歷史。
核心功能¶
- 完整歷史:列出當前會話中全部自己發送的消息,包括尚未加載進對話窗口的舊頁和被 compaction 覆蓋的歷史。
- 自動定位:點擊消息後,如果未加載則自動加載更早歷史;如果頁面未渲染則自動等待;就緒後平滑滾動並閃爍高亮,同時關閉面板。
- 排序切換:支持最新在前 / 最早在前排序切換。
- 搜索過濾:按消息文本即時搜索過濾。
- 一鍵複製:每行提供一鍵複製完整消息文本。
- 快速打開:進入會話後臺預取完整消息列表,打開面板秒開;Host 側帶緩存。
- 狀態標籤:顯示可定位、未加載、定位中等狀態。
安裝與啓用¶
推薦安裝命令¶
前置依賴:已裝好 DSH,dsh web 能正常運行。
dsh plugin --profile web add dsh-history@latest
安裝或更新後,需要重啓服務或硬刷新瀏覽器使插件生效:
bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh
restart-dsh-web.sh 支持 -n 預覽、-p PID、-l 日誌文件。
從 GitHub 直接安裝¶
dsh plugin --profile web add github:chenproton/dsh-history#main
安裝後同樣運行:
bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh
從源碼安裝¶
適合調試本地改動。先克隆並構建:
git clone https://github.com/chenproton/dsh-history.git
cd dsh-history
pnpm install
pnpm build
然後按插件倉庫說明:
1、將 DSH Web profile 中 dsh-history 依賴指向本地克隆目錄。
2、追加 cordis.patch.yml 掛載行。
3、在對應 profile 目錄執行 pnpm install。
4、運行 restart-dsh-web.sh 使改動生效。
通過 plugin-registry 安裝¶
git clone https://github.com/chenproton/dsh-history.git && cd dsh-history
pnpm install && pnpm build
node scripts/package-registry.mjs
dsh registry install ./registry
dsh registry enable dsh-external/dsh-history
bash restart-dsh-web.sh
典型用法¶
1、進入會話後,輸入框上方會出現“我的消息 (N)”。
2、點擊“我的消息 (N)”展開面板,使用搜索框、排序切換和消息列表。
3、點擊狀態爲可定位、未加載或定位中的消息,由插件自動加載、等待渲染並定位。
4、點擊每行右側複製按鈕,一鍵複製完整消息文本。
適用場景與注意¶
適合在 DSH Web 裏維護超長會話、經常需要回溯自己發送過消息的開發者。
插件以當前 dsh 進程權限運行,安裝前應檢查源碼與 MIT 許可證。
需要額外注意:
package.json要求 Node>=20。- 安裝時出現
missing peer警告可安全忽略:DSH 運行時通過自身 module table 提供@deepseek-ai/*與react等依賴。 - 同時啓用兩個安裝通道會雙掛載;切換通道前先移除另一通道的掛載。
- 安裝或更新插件後,運行
restart-dsh-web.sh或硬刷新瀏覽器使插件生效。
鏈接¶
倉庫地址:https://github.com/chenproton/dsh-history