DeepSeek Harness (DSH) 插件:dsh-drop-any-file

前言

DeepSeek Harness (DSH) 的 Web 聊天界面默認只支持拖拽圖片。對於需要處理 PDF、配置文件或數據集的開發者來說,這帶來了額外的操作成本。dsh-drop-any-file 插件解決了這個問題,它攔截了瀏覽器的拖拽事件,讓非圖片文件也能被保存到當前會話的工作區。

插件簡介

這是一個由 Zenjibad 維護的插件,基於 MIT 協議。它的核心功能是讓 DSH 支持任意文件類型的拖拽上傳,並將非圖片文件持久化存儲,方便智能體 Agent 讀取和處理。

核心功能

  • 支持任意文件類型:不再限制爲圖片,PDF、zip、txt、csv、bin 等文件均可接受。
  • 保存到工作區:非圖片文件會被保存到當前活躍會話的 workspace 目錄,Agent 可以通過標準工具讀取。
  • 圖片處理不變:僅包含圖片的拖拽操作保持原有行爲,不干擾內置功能。
  • 繞過限制:攔截了 Composer 的圖片-only 拒絕邏輯,防止錯誤提示彈出。
  • 交互反饋:拖拽時顯示主題化的覆蓋層,保存成功或失敗會彈出 Toast 通知。
  • 安全限制:對文件名進行清洗,並對文件大小進行限制(最大 80MB body / 60MB file)。
  • 主題適配:覆蓋層和通知樣式跟隨 DSH 的淺色/深色模式。

安裝與啓用

通過命令行安裝,插件會作爲 Profile bundle 持久化:

dsh plugin --profile web add github:Zenjibad/dsh-drop-any-file

安裝完成後,必須硬刷新瀏覽器標籤頁(Ctrl+F5)才能生效。

使用示例

  1. 在 DSH Web 界面打開一個會話。
  2. 將非圖片文件(例如 PDF 或 .txt)拖拽到聊天窗口上。
  3. 觀察覆蓋層提示,文件會被保存到當前會話的工作區目錄。

注意事項

  • 依賴環境:需要 DSH 版本 ≥ 0.1 且啓用 Web Profile。
  • 會話要求:如果當前沒有打開會話,插件處於閒置狀態,不會生效。
  • 文件大小:超過 60MB 的文件會被拒絕。
  • 刷新要求:安裝或更新客戶端插件後,必須執行硬刷新(Ctrl+F5),熱更新不會加載新插件。
  • 無配置文件:插件行爲由源碼中的常量控制,沒有獨立的配置文件。

鏈接

  • GitHub 倉庫:https://github.com/Zenjibad/dsh-drop-any-file
  • 插件目錄:https://www.skillhub.cn/plugins/Zenjibad/dsh-drop-any-file
羽毛球分组比赛记分
小程序二维码

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

小夜