dsh-file-upload-local
Manifest validLocal file upload: paperclip button and drag-and-drop, per-session storage under .dsh-uploads, and a read_document tool that pages text and OCRs images.
dsh-file-upload-local
A local file-upload plugin for DeepSeek Harness (dsh). Upload files straight into the conversation via a paperclip button or drag-and-drop; files are stored per-session under .dsh-uploads/<sessionId>/ inside the session workspace, and the agent reads them with the read_document tool.
Features
- Upload surface: a paperclip button in the composer's left slot, plus a full-viewport drag-and-drop overlay.
- Attachment rail: uploaded images render 64px thumbnails (click to open), other files render type glyphs with names; each tile has a hover remove button. References are appended invisibly to the sent text on Enter or the send button.
read_documenttool: pages through text files with line numbers (offset/limit), and OCRs images with tesseract.js (chi_sim+eng) so a text-only model can still read screenshots and photos.- Per-session isolation: files land in
.dsh-uploads/<sessionId>/under the session workspace; TTL sweep keeps it from growing unbounded.
Install
dsh plugin --profile web add dsh-file-upload-local
# restart dsh web
Use
- Click the paperclip button, or drag files anywhere onto the window.
- Files appear as thumbnails above the composer; remove any with its ✕ button.
- Send the message — the agent reads uploaded files with
read_document <path>(text pages, image OCR).
Configuration
- id: dsh-file-upload-local
config:
uploadMaxBytes: 26214400 # single upload body cap
uploadTtlMs: 604800000 # 7 days
sweepIntervalMs: 3600000 # TTL sweep interval
maxConcurrentUploads: 4
maxFileBytes: 26214400 # read_document read cap
readLimit: 2000 # max lines per read_document page
ocrLangs: 'chi_sim+eng' # tesseract language pack
Notes
- The OCR language pack (
chi_sim+eng) is downloaded by tesseract.js on first use; keep network access or pre-seed the cache. - Images travel through the OCR path (
read_document), so a text-only model works out of the box. If the active model supports image input, you can still use the officialread_imagetool directly.
License
MIT
Comments
Loading…
Similar plugins
by a903067276-rgb
One upload button plus drag-and-drop files into the conversation as local paths: save to project uploads/, path text into the input box, works with any vision tool
★ 11
↓ 1.2k/wk
MIT
JavaScript
Sep 25, 2026
dsh plugin --profile web add dsh-file-uploadby wszhoho
File attachments for the dsh web GUI: toolbar upload button (multi-select) plus drag-and-paste add files to the chat input; images follow the native draft-image flow, documents are saved into the sess
★ 3
MIT
JavaScript
Oct 26, 2026
dsh plugin --profile web add @wszhoho/dsh-file-attachmentby zhanghuqqqq
DSH plugin: drag & drop anything into the composer - local files upload with absolute-path references, web images/links download host-side, plain text inserts. Per-session .dropped/<sessionId>/ landin
★ 0
↓ 45/wk
MIT
JavaScript
Sep 8, 2026
dsh plugin --profile web add dsh-drop-inLocal drag-and-drop attachments for DeepSeek Harness, delivered as an external plugin
★ 0
dsh plugin --profile web add dsh-dragndrop-attachmentsby seeingrain
Upload any file to DSH, isolated per workspace and session — a composer file library with server-side thumbnails and a context menu to open, copy, re-download or delete.
★ 0
MIT
TypeScript
Sep 5, 2026
dsh plugin --profile web add dsh-upload-fileby zmm863-commits
DSH Web GUI paperclip button: a 📎 button in the composer opens a file picker (drag & drop supported) and inserts file contents into the textarea.
★ 4
↓ 382/wk
MIT
TypeScript
Oct 4, 2026
dsh plugin --profile web add dsh-paperclip