During everyday use of the DeepSeek Harness (DSH) Web GUI, passing local files (such as screenshots, reports, or configurations) to an agent usually requires manually typing file paths. Direct copy-pasting text loses formatting and is error-prone. The dsh-screenshot-paste plugin provides screenshot and file clipboard functionality, aiming to solve this usability pain point.

What Is This

This plugin provides screenshot and file clipboard functionality for the DSH Web GUI. It supports uploading files via Ctrl+V paste, drag-and-drop, or click-to-browse, and displays files as reference chips above the input box. When sending a message, the plugin automatically appends the file path to the message content.

  • Maintainer: PdxGame
  • Positioning: A pure external plugin; it does not modify DSH source code and only uses official extension points (UI slots, API routes, agent/pre-step event).
  • License: MIT

Core Features

  • Multiple upload methods: Supports Ctrl+V paste, drag-and-drop, and click-to-browse upload (multiple files supported).
  • Wide file type support: Supports images, PDFs, Office documents, archives, audio/video, and text files.
  • Reference chips: Uploaded files are displayed as chips above the input box; image chips are clickable for preview.
  • Automatic path attachment: When sending a message, the message content automatically includes file paths.
  • Native directory selection: Supports using the system-native directoryPicker service to choose the save directory.
  • Automatic migration: When changing the save directory, files in the old directory are automatically migrated to the new directory (same-named files automatically receive a suffix and are never overwritten).
  • Automatic reference cleanup: After a source file is deleted, the corresponding reference chip disappears automatically, so no invalid path is attached.
  • Zero input-box pollution and zero persistent overhead: Does not insert any content into the input box, does not register tools or contribute prompts, and has no impact on model requests when no references are present.
  • Security restrictions: All APIs are limited to local loopback access; file names are validated to prevent path traversal.

Installation and Enablement

Prerequisites: DeepSeek Harness and its dsh command-line tool are installed, and the target profile is web.

Installation command:

dsh plugin --profile web add github:PdxGame/dsh-screenshot-paste@v0.1.1

After installation, you need to restart dsh web and force-reload the browser (Ctrl+F5) for client resources to reload.

Configuration

The plugin works out of the box, but you can specify the save directory via configuration. The configuration priority is as follows:

  1. The setting dsh-screenshot-paste.dir (configured in the DSH settings page or ~/.dsh/settings.yaml)
  2. The environment variable DSH_SCREENSHOT_DIR
  3. The default value (screenshots/ under the plugin directory, falling back to ~/.dsh/screenshots)

YAML configuration example:

# ~/.dsh/settings.yaml
dsh-screenshot-paste:
  dir: "D:\\dsh-screenshots"

Environment variable configuration example:

set DSH_SCREENSHOT_DIR=D:\dsh-screenshots

Typical Usage

  1. Open any conversation and click the 📎 button in the input box toolbar.
  2. In the clipboard panel that opens, upload a file via Ctrl+V, drag-and-drop, or click-to-browse.
  3. After the file is saved, a reference chip appears above the input box (image chips are clickable for preview).
  4. Type a message and send it; the message content automatically attaches the file path, for example:
    [附件引用]
    <插件目录>\screenshots\shot-142314.png
  1. Click the “Change” button at the bottom of the panel to use the native folder picker to change the save directory. After changing, files in the old directory are automatically migrated, and existing reference paths are updated synchronously.

Notes

  • Vision capability: The plugin does not include a vision model; configure image recognition capability yourself (for example, install claude-vision-skill).
  • Permissions and security: All APIs are limited to local loopback access.
  • Directory clearing: Reinstalling or updating the plugin clears the default save directory.
  • File validation: File names are validated to prevent path traversal attacks.
  • License: MIT.

Summary

dsh-screenshot-paste solves the cumbersome problem of interacting local files with an agent through zero input-box pollution and automatic path management. It is suitable for scenarios requiring frequent handling of local files in the DSH Web GUI.