前言¶
DeepSeek Harness (DSH) v0.1.2-alpha.5 原生支持重命名、分叉和歸檔會話,以及重命名或刪除工作區註冊。然而,它缺乏兩個關鍵功能:永久刪除會話,以及在歸檔後重新管理會話(例如重命名或刪除歸檔的會話)。dsh-sess 插件填補了這些空白。
插件簡介¶
dsh-sess 是 DeepSeek Harness 的一個全局會話管理插件。它通過原生 Web UI 提供側邊欄會話刪除和工作區歸檔管理(重命名、恢復、刪除)。它通過官方 Profile Bundle + Cordis 機制掛載到 profile,並且絕不修改 DSH 源碼。
核心功能¶
- 會話列表與查詢:在“所有會話”標籤頁中顯示會話列表。它反映了側邊欄投影,顯示標題、活動時間、工作區、運行/空標誌。
- 會話識別與元數據:顯示持久化標題(回退到 ID)、工作區隸屬關係、歸檔狀態和活動時間。
- 永久刪除:在“所有會話”標籤頁和每個側邊欄會話行的菜單中提供“刪除會話”選項。此操作僅適用於冷會話(未在運行進程中的會話),並拒絕正在進行的會話(
agent-busy)。 - 歸檔會話管理:在“已歸檔”標籤頁中列出歸檔會話,並允許重命名和刪除它們。
- 會話持久化與恢復:存在性檢查通過官方
ctx.sessionPersistence.list()進行。刪除操作通過官方locate()進行。DSH 重啓後,每個會話變爲冷會話並可被刪除。 - 工作區關聯:顯示工作區標題。刪除操作通過官方
workspaceRegistry分離 API 釋放工作區會計。 - 異常會話安全處理:拒絕格式錯誤的 ID;對未知會話返回
session-not-found;拒絕運行中的會話;在接觸文件之前拒絕不安全的工件路徑。
安裝與啓用¶
此插件針對 Web UI,並要求 DSH v0.1.2-alpha.5 和 Node.js ≥ 20。
安裝到運行 Web UI 的 profile:
dsh plugin --profile web add dsh-sess
安裝後,停止 dsh web 並重新啓動。設置頁面現在包含一個“會話管理器”部分。
使用方法¶
- 打開設置:打開 設置 -> 會話管理器。
- 管理所有會話:
- “所有會話”標籤頁顯示所有非子代理會話。
- 正在運行的會話已標記,無法刪除。
- 在會話行菜單中,選擇 歸檔 以將其移動到“已歸檔”標籤頁。
- 管理歸檔會話:
- 切換到 已歸檔 標籤頁。
- 使用行內編輯器 重命名 歸檔會話。
- 使用確認流程 刪除 歸檔會話。
- 刪除冷會話:
- 切換到“所有會話”標籤頁。
- 找到一個冷會話(未標記爲運行)。
- 在行菜單中選擇 刪除會話。
- 確認刪除。
注意事項¶
- 不支持取消歸檔:官方工作區歸檔集是單向的。歸檔的會話無法恢復。
- 拒絕運行中的會話:正在運行的會話無法刪除以避免損壞。關閉會話或重啓 DSH(這會使每個會話變爲冷會話)後再次嘗試。
- 子代理不顯示:子代理會話屬於父會話,因此不在此處顯示。
- 側邊欄延遲:側邊欄更新可能需要刷新或重啓 DSH 以進行協調。
- 孤立歸檔標記:孤立歸檔標記是不活躍的,從不渲染。
- 僅限 Web UI:此插件僅針對 Web UI。
結語¶
dsh-sess 提供了 DSH 原生管理流程中缺失的清理和重新管理能力。它嚴格依賴官方 API,確保與 DSH 核心保持兼容。