前言¶
在 DeepSeek Harness(DSH)的工作流中,會話管理是日常操作的一部分。當不再需要某個會話時,通常需要通過文件系統或特定的界面操作進行清理。對於習慣使用 Web 界面的開發者來說,直接在列表中刪除會話能節省時間。
dsh-delete-session 插件正是爲了解決這個痛點。它不依賴額外的配置文件修改,而是通過註冊官方插槽,將“Delete session”選項直接集成到會話行的菜單中。
這是什麼¶
這是一個 DeepSeek Harness Web 插件,由 kagurazakayashi 維護。它旨在爲 Web UI 提供快速且徹底的會話刪除能力。
該插件通過以下方式實現功能:
* 註冊一個“Delete session”菜單項到會話行的菜單插槽中。
* 註冊一個配置卡片到官方的 plugins.bundle.config 插槽中,用於管理刪除確認策略。
* 提供三種確認模式,以適應不同的安全需求。
核心功能¶
-
菜單集成
插件在會話行的...菜單中註冊了“Delete session”選項。在默認配置下,該選項會出現在“Archive session”下方。 -
三種確認模式
用戶可以通過插件設置選擇刪除時的確認方式:- click-again(默認):點擊後變爲警告狀態,需再次點擊才執行刪除。
- dialog:彈出確認對話框。
- instant:無確認,點擊即刪除。
-
兩步刪除流程(默認模式)
在默認的click-again模式下:- 第一次點擊:菜單項變爲紅色警告狀態,提示“再次點擊刪除”。
- 第二次點擊:調用刪除接口,刷新列表。
- 超時/失敗:如果在 8 秒內未完成第二次點擊,狀態會自動恢復。
-
運行會話保護
插件會檢查會話狀態。如果會話正在運行(Agent 狀態不是idle),刪除請求會被拒絕,返回 HTTP 409。這是爲了防止正在寫入的日誌文件被破壞。 -
配置持久化
插件的設置通過官方插件管理器保存,寫入到cordis.patch.yml的id: delete-session行的config:字段中。
安裝與啓用¶
安裝該插件需要執行以下命令:
dsh plugin --profile web add @kagurazakayashi/dsh-delete-session
安裝完成後,啓動 Web 服務:
dsh web
重啓服務並刷新頁面後,在任意會話行的菜單中即可看到“Delete session”選項。
典型用法¶
默認情況下,插件使用兩步確認模式。操作步驟如下:
- 在會話列表中,點擊對應會話行的
...按鈕。 - 在彈出的菜單中,點擊“Delete session”。
- 菜單項變爲紅色警告狀態,再次點擊該選項。
- 會話被刪除,列表刷新。
若要更改確認模式,需通過插件的配置卡片進行設置。該卡片位於側邊欄的 Plugins 頁面中,在已安裝列表中找到該插件並進入詳情頁,展開配置卡片即可選擇模式。
注意事項¶
- 運行中的會話無法刪除:如果會話正在處理任務,插件會返回 HTTP 409 錯誤,並顯示錯誤提示。只有狀態爲
idle的會話可以刪除。 - 閒置但打開的會話可刪除:即使用戶切換了會話,只要會話沒有處於運行狀態,通常仍可被刪除。
- 不修改核心:該插件不會修改 DSH 核心安裝或補丁核心文件,它是完全通過官方插件機制實現的。
結語¶
dsh-delete-session 插件通過標準化的插槽註冊和可配置的確認機制,爲 DSH Web 用戶提供了更便捷的會話清理手段。對於需要頻繁管理會話的用戶來說,這是一個實用的工具。