Plugin directory / UI & Skins / dsh-upload-button
dsh-upload-button
Verified · install-tested on dsh victorytianyi-dev
What it does
Upload-image button plugin for DeepSeek Harness Web UI + DashScope text-to-image helper
Works — verified, early-stage project
Upload-image button plugin for DeepSeek Harness Web UI + DashScope text-to-image helper It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-upload-button
Upload-image button for the DeepSeek Harness Web GUI.
Adds an upload button beside the composer plus button: click it, pick local
images, and they enter the composer's draft-image rail as thumbnails. On send,
the images ride the standard draft-image path, so describe-image (or any other
image consumer) receives them as usual — validation, size limits, and the
thumbnail rail all come from the official conversation flow. No harness
source changes.
Also ships tools/gen-image.js, a text-to-image helper that calls the Alibaba
DashScope native image-synthesis API (wanx2.1-t2i-turbo).
Features
- Upload button on the
conversation.input.leftslot (beside the plus/command button) - Multi-select file picker (images only — the conversation draft rail is image-only today)
- Reuses the official draft-image drop path: synthetic
DataTransfer+dropevent ondocument - Zero harness changes, pure browser-side plugin
Install
# from GitHub source
dsh plugin --profile web add github:victorytianyi-dev/dsh-upload-button
# or via link (local dev)
dsh plugin --profile web add link:/path/to/dsh-upload-button
Requires DeepSeek Harness 0.1.0-rc.6+.
Usage
- After install and (re)start, open any session.
- Next to the + button in the composer there is an upload button (⬆).
- Click it, pick one or more images.
- Thumbnails appear in the draft rail; type a message and send.
How it works
The plugin registers on the official conversation.input.left slot (list,
session scope). Picking files builds a DataTransfer, then dispatches a
synthetic drop event to document — the exact path a real drag/paste takes,
so the conversation's own image intake (type checks, limits, thumbnails) runs
unchanged.
License
MIT
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-upload-button for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:victorytianyi-dev/dsh-upload-button Headless (CLI) profile:
dsh plugin --profile headless add github:victorytianyi-dev/dsh-upload-button Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.