DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-drop

d

dsh-drop

Manifest valid

Drag or paste files into the Web composer with one image-and-file preview rail; native PNG/JPEG/WebP/GIF keep the image attachment path, while other files reuse a matching local path or stream to Host

UI (client)hasBundlePatch

DSH Drop icon

DSH Drop

English · 中文

Drag or paste files into DeepSeek Harness Web. Images and files share one preview rail; your draft stays clean. File paths are appended only when you send.

CI MIT

Files in one attachment rail

Install

Requires DSH Web from the 0.1.1 train or later (verified against 0.1.1-rc.2, 0.1.2-rc.1, 0.1.2-alpha.5, 0.1.3-alpha.2, 0.1.5-rc.1, 0.1.5-rc.2, 0.1.5-alpha.1 and 0.1.5-alpha.2), pnpm on PATH and an even Node major supported by DSH (CI: 22.19 / 24). Install the prebuilt release, then restart the profile:

dsh plugin --profile web add https://github.com/Crosery/dsh-drop/releases/latest/download/dsh-drop.tgz

The tarball includes both compiled halves, so installation does not run a plugin build. For a pinned install, replace latest/download with download/v0.1.3. The repository also ships the built halves, so dsh plugin --profile web add github:crosery/dsh-drop installs with no build approval; prefer the tag-pinned tarball for reproducibility. Do not install a second copy if your local patch already mounts @crosery/dsh-drop.

dsh plugin --profile web remove @crosery/dsh-drop

Restart after removal too. Source builds and release procedure.

What happens to a file?

| Input | Delivery | Preview | | --- | --- | --- | | PNG / JPEG / WebP / GIF | Native image attachment; existing model, size and count validation | Thumbnail and image lightbox | | Other images | File reference | Image element, if the browser supports it | | Video / audio | File reference | Native browser playback, codec-dependent | | PDF | File reference | Browser PDF viewer, when available | | Markdown / code / logs / CSV / HTML | File reference | Escaped text, first 64 KiB; HTML is not executed | | Office / iWork / archives / unknown files | File reference | Filename, size and format badge; no in-page document renderer | | Folders | Skipped with a notice | No recursive upload |

A non-image file becomes an @path, not a new model content block. The model must explicitly use a file tool to read it; a large log costs only a path until then. This plugin adds no model tool. It complements DSH Viewer, which displays files from the model back to you.

  1. Drop or paste files into the page with a session open. A mixed batch keeps images on the native image path.
  2. Inspect the shared rail. Click a card to preview; remove individual entries without changing your words.
  3. Type your request and send. The model receives your words first, followed by file references. File-only messages can be sent with Enter; the native send button remains disabled without text or native images.

Text preview

Original path first, copy otherwise

A browser File does not expose its OS path. If the transfer also carries a local file:// hint, the Host compares size and modification time (2-second tolerance) and reuses a matching regular file. Unrepresentable reference paths fall back to staging. Metadata matching is a heuristic, not byte identity or a permission check.

Otherwise bytes stream into $DSH_HOME/drops/YYYY-MM-DD/. Completed copies publish without overwriting another drop, including concurrent uploads. Edits to a copied file do not update the original. For a dependable workspace reference, use the composer's @ completion. A remote agent must be able to read the Host path; this plugin does not synchronize files to remote workspaces.

Configuration

Namespace crosery-drop in $DSH_HOME/settings.yaml; settings changes apply live.

| Key | Default | Meaning | | --- | ---: | --- | | maxBytes | 536870912 (512 MiB) | Maximum bytes per staged file; must be positive. | | keepDays | 30 | Retention by date directory; 0 disables pruning. |

Cleanup runs at activation and when retention changes. It deletes expired date-named directories, including manually added contents inside them; other names and loose files are untouched. Removing a card does not delete the staged copy.

