dsh-md-picker
Run the following command in DeepSeek Harness:
dsh plugin install shangfr/dsh-md-picker
Paste the following prompt into your AI chat to install this plugin:
Run dsh plugin install shangfr/dsh-md-picker in your DeepSeek Harness terminal to add this plugin; the source code is available at https://github.com/shangfr/dsh-md-picker .
About this plugin
The official attachment pipeline in DeepSeek Harness handles images only, yet the files people actually want to hand the agent are Word specs, PowerPoint minutes, PDF tables, and loose text notes. Pasting their content inline blows past the context window and destroys structure such as heading hierarchy, merged table cells, and nested lists. dsh-md-picker adds a single "Doc + Markdown" button beside the input box that routes three file families to the right place: images go through the native attachment rail; plain text is read as raw bytes with encoding auto-detected (BOM, UTF-8, UTF-16, GB18030, and more) and stored as UTF-8; and convertible documents (full Office suite, PDF, RTF, EPUB, ODF, CSV) are POSTed to a local server where anydoc transcodes them into high-fidelity Markdown that preserves headings, tables with merged cells, and lists. Each file contributes only a short receipt to the message path, character count, and a 120-character preview the body never enters session context, and the agent loads it on demand with standard file tools.
The plugin ships a thorough set of guardrails. A SHA-256 content fingerprint deduplicates uploads so identical files land on disk exactly once. A server-side semaphore caps concurrent anydoc processes at two, queues the rest, and returns 429 when the queue overflows. Single-file size is limited to 25 MB, file names are sanitized against path traversal, and atomic unique naming appends -1/-2 suffixes to prevent same-millisecond collisions. Creating the attachments directory auto-writes a .gitignore so it never pollutes the git working tree. Per-IP, per-route rate limits are enforced, and optional token authentication hardens LAN access. On the interaction side, files can be dropped anywhere in the input area, uploads show a live percentage, the button spins during conversion (aria-busy), bounces a green check on success or flashes a red cross on failure, and multiple files are tracked by a pending counter that resolves only when all are settled. prefers-reduced-motion disables the spin animation, and results are announced through aria-live.
If your day in DeepSeek Harness involves handing documents product specs, meeting minutes, data tables, annotated scans to the agent without letting wall-to-wall text devour the context budget, dsh-md-picker makes sharing a doc with the agent as effortless as dropping an image.
Screenshots
Use Cases
- Pass Office docs or PDFs to the agent without blowing the context window
- Feed GBK-encoded Chinese text into the agent via automatic UTF-8 conversion
- Hand product specs, meeting minutes, and data tables to the agent on demand
Best For
- DeepSeek Harness users who frequently share document-based material with the agent
- Developers dealing with multi-encoding Chinese text
- Agent users who want to minimize context usage and read attachments on demand
Related Plugins
A service-oriented sidebar framework for DSH, offering a full workbench with file explorer, embedded browser, real terminal, Git panel, and extensible plugin services.
A beautiful, practical Claude Code-style TUI plugin with pixel whale top bar, flowing glow title, real-time status line, streaming thought expansion, time rewind, context progress bar and TPS gauge — zero core changes.
The plugin market for DeepSeek Harness: browse/search/one-click install community plugins and themes, with updates, backup/restore, hot disable, diagnostics, and AI fix.
A persistent whale widget on the DSH web UI that shows DeepSeek balance, today's usage, and per-turn cost, with drag-and-snap and sound effects.