前言¶
DeepSeek Harness (DSH) 的 Web GUI 提供了會話管理和文件交付界面,但在文件訪問方面存在侷限。原生文件操作依賴桌面環境,且側邊欄文件樹僅限於會話工作區,無法瀏覽宿主機器的完整文件系統,也無法方便地下載文件或打包歸檔。dsh-file-download 插件通過擴展官方側邊欄和注入下載入口,填補了這一空白。
安裝與啓用¶
此插件依賴 DSH 0.1.5-rc.1 或更新版本,需要 Node 20+ 環境以及 Web 配置文件。
在終端中執行以下命令將插件鏈接到 Web 配置文件:
dsh plugin --profile web add /path/to/dsh-file-download
安裝命令會將插件鏈接到配置並追加到 dsh.profile.bundles。執行安裝後,需要重啓 dsh web 進程,以便在啓動時掃描客戶端列表。
如需卸載,請執行:
dsh plugin --profile web remove dsh-file-download
核心功能¶
該插件提供了一套完整的文件管理界面,主要功能包括:
- 全系統瀏覽:瀏覽整個文件系統,而不僅僅是會話工作區。支持麪包屑導航(Project 跳轉到會話工作區根目錄,Root 跳轉到根目錄
/)和路徑輸入框導航(支持 Tab/箭頭完成,Enter 確認)。 - 下載與歸檔:支持下載單個文件、文件夾(生成 ZIP)以及多選文件的批量歸檔。
- 界面擴展:通過官方側邊欄註冊(Files 選項卡)、輪次/交付文件卡片下載按鈕以及側邊欄文件樹懸停下載按鈕,提供多處入口。
- 可控上傳:提供帶覆蓋提示的文件上傳功能,並支持三種權限模式限制上傳範圍。
- 服務端渲染:瀏覽頁面採用服務端渲染,無客戶端 JavaScript,支持 Range/If-Range/ETag 斷點續傳,上傳限制爲 64 MiB。
使用方式¶
安裝並重啓服務後,打開 DSH Web GUI 右側側邊欄並選擇 Files 選項卡即可開始使用。
-
導航文件系統
- 使用頂部的麪包屑導航。點擊 Project 可跳轉到會話工作區根目錄,點擊 Root 跳轉到根目錄
/。 - 麪包屑行末尾的鉛筆圖標可打開輸入框,輸入路徑進行導航。輸入的路徑相對於當前目錄,除非以
/開頭(絕對路徑)或~開頭(宿主用戶主目錄)。輸入時支持名稱補全(Tab/箭頭鍵)。
- 使用頂部的麪包屑導航。點擊 Project 可跳轉到會話工作區根目錄,點擊 Root 跳轉到根目錄
-
查看與篩選
- 默認隱藏以
.開頭的文件。勾選「Show hidden」可顯示所有文件。 - 使用頂部的過濾框可篩選當前目錄下的條目。
- 默認隱藏以
-
文件操作
- 點擊文件夾可進入,點擊文件可使用官方預覽打開。
- 在文件樹行上懸停,或使用文件卡片上的下載按鈕,可直接下載文件或目錄(流式 ZIP)。
- 勾選文件行,底部會出現「Download selected (ZIP)」按鈕,可將選中的文件和文件夾打包爲一個 ZIP 下載。
-
上傳文件
- 在側邊欄文件樹中,通常支持上傳操作。
- 上傳時,如果目標文件已存在,瀏覽器會提示覆蓋。
權限與限制¶
上傳功能受到權限模式和文件大小的嚴格限制。
- 權限模式:插件默認使用會話的沙盒策略,但允許在瀏覽器中手動切換模式。
read-only:拒絕所有上傳。workspace-write:僅允許上傳到會話工作區。danger-full-access:允許上傳到賬號有寫權限的任何位置。
- 文件大小限制:上傳體積極限爲 64 MiB。
- 寫入安全:文本內容使用原子寫入,二進制內容通過臨時文件重命名實現寫入,確保後端能正確應用沙盒策略。
結語¶
dsh-file-download 通過官方擴展點將文件瀏覽器能力集成到 DSH Web GUI 中,解決了遠程訪問時無法保存文件和瀏覽宿主文件系統的問題。開發者可以通過側邊欄、輪次卡片等多處入口高效地管理文件。
- 插件目錄:SkillHub
- GitHub 倉庫:KaguraSayuki/dsh-file-download