前言¶
DeepSeek Harness(DSH)內置的 Files 標籤在同一列裏交替展示目錄樹和文件預覽:點開一個文件後,預覽會佔滿該列,想換文件或對照路徑時,往往要在樹和預覽之間來回切換。若你習慣在會話右側常駐工作區文件視圖,這種單列布局會打斷瀏覽節奏。
下面介紹社區插件 dsh-2sidebar(npm 包名 dsh-2sidebar,倉庫 SyaJask/dsh-2sidebar)。它在 DSH 右側欄提供一個獨立標籤頁,把目錄樹與當前選中文件的預覽放在同一 tab 內並排顯示;點選文件只更新預覽,樹的位置與展開狀態保持不變。維護者爲 SyaJask,分類爲客戶端插件;插件目錄頁見 skillhub.cn。DSH 生態強調「一切皆插件」,社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
dsh-2sidebar 是面向 DSH Desktop 的純客戶端擴展:在瀏覽器側註冊右側欄 tab 類型、會話頭按鈕與引導卡片,通過宿主已有的 workspaceFiles 服務讀取當前會話工作區,不增加 host 路由或額外權限。包版本爲 0.1.4,README 標明仍爲早期階段;DSH 客戶端擴展點仍在演進,升級 DSH 前建議對照倉庫中的 Compatibility 說明。
與內置 Files tab 的關係:兩者可同時安裝使用。內置 tab 支持更多原生預覽格式;本插件側重樹與預覽同屏、可拖分欄、可摺疊樹,文本與常見圖片格式可內聯預覽,PDF / Office / HTML 等 intentionally 不做內聯渲染,需用 DSH 原生預覽打開。
核心功能¶
分欄佈局與狀態記憶¶
- 目錄樹與預覽區並排,中間分隔條可拖動,比例限制在 20%–70%;鬆手後比例寫入當前源下的 localStorage,同 origin 多窗口共享。
- 可將樹摺疊爲單列預覽,或恢復分欄且不丟失當前選中文件。
- 預覽區標題欄提供 Switch sides,可將樹從左換到右;默認樹在左側,選擇會被記住。
目錄樹¶
- 根目錄爲當前會話的 workspace;無工作區目錄的會話會提示無法瀏覽。
- 懶加載:展開目錄時再讀取子項;Reload 刷新根目錄及已展開層級;空目錄、截斷等狀態在界面內提示;刷新失敗但此前已成功加載時,保留上次列表。
文件預覽¶
- 文本:按頁讀取,每頁 2,000 行,底部 Load more 追加下一頁,讀完顯示 End of file,並顯示字節計數。受宿主
maxBytes(每頁 2 MiB)、maxLines(5,000)等上限約束;過大或二進制文件會按宿主規則拒絕或提示。 - 圖片:內聯預覽
png、jpg、jpeg、gif、webp、bmp、ico、avif、svg;整文件讀取受maxFileBytes(默認 32 MiB)限制。
入口與國際化¶
- 會話頭右側欄開關旁的分欄圖標;或右側欄起始頁的 Split files 引導卡片。打開後爲普通右側欄 tab,停靠、分屏、全屏行爲與其他 tab 一致。
- 界面支持中英文;樣式隨 DSH 主題。只讀、無網絡請求、無 npm 運行時依賴,渲染基於 DSH shell 基線客戶端原語。
安裝與啓用¶
環境要求¶
- DSH Desktop 且使用 managed profile(文檔在
0.2.1-rc.5上測試;package.json中engines.dsh爲>=0.2.1-rc.5 <0.3.0)。 - 需具備右側欄與客戶端插件管理器(隨 DSH 提供)。
從 npm 安裝(推薦)¶
在 PowerShell 或終端執行:
dsh plugin --profile desktop add dsh-2sidebar
desktop 爲 DSH Desktop 默認 profile 名;若你使用其他 profile 名,請替換。一般無需重啓,宿主會原地重載 profile(HMR);若已打開的 tab 仍顯示舊組件,可按 Ctrl+Shift+R 硬刷新。
也可在 DSH Web GUI:Plugins → Add plugin → 輸入 dsh-2sidebar → Install,再在 Split files bundle 上啓用。
卸載¶
GUI:Plugins → Split files bundle → Remove。
CLI:
dsh plugin --profile desktop remove dsh-2sidebar
典型用法¶
- 在有 workspace 的會話中,點擊會話頭的分欄圖標,或在右側欄起始頁選擇 Split files card。
- 點擊目錄名展開或摺疊;展開時會重新讀取該目錄。點擊文件則在右側(或左側,若已切換)預覽區加載內容,樹滾動與展開狀態不變。
- 拖動分隔條調整比例;需要更多文本時點擊 Load more。
- 目錄結構變化後點 Reload;需要更大預覽區域時使用 Hide tree;需要樹在另一側時使用預覽頭部分欄圖標 Switch sides。
若插件未出現:確認 DSH 版本與 bundle 已在 Plugins 中啓用,並在 DevTools 控制台查看 [split-files] 相關日誌。bundle 加載失敗時 DSH 其餘功能仍可用,只是 tab 與頭按鈕不會出現。
適用場景與注意¶
適合:在 DSH 會話中頻繁對照路徑與文件內容、希望右側欄樹與預覽同屏的開發者;與內置 Files 互補,而非完全替代原生多格式預覽。
注意:
- 插件以當前 DSH 進程及會話權限訪問工作區文件,能力邊界與內置文件功能一致;安裝前可在 GitHub 查看源碼與 MIT 許可證。
- DSH 處於開發者預覽,擴展 API 可能無預告變更;升級 DSH 後若插件無法加載,請對照 Compatibility 並在 issue 中提供 DSH 版本與控制台錯誤。
- 文檔禁止在正文中依賴
git clone作爲讀者安裝路徑;開發聯調可參考倉庫 README 中的 link 安裝說明,生產環境以 npm 包名爲準。
結尾¶
dsh-2sidebar 把 DSH 右側欄的文件瀏覽從「樹與預覽搶一列」改爲「同一 tab 內並排」,並記住分欄比例、樹側與摺疊狀態,適合在智能體會話里長時間掃目錄、讀片段代碼或看圖。進一步瞭解可訪問插件目錄 https://www.skillhub.cn/plugins/SyaJask/dsh-2sidebar 與 GitHub 倉庫 https://github.com/SyaJask/dsh-2sidebar。