前言¶
在 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