Introduction

The web chat interface of DeepSeek Harness (DSH) by default only supports drag-and-drop of images. For developers who need to process PDFs, configuration files, or datasets, this adds extra operational overhead. The dsh-drop-any-file plugin solves this problem by intercepting browser drag-and-drop events and allowing non-image files to be saved to the workspace of the current session.

Plugin Overview

This is a plugin maintained by Zenjibad under the MIT license. Its core feature is to enable DSH to support drag-and-drop upload of any file type and persist non-image files, making them easy for agents to read and process.

Core Features

  • Supports any file type: No longer limited to images; PDF, zip, txt, csv, bin, and other files are accepted.
  • Saved to workspace: Non-image files are saved to the workspace directory of the currently active session, where agents can read them using standard tools.
  • Image handling unchanged: Drag-and-drop operations containing only images retain their original behavior and do not interfere with built-in functionality.
  • Bypasses limits: It intercepts Composer’s image-only rejection logic and prevents error prompts from appearing.
  • Interactive feedback: A theme-aware overlay is displayed during drag-and-drop, and toast notifications are shown when saving succeeds or fails.
  • Safety limits: File names are sanitized, and file sizes are limited (maximum 80MB body / 60MB file).
  • Theme adaptation: The overlay and notification styles follow DSH’s light/dark mode.

Installation and Enablement

Install it via the command line; the plugin is persisted as a Profile bundle:

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

After installation, you must hard refresh the browser tab (Ctrl+F5) for the changes to take effect.

Example Usage

  1. Open a session in the DSH Web interface.
  2. Drag a non-image file (for example, a PDF or .txt file) onto the chat window.
  3. Follow the overlay prompt; the file will be saved to the workspace directory of the current session.

Notes

  • Environment requirements: Requires DSH version ≥ 0.1 with the Web Profile enabled.
  • Session requirement: If no session is currently open, the plugin remains idle and will not take effect.
  • File size: Files larger than 60MB will be rejected.
  • Refresh requirement: After installing or updating a client plugin, you must perform a hard refresh (Ctrl+F5); hot reload will not load the new plugin.
  • No configuration file: Plugin behavior is controlled by constants in the source code, and there is no separate configuration file.

Links

  • GitHub repository: https://github.com/Zenjibad/dsh-drop-any-file
  • Plugin directory: https://www.skillhub.cn/plugins/Zenjibad/dsh-drop-any-file