dsh-session-delete:DSH 會話刪除插件

DeepSeek Harness (DSH) 是基於插件架構的智能體開發環境。在日常開發中,會話列表往往需要定期清理。DSH 原生的歸檔功能無法徹底移除數據,手動操作容易遺留工作區賬目或緩存文件。

dsh-session-delete 是一個客戶端插件,由 yauntyour 維護。它在每個會話行的操作菜單中新增了「刪除會話」選項,用於徹底移除會話及其相關數據。

核心功能

  • 菜單注入:在每個會話行的 ⋯ 操作菜單中,在「歸檔會話」正下方新增「刪除會話」。該選項採用紅色危險配色(跟隨主題變量 --dsw-alias-state-error-primary),並配有垃圾桶圖標與危險態懸停底色。
  • 二次確認:執行刪除前會彈出確認框,遵循 DSH 主題變量,確認前不會刪除任何數據。
  • 同名會話多選:當存在多個同名會話時,彈窗會列出所有候選會話(標題、ID、相對時間),由用戶選擇目標。
  • 即時刷新:利用 DSH 的 wire 推送機制(host/session-removed、host/workspace-changed、host/archived-sessions-changed)更新會話列表,無需刷新頁面。刪除當前會話時,視圖會自動跳轉至「新會話」。
  • 乾淨刪除:不僅移除會話日誌文件,還會同步清理工作區賬目(workspace.sessionIds)、歸檔集合(archivedSessionIds)與投影緩存(session_projcache),防止重啓後出現幽靈會話。
  • 安全圍欄:複用官方 /api 網關的瀏覽器信任圍欄機制(Loopback Host 或受信主機 + 同源檢查)。

安裝與啓用

# 在插件目錄構建並打包
cd D:/Developments/Workspace/DSH-SessionDelete
npm install && npm run build && npm pack

# 掛載到 web profile
dsh plugin --profile web add "D:/Developments/Workspace/DSH-SessionDelete/dsh-session-delete-0.2.0.tgz"

驗證安裝:

dsh --profile web --dump-config | grep session-delete
# 應輸出包含 id 和 name 的配置項

重啓 dsh web 後,刷新瀏覽器頁面,在左側會話列表任意會話行的 ⋯ 菜單中,即可看到新增的「刪除會話」選項。

使用步驟

  1. 將鼠標移到會話行上,點擊行尾的 ⋯。
  2. 在彈出的菜單中,點擊「歸檔會話」下方的 刪除會話。
  3. 在確認彈窗中核對會話標題(若存在同名會話,先在列表中選擇目標)。
  4. 點擊「刪除」,等待提示「會話已刪除」——列表會自動移除該會話。

注意事項與邊界

  • 不可逆操作:刪除會話不可恢復,日誌文件會被永久移除,請謹慎操作。
  • 附件處理:~/.dsh/attachments 目錄下的附件按對象尋址,無會話索引,刪除時不會清理附件對象。
  • 搜索索引:若啓用了會話內容搜索(session-query),舊索引行可能殘留,不影響列表顯示,重啓後索引重建會自然失效。
  • Live 會話限制:正在運行 agent 的會話會被拒絕刪除(提示等待運行結束),以避免運行中的回合在目錄刪除後繼續落盤重建文件。
  • 菜單依賴:菜單注入爲 DOM 級操作,依賴「歸檔會話」菜單項的穩定文案與 role 契約。若 DSH 官方 UI 重構該菜單結構,需同步更新插件邏輯。

鏈接

羽毛球分组比赛记分
小程序二维码

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

小夜