前言¶
DeepSeek Harness (DSH) 的 Web 界面左側會話列表在默認情況下只有重命名、分叉和歸檔操作,且必須點擊行尾的 ⋯ 按鈕才能喚出。dsh-session-actions 插件在不修改 DSH 源碼的前提下,爲該列表補充了快捷操作。
核心功能¶
該插件爲 DSH Web 界面左側會話列表提供了三項核心操作:
- 雙擊重命名:雙擊會話行(按鈕除外),直接喚起 DSH 自帶的重命名彈窗。
- 複製會話 ID:在行菜單中選擇“複製會話 ID”,將 ID 寫入剪貼板。菜單會自動關閉;若複製失敗則保持打開狀態。
- 永久刪除會話:在行菜單中選擇“刪除會話”(紅色高亮),二次確認後永久刪除會話及其存儲數據。這與“歸檔”不同,歸檔僅隱藏列表項,而刪除會從物理存儲上抹除數據。
安裝與啓用¶
該插件以 DSH bundle 形式提供。安裝後,其 patch 層會在啓動時自動插入 Loader 行。
dsh plugin --profile desktop add dsh-session-actions
安裝完成後,在會話列表行上右鍵即可看到新增的菜單項。
典型用法¶
- 重命名會話:直接雙擊會話列表中的行,無需尋找行尾的
⋯按鈕。 - 複製 ID:在會話行上點擊右鍵,選擇“複製會話 ID”。
- 清理會話:在會話行上點擊右鍵,選擇“刪除會話”。系統會彈出二次確認框,確認後該會話將從列表中移除,且磁盤上的日誌和投影緩存文件也會被清空。
注意事項¶
- 正在運行的會話不可刪除:如果會話的 Agent 狀態爲
running,插件會拒絕刪除操作。已打開但未運行的空閒會話可以正常刪除。 - 附件不會被刪除:插件僅刪除會話日誌、投影緩存和工作區記錄,不會刪除
$DSH_HOME/attachments/v1/objects/下的共享附件對象。 - 僅對 Web 界面生效:該插件僅對 DSH Web 界面生效。在無頭 profile 下,宿主半邊會作爲空操作加載。
- 依賴渲染後的 DOM:插件通過讀取 React fiber 的 props 獲取會話 ID。若 DSH 更改行組件的 props 命名,插件功能會退化。
- 工作區記錄回滾:直接修改
workspace.json可能被後續操作回滾,但 DSH 的會話索引有對賬邏輯,列表不會殘留幽靈行。
結尾¶
對於需要頻繁整理會話列表的開發者,該插件通過提供右鍵菜單和雙擊操作,降低了管理會話的路徑成本。所有操作均通過 DSH 自帶的 API 進行,不依賴外部系統。