前言¶
DSH Web 的“新增工作區”需要在瀏覽器裏完成目錄選擇。通過 nginx 反代、公網域名或局域網 IP 訪問 DSH Web 時,這個選擇動作可能無法在遠程瀏覽器中正常使用。
dsh-remote-dirpicker 的作用是固定使用瀏覽器內目錄瀏覽器(browse)交互,讓遠程訪問和本機訪問使用同一套目錄選擇方式。
下面介紹它的定位、核心功能、安裝方式、典型用法,以及版本、權限和卸載注意事項。
這是什麼¶
dsh-remote-dirpicker 是一個 MIT 許可證的 DSH 插件,用於 DSH Web 的“新增工作區”目錄選擇。
它通過組合層 patch 調整 DSH 插件組合,不修改 dsh 核心代碼。具體做法是停用 directory-picker-auto,掛載 browse 宿主能力與瀏覽器界面,使目錄選擇以瀏覽器內 browse 方式呈現。
倉庫地址:
https://github.com/gfds2005/dsh-remote-dir-picker
核心功能¶
這個插件的已覈實能力包括:
- 固定使用瀏覽器內目錄瀏覽器(
browse)交互,本地與遠程表現一致。 - 遠程訪問時,點擊“新增工作區”可彈出瀏覽器內目錄瀏覽器。
- 支持瀏覽宿主文件系統,包括麪包屑導航、逐級進入。
- 支持輸入絕對路徑跳轉。
- 支持編輯路徑。
- 支持顯示 / 隱藏隱藏文件。
- 支持新建文件夾後立即進入。
- 本機訪問同樣使用瀏覽器內目錄瀏覽器,不再彈出原生對話框。
- 通過
host.listDirectory/host.createDirectoryRPC 提供目錄列表與新建文件夾。 - 宿主半邊在啓動時檢查
directoryPicker能力爲browse,並打印確認信息。
安裝與啓用¶
安裝前先確認目標 DSH 環境已經可以運行 dsh 命令。下面示例使用 web profile。
從 npm 安裝¶
dsh plugin --profile web add dsh-remote-dirpicker
從源碼安裝¶
dsh plugin --profile web add /絕對/路徑/dsh-remote-dirpicker
安裝後檢查¶
安裝後,dsh.profile.bundles 會追加 dsh-remote-dirpicker 一行。
bundle 組合變更在啓動時讀取,所以安裝後必須重啓 dsh web。
典型用法¶
經過上面的安裝和重啓後,可以按下面的步驟使用:
- 打開 DSH Web,進入工作區選擇。
- 點擊“新增工作區”。
- 在瀏覽器內目錄瀏覽器中瀏覽目錄、輸入絕對路徑、編輯路徑、新建文件夾。
- 點擊“打開”創建工作區。
驗證¶
安裝並重啓 dsh web 後,可檢查以下兩項:
- boot manifest 包含:
@deepseek-ai/dsh-client-ui-directory-picker-browse
- browse 客戶端 bundle
client.js可訪問,並返回200。
卸載¶
如果需要恢復原有行爲,執行:
dsh plugin --profile web remove dsh-remote-dirpicker
卸載後重啓 dsh web,即恢復 dsh 默認的 directory-picker-auto 行爲。
適用場景與注意¶
適用場景¶
適合通過 nginx 反代、公網域名、局域網 IP 訪問 DSH Web 的場景。
目標平臺爲 DSH Web 宿主(macOS / Linux / Windows),目錄瀏覽跨平臺。
版本信息¶
已覈實資料中的版本信息如下:
package.json中version爲:
"version": "0.1.1"
- README 版本記錄:
0.2.0已廢棄並回退至0.1.0,建議始終使用0.1.0或更高穩定版本。
依賴聲明¶
package.json 中的 peerDependencies 聲明如下:
{
"peerDependencies": {
"@deepseek-ai/dsh-client-locale": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.6",
"@deepseek-ai/dsh-client-ui-workspace": "^0.1.0-rc.6",
"@deepseek-ai/dsh-host-directory-picker-browse": "^0.1.0-rc.6",
"@deepseek-ai/cordis": "^4.0.1"
}
}
權限與安全¶
browse 能力僅通過 dsh 自身 RPC 通道暴露,遵循 dsh 現有訪問控制,不引入額外開放端口。
由於目錄瀏覽會訪問宿主文件系統,插件以當前 dsh 進程權限運行。安裝前應先檢查源碼與許可證。
結尾¶
dsh-remote-dirpicker 的價值在於把 DSH Web 的“新增工作區”目錄選擇固定到瀏覽器內,使遠程訪問和本機訪問表現一致,同時保持不修改 dsh 核心代碼的組合層方式。
GitHub:
https://github.com/gfds2005/dsh-remote-dir-picker