dsh-history:在超長 DSH 會話中查看、搜索並跳轉自己發送的消息

前言

DSH Web 會話有時會很長,對話窗口裏未必包含所有歷史消息。要在長會話中找出自己之前發送過的某條消息,通常需要在窗口裏反覆加載、向上翻找。

chenproton/dsh-history 是一個 DSH Web 插件,用於列出當前會話中全部“你發送”的消息,並提供搜索、排序、複製和自動定位。

這是什麼

dsh-historychenproton 維護,許可證爲 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

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

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

小夜