dsh-2sidebar:DSH 右側欄目錄樹與文件預覽並排瀏覽

前言

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

典型用法

  1. 在有 workspace 的會話中,點擊會話頭的分欄圖標,或在右側欄起始頁選擇 Split files card。
  2. 點擊目錄名展開或摺疊;展開時會重新讀取該目錄。點擊文件則在右側(或左側,若已切換)預覽區加載內容,樹滾動與展開狀態不變。
  3. 拖動分隔條調整比例;需要更多文本時點擊 Load more。
  4. 目錄結構變化後點 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。

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

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

小夜