dsh-upload-file:DSH 文件庫與上傳插件

前言

DSH(DeepSeek Harness)在智能體開發中,文件管理往往依賴外部或手動維護。seeingrain/dsh-upload-file 插件將文件系統直接作爲註冊表,爲每個會話提供隔離的文件存儲空間。它通過 Paperclip 庫實現上傳、縮略圖生成與重下功能,適合需要頻繁引用文件或運行在獨立服務器上的場景。

它是什麼

這是一個名爲 seeingrain/dsh-upload-file 的 DSH 插件,由 seeingrain 維護,採用 MIT 許可證。

  • 核心定位:DSH 插件:帶 Paperclip 庫、會話隔離、縮略圖和可重新下載功能的文件上傳。
  • 解決的問題:解決 DSH 聊天中無法直接上傳文件、文件路徑難以引用以及會話間文件混雜的問題。

核心功能

  • 會話隔離:文件存儲在 <會話工作區>/.uploaded_files/<sessionId>/,工作區與會話級別雙重隔離,互不干擾。
  • 多文件上傳:支持一次選擇多個文件上傳,提供進度條顯示。
  • 文件列表與縮略圖:列表展示文件名、大小,圖片/視頻/PDF 生成縮略圖或類型圖標,最新上傳置頂。
  • @ 提及:在輸入框中使用 @UPLOAD:filename 格式提及文件,模型可直接使用。
  • 右鍵菜單:提供 6 個操作:@提及、打開(默認程序或側欄)、複製路徑/名、重新下載、刪除。
  • 安全機制:全流程 SHA-256 校驗、目錄遍歷防護、嚴格校驗 sessionId。
  • 縮略圖服務:服務端懶生成縮略圖,支持圖片/視頻/PDF,並使用不可變頭部緩存。
  • 自動命名:同會話重傳同名文件自動添加 _1、_2 等後綴。

安裝與啓用

通過 CLI 安裝插件:

dsh plugin --profile web add github:seeingrain/dsh-upload-file

安裝後,host 端需要重啓,client 端刷新頁面即可加載。

典型用法

  • 上傳文件:點擊輸入框工具欄的 📎 按鈕,選擇多個文件上傳到當前會話。
  • 引用文件:在輸入框中輸入 @UPLOAD:filename,將文件提供給模型使用。
  • 文件操作:右鍵點擊文件列表中的條目,選擇打開、複製路徑或刪除文件。
  • 服務器存儲:文件直接上傳至 DSH 服務器,用於會話內的長期參考。

適用場景與注意

  • 依賴系統工具:生成縮略圖需要系統安裝 ffmpeg(處理圖片/視頻)和 pdftoppm(處理 PDF)。缺失工具時,文件會回落爲原圖或類型徽章。
  • 文件類型支持:目前支持圖片、視頻、PDF。Office 文檔(docx/xlsx/pptx)預留接口,當前僅顯示類型徽章。SVG 文件不生成縮略圖。
  • 不可逆操作:刪除文件爲永久刪除,無回收站機制。
  • 緩存策略:縮略圖生成一次並緩存,帶有不可變頭部。

短結尾

該插件通過文件系統即註冊表的模式,爲 DSH 提供了結構化的文件管理能力。如果你需要將 DSH 作爲服務器運行,並希望模型能夠直接訪問上傳的文件,這是一個實用的選擇。

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

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

小夜