前言¶
在 DeepSeek Harness (DSH) 中,歸檔是用戶手動觸發的操作。當一個工作區的未歸檔會話被歸檔後,該工作區在側欄的行並不會自動消失,導致列表中殘留大量空工作區,擠佔真正在用的工作區位置。
dsh-hide-empty-workspace 插件旨在解決這一問題。它將“工作區變空”轉化爲一個被動觸發的信號:當某個工作區的未歸檔會話數從 1+ 掉到 0 時,側邊欄對應的行自動隱藏。該插件僅負責視覺上的清理,不觸碰任何數據層。
插件定位¶
- 名稱:
dsh-hide-empty-workspace - 維護者:
d0ublecl1ck - 定位:DSH Web 客戶端插件,用於自動清理側邊欄中的空工作區。
- 核心邏輯:通過監聽會話歸檔事件,檢測未歸檔會話數量歸零,僅通過修改 DOM
display屬性實現隱藏。
安裝與啓用¶
安裝該插件需要使用 DSH 的插件管理命令。
dsh plugin --profile web add dsh-hide-empty-workspace
安裝完成後,刷新頁面即可生效。如果需要從 GitHub 源碼安裝或本地開發調試,可以使用以下命令:
# 從 GitHub 直接安裝
dsh plugin --profile web add https://github.com/d0ublecl1ck/dsh-hide-empty-workspace/tar.gz/refs/heads/main
# 本地路徑安裝
dsh plugin --profile web add /絕對路徑/dsh-hide-empty-workspace
使用方式¶
插件提供多種觸發和恢復機制:
- 自動隱藏:當某個工作區的最後一個未歸檔會話被歸檔時,該工作區行自動隱藏。
- 手動隱藏:懸停任意工作區行,點擊行內「…」菜單中的「隱藏工作區」,立即生效。
- 恢復隱藏:點擊側欄底部的「已隱藏 N」按鈕,打開官方恢復對話框,逐個恢復。
- 自動恢復:當某個被隱藏的工作區重新有了未歸檔會話時,插件自動取消隱藏狀態。
安全邊界¶
插件在設計和實現上嚴格遵守安全邊界,不承擔任何破壞性操作:
- 數據安全:不歸檔、不取消歸檔、不刪除任何會話或工作區。
- 註冊安全:不改寫工作區註冊,不動用
workspaces服務或settings.yaml。 - 網絡隔離:插件不聯網,不發送任何請求。
- 寫入範圍:唯一的數據寫入操作是在瀏覽器
localStorage中記錄隱藏集合(鍵名爲dsh-hide-empty-workspace.hidden.v1)。清空該數據可恢復默認顯示。 - UI 替換:不替換官方 UI。僅在官方已渲染的行上切
display屬性,在工作區行菜單中追加選項,恢復入口使用官方Modal。若官方 UI 改版導致行標記失配,側欄底部會顯示提示信息。
結語¶
dsh-hide-empty-workspace 是一個輕量級的側邊欄清理工具。它通過“空即隱藏”的規則,幫助開發者保持側邊欄整潔,同時通過僅修改 display 屬性和限制 localStorage 寫入,保證了極高的安全性和兼容性。