DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-paste-preview

w

dsh-paste-preview

Manifest valid★ 1

DeepSeek Harness (dsh) web plugin: paste images with thumbnail previews, reroute them as file attachments for text-only models, zoomable thumbnails in sent messages

UI (client)hasBundlePatch

dsh-paste-preview

简体中文

A DeepSeek Harness (dsh) web plugin that makes pasted images usable with text-only models, without losing the visual preview.

What it does

  • Paste → thumbnail. Pasting an image into the composer shows a thumbnail in the attachment rail (click to zoom) instead of inserting a file path.
  • Text-only models still get the image. When the selected model does not accept image input, the image is re-wrapped as a plain file attachment. dsh stores it and hands the model a read-only path, so tools such as modlens_read_image can read it. Vision-capable models keep dsh's native image path.
  • Thumbnails in sent messages. Images that went through the file path render as zoomable thumbnails in the conversation history, including after a reload.
  • Drag-and-drop and images added from the file picker are rerouted the same way.

Install

dsh plugin add dsh-paste-preview

Restart dsh afterwards.

Using it together with @liustack/modlens

modlens has its own paste-to-path feature that intercepts pastes first. Turn it off in your profile's cordis.patch.yml:

- id: modlens
  config:
    pasteToPath: false

This is not shipped in the plugin's own patch on purpose: a patch that targets a missing entry id makes dsh fail at startup for anyone without modlens.

How it decides

The browser asks GET /dsh-paste-preview/verdict?model=<selector label>. The host answers takeover: true only when every model whose name or id appears in the label declares text-only input. modlens' own "(modlens vision)" wrappers are ignored so they cannot veto the model they wrap. Unknown or unresolvable models answer false, which keeps the native behaviour.

HTTP routes

RoutePurpose
GET /dsh-paste-preview/verdictWhether pastes for the current model should be rerouted
GET /dsh-paste-preview/fileReads back a stored image attachment for thumbnails (sha256 id, png/jpg/webp/gif only, ≤ 32 MB)
GET /dsh-paste-preview/debugLists providers, models and their input modalities

All routes go through dsh's connection.requestRejection check and answer 401 to unauthenticated requests. Stored files are read through the dsh attachment store, which re-verifies the name, size and digest.

Limitations

  • Sent-message thumbnails are attached to dsh's built-in file cards, which expose no public slot. The attachment reference is read from the rendered component's props. If a future dsh release changes that structure, the plain file card is shown instead; nothing breaks.
  • Right after sending, before the message is persisted, the plain card may show briefly.

Development

pnpm install
pnpm test

License

MIT

Compatibility

DSH 0.2.1-rc.2: failedDSH 0.2.1-rc.4: failedDSH 0.2.2-alpha.2: failed

Versions

Latest versionPublishedSize
0.1.0——

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 23.3k

CC0-1.0

Python

Nov 6, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.3k

CC0-1.0

Python

Nov 6, 2026

Index only — not installable

by uumit-ai

Open dsh web from your phone or another computer through a UUMit account, without running your own server or installing another program: a built-in tunnel client connects to UUMit's hosted tunnel, and

Tools & CapabilitiesDevelopment & InfrastructureTerminal & ClientsManifest valid

★ 499

↓ 268/wk

MIT

JavaScript

Oct 21, 2026

dsh plugin --profile web add @uumit-ai/dsh-uumit-remote

by Yuuyuko-uu

DSH 鱼的记忆:给会话一份会淡忘的长期记忆,每条都带时间

Development & InfrastructureMemory & ContextSessions & MessagesManifest valid

★ 491

MIT

JavaScript

Nov 4, 2026

dsh plugin --profile web add dsh-fish-memory

by SAOS-3624

Scene-aware storyboard for DeepSeek Harness: 9-16 numbered cells with timestamps + transcript + an audio envelope, packed into ONE image (384 tokens). Two tools: video_storyboard and video_zoom.

Tools & CapabilitiesVision & MultimodalDevelopment & InfrastructureManifest valid

★ 451

↓ 17k/wk

MIT

JavaScript

Nov 6, 2026

dsh plugin --profile web add dsh-video-storyboard

by woniuniuniu

DeepSeek Harness 自媒体工作台插件:一句话记灵感,一键生成脚本、封面、配图和分镜

Development & InfrastructureManifest valid

★ 358

↓ 1.2k/wk

MIT

JavaScript

Nov 6, 2026

dsh plugin --profile web add dsh-media-desk