Introduction

When using a pure text model (such as DeepSeek) in DeepSeek Harness (DSH), a common practice is to take a screenshot, manually save it to the workspace, and then type the path into the dialog. DSH’s native image attachments use the model-side multimodal channel; pure text models are intercepted by the attachment-error pre-check before sending, and Composer will prompt “The current model does not support images; switch to a model that supports images.”

DSH also does not accept non-image files such as PDFs, Office documents, archives, videos, or audio as attachments. Community plugins like dsh-drag-and-drop exist, but they insert the original path of existing files without copying, images are still sent as attachments, and pasting is not supported.

Below is an introduction to dsh-drop-to-path (maintainer loudMore, SkillHub category: Model Inference). It retains the DSH native attachment UI, converts images and files to workspace paths only when sending, allowing pure text models to read content via vision/document tools. When combined with dsh-vision-toolkit, pasting screenshots enables immediate viewing without manually typing paths.

What is This

dsh-drop-to-path is a DSH Web profile plugin (@dsh-external/dsh-drop-to-path, version 0.1.0, MIT license). In one sentence: drag-and-drop or paste images and various files, automatically upload them to the workspace when sending and append the path to the message body, so the model receives only plain text and does not trigger the image attachment pre-check.

GitHub repository: https://github.com/loudMore/dsh-drop-to-path
Community directory page: https://www.skillhub.cn/plugins/loudMore/dsh-drop-to-path

Core Features

Bypassing Image Pre-check for Pure Text Models

The plugin does not send image attachment blocks to the model. Before sending, it uploads images to <workspace>/.drops/ and appends the path to the end of the message. Thus, it does not trigger the attachment-error pre-check in dsh-host-apiproxy.

Retaining Native Attachment Experience

  • Images (png / jpg / jpeg / webp / gif, up to 30MB): Still display native attachment cards, which can be previewed and removed.
  • Other files (documents, archives, videos, audio, up to 100MB): Display a square chip with a format icon in the attachment bar; hovering reveals the full filename, and clicking ✕ removes it.

When adding files, no path text appears in the Composer; the path is only appended when sending.

Supported File Types

Type Extensions Size Limit
Images png jpg jpeg webp gif 30MB
Documents pdf doc docx xls xlsx ppt pptx txt md csv json 100MB
Archives zip 100MB
Videos mp4 mov webm mkv avi 100MB
Audio mp3 wav flac m4a 100MB

Supports pasting and dragging; images, files, and mixed batches are uploaded in order and combined into a single path text for sending. Upload failures display a visible prompt without silently swallowing the message.

Integration with dsh-vision-toolkit

dsh-vision-toolkit provides vision tools like vision_glance and vision_pixel_diff, but their input parameters are workspace file paths. This plugin handles “attachment → path,” while vision-toolkit handles “path → view image / OCR / pixel comparison.” The README recommends installing both together.

Installation and Activation

Environment requirements: DeepSeek Harness (Web profile), Node.js, dsh CLI.

Recommended installation via dsh plugin:

dsh plugin --profile web add /path/to/dsh-drop-to-path

You can also manually add dependencies to package.json, dsh.profile.bundles, and copy the directory to profiles/<name>/node_modules/@dsh-external/dsh-drop-to-path. See the repository README for details.

After installation, restart the Web profile (restart the launcher or dsh web). No additional configuration is required.

Typical Usage

  1. Paste or drag-and-drop images as usual; attachment cards can be previewed and removed;
  2. Drag-and-drop or paste PDFs, Office documents, zips, videos, audio, etc.; format squares appear in the attachment bar;
  3. Enter a message (optional), click send—no attachment blocks are sent; images and files are uploaded to .drops/, and paths are automatically appended to the message;
  4. If dsh-vision-toolkit is installed, the Agent can view images via vision tools and process documents via PDF/table tools.

Files are stored in <workspace>/.drops/ and can be cleaned up as needed.

Use Cases and Notes

Who is this for?

  • Using pure text models in DSH but frequently needing to send screenshots, PDFs, spreadsheets, videos, etc.;
  • Having installed or planning to install dsh-vision-toolkit to enable “paste and view images”;
  • Needing more complete pasting, automatic copying, and non-image file support than dsh-drag-and-drop.

Difference from dsh-drag-and-drop

dsh-drag-and-drop is suitable for referencing existing file paths in the workspace; this plugin is suitable for sending new screenshots and files, automatically copying them to the workspace. The two can be used complementarily.

Security Note

The plugin runs with the current DSH process permissions and writes files to the workspace. Before installation, please read the source code and MIT license to ensure the behavior meets expectations. SkillHub is an independent community directory with no official affiliation with DeepSeek / High-Flyer.

Conclusion

dsh-drop-to-path bridges the DSH native attachment UI with the path-based toolchain for pure text models: images retain preview experience, other files are displayed as square chips, and everything is converted to workspace paths when sending. For developers relying on dsh-vision-toolkit, it reduces the repetitive steps of “save → manually type path.”