前言¶
DeepSeek Harness(DSH)的 Web GUI 側邊欄支持兩種會話展示方式:按工作區分組(workspace)與平鋪會話列表(flat)。默認路徑通常要經過視圖選項菜單才能切換。若你經常在多工作區與平鋪列表之間來回看會話,多幾次菜單操作會打斷節奏。下面介紹的 dsh-sidebar-toggle 是維護者 john-walks-slow 發佈的客戶端插件:用全局快捷鍵或點擊側邊欄分組標題,直接調用宿主原生 setGroupBy,與菜單切換保持同一套狀態。
這是什麼¶
dsh-sidebar-toggle 面向 DSH Web 界面,解決「側邊欄分組模式切換路徑偏長」的問題。插件不新增分組邏輯,只複用 Cordis 槽位 sidebar.workspaces 上的 WorkspaceViewStoreHandle,在 workspace 與 flat 之間來回切換。Host 側 apply 爲空實現,交互全部在瀏覽器端 lib/client.js 完成;npm 包當前版本爲 0.1.0,許可證 MIT。
核心功能¶
快捷鍵 Alt+R¶
在頁面任意位置按下 Alt+R 即可切換分組模式(workspace ↔ flat)。插件會檢測輸入法組合輸入狀態(e.isComposing || e.keyCode === 229),避免在中文等 IME 選詞時誤觸發。
點擊分組標題¶
側邊欄頂部標題(中文「會話」/「工作區」,英文 Sessions / Workspaces,對應選擇器 [class*="sectionHeader"] [class*="sectionLabel"])會顯示手型指針,懸停時透明度變爲 0.8。單擊標題文本即可切換;若標題處於隱藏態 sectionLabelHidden,則忽略點擊。
狀態與日誌¶
每次切換調用宿主 actions.setGroupBy(),並在瀏覽器控制台輸出一行日誌,例如:
[dsh-sidebar-toggle] groupBy: workspace -> flat
[dsh-sidebar-toggle] groupBy: flat -> workspace
安裝與啓用¶
推薦從 npm 安裝預構建包,無需額外改配置;自帶的 cordis.patch.yml 會自動掛載,刷新 Web 頁面即可使用:
dsh plugin --profile web add dsh-sidebar-toggle
若要從 GitHub 源碼安裝(包內含 prepare 構建,pnpm ≥ 10 首次安裝可能需要放行構建腳本):
dsh plugin --profile web add github:john-walks-slow/dsh-sidebar-toggle
# 若 pnpm 攔截構建腳本,按提示執行 pnpm approve-builds 或將 dsh-sidebar-toggle
# 加入 ~/.dsh/profiles/web/pnpm-workspace.yaml 的 allowBuilds / onlyBuiltDependencies 後重跑
典型用法¶
- 安裝並刷新 DSH Web 頁面。
- 需要平鋪看全部會話時,按
Alt+R,或點擊側邊欄「會話」/「Sessions」等分組標題。 - 需要按工作區分組時,再按一次
Alt+R或再次點擊同一標題。 - 打開開發者工具控制台,可覈對
[dsh-sidebar-toggle] groupBy: ...日誌是否與界面一致。
本地調試可將插件以 link: 接入 web profile:
dsh plugin --profile web add link:/path/to/dsh-sidebar-toggle
適用場景與注意¶
適合誰:長期在 DSH Web GUI 中管理多工作區、又需要快速在平鋪列表與分組視圖之間切換的開發者。
權限與兼容:純客戶端插件,零 npm 運行時依賴;無外部服務、無網絡請求、無本地文件讀寫、不讀取會話內容。Store 解析帶 try/catch;側邊欄未掛載或 DOM 結構變化時操作靜默空轉,不阻斷頁面。停用或熱重載時通過 ctx.effect 與 window.__dshSidebarToggle.dispose() 移除監聽與注入樣式。
安裝前建議:插件隨當前 DSH 進程與 Web 環境加載,安裝前應自行查看 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的使用習慣。DSH 社區插件目錄(SkillHub 插件頁)由社區維護,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-sidebar-toggle 把側邊欄 workspace / flat 切換收成 Alt+R 或一次標題點擊,並與宿主視圖菜單共用同一狀態。更多信息見目錄頁 skillhub.cn/plugins/john-walks-slow/dsh-sidebar-toggle 與源碼 github.com/john-walks-slow/dsh-sidebar-toggle。