DeepSeek Harness plugin

dsh-image-to-path

Let DSH text-only-model conversations accept dragged/pasted images: save them into the session workspace and insert the file path as text, bypassing the webui attachment channel that otherwise

Jump to install

Source facts

Repository
cesaryike/dsh-image-to-path
Latest update
Aug 13, 2026
Category
Memory
GitHub stars
2
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/cesaryike/dsh-image-to-path
Plugin: dsh-image-to-path
Author: cesaryike

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README.en.mdSource · read only
README language

dsh-image-to-path

Let DSH text-only-model conversations accept images: saved to the session workspace and handed to the model as a file path.

English | 中文

!DSH !Version !License

The problem it solves

DSH WebUI sends dropped images to the model as base64 attachments, which text-only models reject outright — no matter which vision tools you have installed, images simply cannot be sent while the conversation uses a text-only model. This plugin takes over drag & drop / paste at the browser capture phase, saves the image into the current session's workspace, and inserts a file path into the composer, so the model can hand that path to any tool — including vision tools.

  • Multimodal models are untouched: the plugin probes the current model's capability — image-capable models keep the native attachment channel; only confirmed text-only models get the path-based flow;
  • Works without vision tools: only path text is sent; a notice honestly states whether the environment can view images;
  • No duplicate copies: content-addressed dedup keeps exactly one file per unique image; files already in the workspace are referenced in place.

Install

# local dev (run pnpm install first to install peer deps)
dsh plugin --profile web add /path/to/dsh-image-to-path

# from GitHub (lib/ is committed — no build authorization needed)
dsh plugin --profile web add github:cesaryike/dsh-image-to-path

# or tarball
pnpm pack && dsh plugin --profile web add ./dsh-image-to-path-0.1.0.tgz

Restart your Web Profile after installing.

Usage

Drag or paste an image into the composer: it is saved under dsh-image-to-path-uploads/ in the workspace, appears as a filename chip, and the model receives the full path on send. The directory is safe to clean at any time.

Config

FieldDefaultDescription
subdirdsh-image-to-path-uploadssave directory in the session workspace
maxImageBytes10485760per-image limit (10 MiB)
interceptUnknownModelsfalsetreat models without declared input modalities as text-only (all shipped adapters declare them; usually leave unchanged). Even when enabled, an unregistered provider or a failed capability lookup still reports image-capable (fail-open), with a warning logged by the host

Override by row id image-to-path in the profile's cordis.patch.yml.

How it works

drag/paste → does the model support images? → yes: native attachment channel (unchanged)
                                          → no (text-only): upload → magic-byte check → SHA-256 dedup → atomic write to workspace
                                          → filename chip in the composer → serialized to a full path on send → model / vision tools

Security

Magic-byte validation only, server-generated names, atomic writes, 10 MiB cap, same-origin checks; no remote requests.

License

[MIT](LICENSE)

Credits

  • cesaryike: author — product definition, direction, docs, and release;
  • DeepSeek AI (DSH agent): core engineering and fixes (see commit history).