前言¶
DeepSeek Harness (DSH) 在日常使用中會積累大量持久化會話。這些會話通常只增不減,隨着數量增加,session_projcache.json 會膨脹,導致 web 界面卡頓。DSH 宿主目前沒有提供會話刪除或歸檔的 API,本插件補上了這一能力,並且三處索引全部自動跟隨。
功能¶
歸檔與恢復¶
歸檔操作將 sessions/<ws>/<id>/ 移動到 archive-sessions/<ws>/<id>/。歸檔是可逆的,不釋放磁盤空間,但會話會從列表中消失,projcache 記錄也會被清除。恢復操作會將歸檔會話移回原位置,投影緩存會通過冷讀自動重建。
永久刪除與自動策略¶
永久刪除會徹底移除歸檔目錄,釋放磁盤空間。此操作不可逆,執行前需要二次確認。自動策略允許每工作區保留最近 N 個會話,當數量超限時會自動歸檔最舊的非運行會話。
未分組與失效工作區管理¶
插件會顯式列出 _no-cwd 會話以及工作區路徑已被刪除的會話,並支持對這些會話進行管理。
體積治理與側欄同步¶
體積面板顯示 projcache 體積、各工作區會話數量與歸檔統計。在執行歸檔、恢復、刪除或自動策略後,客戶端會立即通知宿主重拉會話列表基線(sessions.refresh() / workspaces.refresh()),左側欄會立即刷新,無需重啓 dsh web。
跨卷支持與蒸餾銜接¶
當歸檔區配置在其他盤符時,自動回退使用 copy + rm 命令,以解決 Windows 的 EXDEV 防護問題。在歸檔/刪除前,可一鍵複製 wiki-distill 蒸餾指令,先把會話沉澱進知識庫再清理,確保知識不丟失。
安裝與啓用¶
使用一條命令同時安裝插件與菜單宿主 dsh-knj-menu:
dsh plugin --profile web add dsh-knj-session-management dsh-knj-menu
配置¶
在 cordis.patch.yml 中添加以下配置:
- insert:
- id: dsh-knj-session-management
name: 'dsh-knj-session-management'
config:
maxSessionsPerWorkspace: 60 # 每工作區保留上限,0 關閉自動歸檔
enabled: true # 自動歸檔總開關
注意事項¶
- DSH 宿主沒有會話刪除/歸檔 API,本插件補上這個能力,並且三處索引全部自動跟隨。
- 歸檔區默認路徑爲
$DSH_HOME/profiles/<profile>/dsh-session-archive。 - 本插件只做編排,蒸餾本身由既有 wiki-distill skill 完成。
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
總結¶
該插件解決了 DSH 會話只增不減導致的數據膨脹問題,提供了從歸檔、恢復到永久刪除的完整生命週期管理,並通過自動策略和體積面板幫助維護系統健康。
目錄頁:https://www.skillhub.cn/plugins/yangdongzhen590/dsh-knj-session-management
GitHub:https://github.com/yangdongzhen590/dsh-knj-session-management