Important limits

  • Unsent non-image entries are page-local. Refresh or plugin unload loses the pending references and previews. Drop again before sending. Copies may still exist on disk; that does not restore the pending list.
  • There is no upload progress or aggregate disk quota. Wait for the card to appear before sending; large files can take time. Partial batch failures currently log to the console; a wholly failed batch shows a notice.
  • With pending files, Enter is intercepted as send (Shift+Enter and IME are excluded). Cmd/Ctrl+Enter uses ordinary delivery rather than steer; custom submit-key preferences are not honored in this path. Without pending files the native gestures are untouched.
  • If submission fails, references remain in the rewritten draft for retry rather than returning to the rail. Slash-command and queued-delivery interactions inherit the composer and need care; the plugin cannot create a generic file content block.
  • Preview objects are retained until plugin unload. Re-dropping a modified in-place path can reuse an older preview; the model reads the actual file. Browser media/HEIC/PDF support varies.
  • The single attachment slot is replaced, not added alongside other replacements. Another plugin taking that same priority can conflict. Unloading restores the shipped rail.

Security

No third-party upload service, analytics, automatic execution or archive extraction. Staging is a Host write endpoint: names are reduced to one segment, size is bounded, simple cross-site POSTs are refused, and no CORS access is granted. This is not authentication. Keep DSH loopback-only or behind authenticated access; do not expose its host authority to untrusted users. Same-origin plugins can act with the page's authority.

SVG remains inside an image element, HTML is escaped text, and PDF blobs are forced to application/pdf. Preview UI does not offer top-level blob navigation. The default retention is not secure erasure. See development and security boundaries.

Develop

npm ci
npm run typecheck
npm test
npm run build
npm run check
npm run check:dist

This repository is self-contained and uses public pinned dependencies, not a sibling checkout. AGENTS.md routes contributors to the paired development, PR, release and compatibility docs. Four workflows cover CI, deterministic PR review, gated Release and scheduled upstream drift detection.

License

MIT, including the original project icon and synthetic demo assets. Source originated in Crosery's plugin workspace; this is its standalone distribution repository.

From the same category

DSH-better-sidebar

by omdsh-dev

开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git,

UI & ExperienceTerminal & ClientsManifest valid

3.6k

73.8k/wk

MIT

TypeScript

Sep 14, 2026

dsh plugin --profile web add dsh-better-sidebar

by ccch1mneyyy

DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts, double-Esc rol

UI & ExperienceTerminal & ClientsManifest valid

3k

8k/wk

MIT

TypeScript

Sep 15, 2026

dsh plugin --profile web add @deepseek-harness-tui/dsh-tui

by MeteorNOX

DeepSeek Harness(DSH)一只住在 DSH 界面右下角的小鲸鱼娘,帮你盯着DeepSeek账户余额。QQ弹弹,支持拖拽吸附、左吸附翻转、数字滚动动画,随界面自动启用,建议直接喊来你的dsh安装

Tools & CapabilitiesUI & ExperienceManifest valid

2.4k

6.4k/wk

MIT

JavaScript

Sep 14, 2026

dsh plugin --profile web add dsh-whale-widget

by omdsh-dev

GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop ba

Tools & CapabilitiesUI & ExperienceManifest valid

452

6k/wk

MIT

TypeScript

Sep 15, 2026

dsh plugin --profile web add @changfenhuang/dsh-genui

by huiliyi37

官方 DeepSeek Harness 的交互式终端 UI 插件:自研 ANSI 极简交互渲染、流式 Markdown/工具卡、16+ 主题、slash 命令与选择器、输入历史与本地偏好持久化、LSP 诊断、memory记忆,很丝滑的开发体验。

UI & ExperienceTerminal & ClientsManifest valid

276

462/wk

Apache-2.0

TypeScript

Sep 14, 2026

dsh plugin --profile web add @huiliyi37/dsh-tianshu-tui

by Nagi-ovo

在 DSH 对话中生成交互式可视化|Render model-generated interactive cards inside DSH conversations

Tools & CapabilitiesUI & ExperienceManifest valid

260

BSD-3-Clause

TypeScript

Aug 27, 2026

dsh plugin --profile web add @dsh-external/dsh-visualize