dsh-better-chat-history:DeepSeek Harness 會話 I/O 優化插件

前言

DeepSeek Harness(dsh)的擴展理念是「一切皆插件」。對於需要頻繁打開、刷新和切換會話的 dsh 用戶,聊天記錄加載路徑中的 inspect、readFrom、list 以及投影緩存寫盤,都會直接影響使用體驗。

dsh-better-chat-history 是一個 DSH 會話 I/O 優化插件,通過讀路徑緩存與寫合併優化聊天記錄加載。它不修改 DSH 本體,按插件方式掛載後生效。下面介紹它的功能、安裝方式和注意事項。

這是什麼

dsh-better-chat-history 由 echo-xianyu 維護,當前版本爲 0.1.0,許可證爲 MIT。

它的定位是一句話:DeepSeek Harness(dsh)會話 I/O 優化插件,通過讀路徑緩存與寫合併優化聊天記錄加載。

實現方式上:

  • 零依賴,純 JS ESM;
  • 不修改 DSH 本體;
  • 通過包裝既有服務實例方法 + patch 配置覆蓋生效;
  • 需要 dsh >= 0.1.0-rc.6。

核心功能

讀路徑緩存

插件對讀路徑做三級緩存:

  • inspect:LRU 緩存,默認 64 槽,TTL 60s,並做併發去重;
  • readFrom:緩存命中時直接內存截取,零磁盤 IO;
  • list:5s TTL 緩存,避免每次打開 GUI / 刷新都全盤掃描所有會話 header。

會話預熱器

web 啓動後,插件會在後臺把最近活躍的會話預先 inspect 進緩存,默認 24 個。

這樣可以減少後續打開這些會話時再次走完整讀路徑的概率。

精確失效

插件監聽以下事件:

session/event
session/created
session/disposed

會話日誌一旦變化,會立即棄用對應緩存。語義上是隻讀路徑緩存 + 事件失效:最多返回陳舊視圖,絕不產生錯誤數據。

寫合併

插件對 fail-soft 的投影緩存做合併落盤,fsync 頻率降低約 10 倍。

需要注意的是,workspace.json 等權威數據不合並,保持原語義。

安裝與啓用

方式一:使用本地 Release tarball

先把 dsh-better-chat-history-0.1.0.tgz 放到命令執行目錄,然後執行:

dsh plugin --profile <profile> add ./dsh-better-chat-history-0.1.0.tgz

安裝後重啓對應 profile 即可。

方式二:手動掛載

如果不用插件包安裝,也可以把插件文件直接掛到目標 profile 中。先掛載文件,再追加配置,最後重啓 dsh。

1、把本包放入目標 profile 的目錄:

node_modules\dsh-better-chat-history\

包內應包含:

lib\index.js
cordis.patch.yml
package.json

零依賴,無需額外 install。

2、在 profile 的 package.json 的 dependencies 中加入:

"dsh-better-chat-history": "file:<本包路徑>"

3、在 profile 的 cordis.patch.yml 末尾追加以下配置項:

session-persistence-jsonl
session-projection-cache
io-optimizer

4、重啓 dsh:

dsh web

或者:

dsh --profile <profile>

驗證

重啓後執行:

dsh --profile web --dump-config

應看到 session-persistence-jsonl 行帶:

preparedSessionCacheSize: 64
writeBatchMaxDelayMs: 2000

同時應看到 io-optimizer 行。

插件靜默運行:正常時不輸出任何日誌,僅 error 級會輸出。

適用場景與注意

適合使用 dsh profile / dsh web 管理多個會話,並希望在讀取聊天記錄時減少重複讀盤、在投影緩存寫入時減少落盤次數的用戶。

安裝前需要注意:

  • 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證;
  • 需要 dsh >= 0.1.0-rc.6;
  • 只讀路徑緩存 + 事件失效的語義是:最多返回陳舊視圖,絕不產生錯誤數據;
  • 寫合併只作用於 fail-soft 的投影緩存;workspace.json 等權威數據不合並,保持原語義;
  • 崩潰丟失窗口:最近 ~2s 的日誌事件、合併窗口內的投影緩存更新;
  • 項目部分代碼與文檔由 AI 輔助生成,並經過人工審查與測試;按 MIT 許可證開源,僅供學習與參考,使用者請自行評估代碼的安全性與合規性。

獲取

社區目錄頁(獨立站點,與 DeepSeek / 幻方無官方從屬關係):

https://www.skillhub.cn/plugins/echo-xianyu/dsh-better-chat-history

GitHub 倉庫:

https://github.com/echo-xianyu/dsh-better-chat-history
羽毛球分组比赛记分
小程序二维码

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

小夜