dsh-workspace-file-export:在 DSH Web 裏下載已註冊工作區內的文件

前言

在 DeepSeek Harness(DSH)裏用 Web 界面瀏覽工作區文件時,預覽頁通常只能看內容,要把某個文件落到本地,往往得自己找路徑、用 shell 或別的工具拷貝。維護者 Honghe 的插件 dsh-workspace-file-export 在文檔預覽標題欄增加 Download 鏈接,通過服務端接口把文件以附件形式下載到瀏覽器,且只允許落在「已註冊工作區」 canonical 根內的普通文件。下面介紹它做什麼、怎麼裝、怎麼用,以及權限邊界上需要注意的點。

這是什麼

dsh-workspace-file-export 是 DSH 的 Web 側插件(分類:聯網工具),當前 npm 版本爲 0.1.2,許可證 MIT。倉庫說明裏寫得很直白:提供工作區文件導出(下載到本地)功能;在文檔預覽頭部添加 Download 鏈接,對應僅限已註冊工作區內的認證文件下載。

包名刻意不用含 download 的 npm 名——README 說明 npm 禁止上傳含 download 的包名,因此使用 dsh-workspace-file-export。

核心功能

經過上面的定位,可以把能力拆成 Host 與 Client 兩半(與倉庫目錄一致):

  1. Client(client.js):側邊欄打開工作區文件預覽時,標題欄 actions 區出現 Download 鏈接。
  2. Host(index.js):註冊 GET /api/workspace-download,只允許任一已註冊 workspace 的 canonical 根內的普通文件;含符號鏈接逃逸校驗。
  3. 認證柵欄:路由註冊在 connection 的認證柵欄內,未登錄的請求到不了下載接口。
  4. 範圍模型:允許範圍以已註冊工作區爲準;workspace 註冊表是項目列表而非權限邊界,HTTP 連接也沒有會話身份——插件防的是任意路徑讀取,不做「請求屬於哪個工作區」的會話綁定。

安裝與啓用

先做插件安裝(任選 README 裏的一種方式),再重啓一次 dsh web(首次安裝 bundle 後需要;之後對配置/開關的修改走熱加載)。

從 GitHub 安裝(倉庫已提交構建好的 client.js,安裝時無需構建):

dsh plugin --profile web add github:honghe/dsh-workspace-file-export

從 npm 安裝(包名 dsh-workspace-file-export):

dsh plugin --profile web add dsh-workspace-file-export

本地目錄安裝(在插件源碼目錄內執行):

dsh plugin --profile web add ./

也可以在 GUI 裏安裝:側邊欄 → 插件 → 添加插件 → 安裝第三方插件 → 填本目錄絕對路徑 → 安裝並啓用。

典型用法

  1. 在側邊欄打開工作區內任意文件(右側文檔預覽)。
  2. 點擊預覽頭部的 Download。

瀏覽器會走下載接口;若需直接調 HTTP,接口形如:

GET|HEAD /api/workspace-download?path=<絕對路徑>
狀態碼 含義
200 流式下載(Content-Disposition: attachment)
400 缺少/非法參數(path 必須是絕對路徑)
403 解析結果不在任何已註冊 workspace 的 canonical 根內
404 文件不存在或不是普通文件

適用場景與注意

適合誰:已經在 DSH Web 裏註冊工作區、需要在預覽頁一鍵把當前文件下載到本地的開發者;依賴 DSH Web profile,安裝命令均帶 --profile web。

務必知曉:

  • 插件以當前 dsh 進程權限運行;安裝前應自行查看源碼與 MIT 許可證,確認符合你的安全策略。
  • 下載能力綁定「已註冊工作區根內 + 已登錄」,但不是按「當前預覽所屬工作區」做會話級隔離;多工作區並存時,理解 README 中的邊界說明再決定是否啓用。
  • 社區目錄 SkillHub 插件頁 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係;DSH 生態本身是「一切皆插件」,第三方插件需自行評估。

結尾

dsh-workspace-file-export 把「預覽區看文件」和「認證 HTTP 下載」接在一起,步驟少、接口與狀態碼在 README 裏寫全。若要查詳情或提 Issue,見 GitHub:Honghe/dsh-workspace-file-export 與上述 SkillHub 目錄頁。

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

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

小夜