DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Yezery /

Yezery/dsh-image-download

Verified

Hover-to-download buttons for images in DeepSeek Harness conversations.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@511f6b27

DSH Image Download Plugin

Adds a download button when the pointer is over an image in a DeepSeek Harness conversation.

example

Install

Install the plugin through the DeepSeek Harness client or 1024 Store by searching for the npm package name:

@zivye/dsh-img-save

Until the package is published to npm, the catalog lists this plugin browse-only; the install command appears automatically once the npm package is detected. The plugin itself ships under the name dsh-img-save in the Web profile roster (see cordis.patch.yml).

Design

  • Client-only behavior: the plugin uses the exact image URL that DSH is already rendering. It does not read local files, upload image bytes, run shell commands, or call a remote service.
  • No polling or DOM observers: pointer, scroll, and resize events drive positioning. This avoids observer feedback loops and UI freezes.
  • Preview-safe interaction: pointer/click events on the download button are stopped so clicking it does not trigger the image's built-in preview/lightbox action.
  • Local URLs: uses the browser download mechanism for file:, blob:, data:, and browser-accessible HTTP(S) image URLs. Browser security policy ultimately decides whether a particular local URL may be downloaded.

Project layout

src/
  host/index.js       # empty Host plugin; package is client-only
  client/index.js     # Cordis Client plugin source
lib/
  client.js           # esbuild ESM bundle of src/client/index.js
cordis.patch.yml      # DSH profile bundle registration snippet
esbuild.config.mjs    # bundles src/client -> lib/client (ESM, React external)
package.json
README.md
LICENSE

Development

The client entry is an ESM source file. The published package ships an esbuild bundle at lib/client.js, which the 1024 Store loads through exports["./client"]. Build the bundle locally:

npm install
npm run build

npm run check runs a syntax-only check on the source files.

Intended DSH integration

The client bundle is a Cordis plugin which registers with the queried shell.overlay slot. It requires the DSH client runtime to provide:

  • slots.inject() and slots.register();
  • the shell.overlay slot;
  • React (provided as an npm dependency) and the dynamic client builtins (document, window, requestAnimationFrame).

cordis.patch.yml mounts the plugin into the Web roster of any DSH profile that installs this package.

License

MIT. See LICENSE.

—/ 5

No ratings yet

Verified DSH bundle

Commit 511f6b27ec87

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout