前言¶
DSH 可以通過插件擴展 Web 界面。如果你使用 DSH Web,希望快速查看當前會話工作區,並在不把文件內容讀進瀏覽器的前提下用操作系統默認應用打開文件,brickmaker/dsh-workspace-files 提供了一個較輕量的入口:在 DSH Web 的 details 右側欄顯示當前工作區文件樹。
下面從功能、安裝、用法和邊界幾個方面介紹這個插件。
這是什麼¶
dsh-workspace-files 是 brickmaker 維護的 DSH Web 插件,許可證爲 MIT。package.json 版本爲 0.1.2。
- 插件名:
dsh-workspace-files - 倉庫:
brickmaker/dsh-workspace-files - 定位:爲 DSH Web 提供當前工作區文件樹右側欄
- 許可證:MIT
dshhubcompatibility:dsh >=0.1.0-rc.5 <0.2.0,node ^22.19.0 || >=24.0.0dshhubcategories:Web UI、Workspace、Desktop- 界面:DSH Web
- DSH 兼容描述:
0.1.0-rc.5至0.1.x
DSH 仍處於開發者預覽階段,Web 插槽接口可能發生不兼容變更。
核心功能¶
dsh-workspace-files 主要做這幾件事:
- 在 DSH Web 的
details右側欄顯示當前工作區。 - 在會話右上角提供側欄開關圖標,默認不佔用右側空間。
- 文件樹按需逐層讀取,不會在啓動時遞歸掃描整個項目。
- 每層最多返回 1000 個條目,避免超大目錄產生無界響應。
- 目錄在前、文件在後,同類按名稱排序。
- 文件通過 DSH 的宿主接口打開,不在瀏覽器中讀取或預覽內容。
- 目錄讀取以當前會話記錄的工作區爲根,並校驗真實路徑;
..和越界符號鏈接不能讀取工作區外部目錄。 - 插件卸載後,路由、樣式和右欄註冊會由 Cordis 生命週期自動清理。
接口側的行爲也比較剋制:它只返回名稱、絕對路徑和文件/目錄類型,不讀取文件內容。
安裝與啓用¶
先確認本機 DSH 與 Node.js 滿足版本要求。下面的命令從 GitHub 添加該插件:
dsh plugin --profile web add github:brickmaker/dsh-workspace-files
倉庫已包含預構建的 lib/ 產物,Git 安裝不會執行安裝期構建腳本,也不需要配置 pnpm allowBuilds。正式使用時仍建議把 GitHub 安裝地址固定到版本標籤或提交 SHA。
安裝後,打開或創建一個帶工作區的會話,即可使用右側欄入口。
典型用法¶
1、打開或創建一個帶工作區的會話後,右側欄默認保持關閉。
2、點擊會話右上角的面板圖標可以打開側欄,再次點擊會關閉。
3、點擊 ▸ 或目錄名稱:加載並展開該目錄。
4、點擊文件名稱:使用操作系統默認應用打開。
5、點擊側欄右上角 ✕:關閉右側欄;之後仍可用會話右上角的面板圖標重新打開。
需要說明的是,插件會成爲 DSH details 單佔位的默認內容,因此啓用期間會遮蔽原有工具詳情面板。卸載後,路由、樣式和右欄註冊會由 Cordis 生命週期自動清理。
權限與安全邊界¶
安裝前建議先查看源碼、權限聲明和 MIT 許可證,確認它符合你的使用場景。
已覈實的權限與邊界包括:
dshhub權限聲明:filesystem爲current session workspace (read-only directory listing)。dshhub權限聲明:installScripts爲false。- 接口只返回名稱、絕對路徑和文件/目錄類型,不讀取文件內容。
- 文件通過 DSH 的宿主接口打開,不在瀏覽器中讀取或預覽內容。
- 目錄讀取以當前會話記錄的工作區爲根,並校驗真實路徑;
..和越界符號鏈接不能讀取工作區外部目錄。 - 插件會作爲 DSH 宿主側能力運行,並以當前
dsh進程權限調用宿主接口。 - DSH Web 若綁定到
0.0.0.0,其所有宿主能力都會暴露給能訪問該端口的人;請遵循 DSH 自身的網絡信任設置,不要把開發服務器直接公開到不可信網絡。
適用場景¶
這個插件適合:
- 使用 DSH Web,希望在會話中查看當前工作區目錄結構。
- 希望文件由操作系統默認應用打開,而不是在瀏覽器中預覽內容。
- 希望側欄默認關閉、按需展開,不長期佔用右側空間。
- 只接受只讀目錄列表權限,並希望保持安裝過程不執行安裝期構建腳本。
如果你正在不可信網絡上公開 DSH Web 端口,或需要更細的文件權限控制,先確認 DSH 的網絡信任設置和插件源碼邊界。
結尾¶
dsh-workspace-files 的價值比較具體:給 DSH Web 增加一個當前工作區文件樹右側欄,按需讀取、限制條目數、不讀取文件內容,並通過 DSH 宿主接口打開文件。
GitHub 倉庫:
https://github.com/brickmaker/dsh-workspace-files
插件線索給出的目錄頁:
https://www.skillhub.cn/plugins/brickmaker/dsh-workspace-files
該目錄頁 URL 來自插件線索,安裝前請以倉庫和安裝渠道信息爲準。