dsh-airdrop:把文件拖進 DSH,AI 就能讀

前言

在 DSH 裏做任務時,經常需要把文件交給模型:日誌、截圖、代碼、PDF、壓縮包,或一個目錄。DSH 本身是「一切皆插件」的架構,社區目錄也是獨立站點,不等同於 DeepSeek / 幻方官方應用商店。

dsh-airdrop 解決的問題很具體:在 DSH 的網頁界面裏,把文件拖進窗口,附件就能隨消息發出,AI 自動讀取文件內容。

這是什麼

dsh-airdrop 是 DSH 的一個插件,由 demacia1314 維護,許可證爲 MIT。

它面向 DSH Web 場景,支持在瀏覽器中拖入文件或文件夾,並把附件上傳到當前會話的工作區。倉庫名是 dsh-airdrop,安裝包名是 dsh-universal-attachments。

核心能力

下面這些能力是插件直接提供的:

  • 支持拖拽上傳文件/文件夾到 DSH 窗口任意位置。
  • 支持遠程上傳,字節直傳服務器會話工作區。
  • 支持任意格式附件,不按格式拒絕任何文件。
  • 發送前在瀏覽器裏直接預覽附件。
  • 附件隨消息發出,AI 自動讀取文件內容。
  • 文件只落在當前會話的工作區,會話之間互相隔離。
  • 大文件分塊上傳,網絡斷了自動續傳,網關 413 時自動調小重試,單文件上限 20 GiB。

這裏說的「任意格式」,指插件不攔截字節內容;它不代表 AI 一定能讀懂每種格式,插件也不會自己去執行或解壓你的文件。

安裝與啓用

插件要求 Node.js >=22。

安裝命令如下:

dsh plugin --profile web add dsh-universal-attachments
dsh web

安裝後需要重啓 dsh web 才能生效。當前會話需要有工作區目錄,插件把附件落到這個工作區。

注意倉庫名和安裝包名不一樣:

  • 倉庫名:dsh-airdrop
  • 安裝包名:dsh-universal-attachments

安裝包名保持不變,不要改,否則會破壞已有安裝。

遠程訪問:用 SSH 隧道

DSH 沒有內建的多用戶認證,不要直接把 DSH Web 暴露到公網。更穩的做法是讓 DSH 只監聽服務器本機,然後從本地通過 SSH 隧道訪問。

在服務器上執行:

dsh web --port 3080

在本地執行:

ssh -L 3080:127.0.0.1:3080 user@你的服務器

然後在本地瀏覽器打開:

http://127.0.0.1:3080

這樣遠程 DSH 的上傳體驗和本地使用更接近:拖入文件後,附件進入當前會話工作區,再隨消息發給 AI。

典型用法

1、先安裝插件並啓動 DSH Web:

dsh plugin --profile web add dsh-universal-attachments
dsh web

2、確認當前會話有工作區目錄。

3、在 DSH 網頁窗口裏拖入文件,或拖入整個文件夾。

4、發送前可以在瀏覽器裏預覽附件。

5、點擊發送,附件隨消息發出,AI 自動讀取文件內容。

如果是大文件,插件會分塊上傳;網絡斷開後會自動續傳;如果網關返回 413,插件會自動調小分塊重試。單文件上限是 20 GiB。

清理與注意事項

如果只想清理 dsh-airdrop 的附件文件,先停掉 DSH,然後只刪除該插件對應的會話目錄和它的元數據文件:

.dsh/uploads/.universal-attachments/<會話標識>.json

不要整個刪掉:

.dsh/uploads/

否則可能影響其他內容。

使用這個插件時,還有幾個行爲需要提前知道:

  • 瀏覽器一般不報告空目錄,所以完全空的文件夾可能不會被保留。
  • 同一會話的多個標籤頁共享一份待發送附件,誰先點發送,誰就帶走當時已傳完的文件。
  • 插件以當前 dsh 進程權限運行,安裝前應先檢查源碼和許可證。
  • 插件只負責把文件傳到當前會話工作區,不負責執行、解壓或解析所有文件內容。

鏈接

  • GitHub:https://github.com/demacia1314/dsh-airdrop
  • 插件目錄頁:https://www.skillhub.cn/plugins/demacia1314/dsh-airdrop
羽毛球分组比赛记分
小程序二维码

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

小夜