前言¶
DeepSeek Harness (DSH) 的官方 API 目前僅支持會話歸檔(隱藏),並不減少 session.list 的數據量。長期自主會話會持續產生子 agent 會話記錄,當這些記錄堆積到幾十上百條時,會拖慢 Web GUI 的響應速度(實測 664 條 ≈ 1s/880KB)。針對這一痛點,momojie-s/dsh-subagent-cleanup 插件提供了清理方案。
插件簡介¶
這是一個由 Momojie-S 維護的 DSH 插件,主要解決子 agent 會話堆積問題。它提供了兩個核心能力:會話自清(清理本會話後代)和運維側跨 workspace 大掃除(清理冷記錄)。
核心功能¶
- 會話自清:清理“本會話自己的”子 agent 及更深層後代。通過子 agent 服務枚舉確定歸屬與狀態,只處置已停穩的記錄,無閒置小時門檻。
- 運維側跨 workspace 大掃除:跨 workspace 按目錄形態掃描,只處置“當前 DSH 進程啓動後從未寫入且閒置超閾值(默認 24h)”的冷記錄。
- 處置模式:支持默認歸檔(可逆)和徹底刪除兩種模式。
安裝與啓用¶
安裝插件:
dsh plugin --profile web add github:Momojie-S/dsh-subagent-cleanup
安裝後需重啓 DSH 生效。
典型用法¶
安裝完成後,在對話中直接使用自然語言指令即可:
* “把這次任務攢的子agent會話清掉” → 調用 subagent_cleanup 工具。
* “清理 StarRail 的舊子agent會話” 或 “全局大掃除一下子agent記錄” → 調用 subagent_cleanup_global 工具。
配置¶
插件支持通過 config 字段進行可選配置。主要配置項包括:
| 字段 | 默認值 | 說明 |
|---|---|---|
toolSelf |
subagent_cleanup |
自清工具的模型可見名 |
toolGlobal |
subagent_cleanup_global |
大掃除工具的模型可見名 |
home |
DSH_HOME 環境變量,再退 ~/.dsh |
DSH home 覆蓋 |
archiveRoot |
<home>/sessions-archive |
歸檔目標根 |
defaultIdleHours |
24 |
大掃除閒置門檻(小時) |
settleBufferMs |
30000 |
磁盤子級的寫入緩衝(毫秒) |
liveBufferMs |
600000 |
內存子級需靜默多久纔可處置(毫秒) |
機制與限制¶
- 工具差異:
subagent_cleanup:僅枚舉本會話後代,處理已停穩記錄。subagent_cleanup_global:掃描裸 UUID(子 agent),跳過session-前綴主會話,支持按 workspace 子串過濾和parent點名。
- 安全邊界:默認歸檔(可逆),徹底刪除不可恢復。
- 運行環境:插件以當前 DSH 進程權限運行。
適用場景與注意¶
- 環境要求:DSH 版本 0.1.5-rc.1 及以上;支持 Windows / Linux / macOS。
- 注意事項:安裝前請檢查源碼與許可證;插件加載成功後,DSH 日誌會顯示
subagent-cleanup: active (tools subagent_cleanup/subagent_cleanup_global...)。
結語¶
該插件通過補全 DSH 官方缺失的會話刪除能力,幫助開發者有效管理子 agent 會話記錄,提升 Web GUI 性能。