Plugin directory / Developer / dsh-mineru-parse-plugin
dsh-mineru-parse-plugin
Verified · install-tested on dsh 83079Vermont
What it does
A self-contained DeepSeek Harness (DSH) plugin that registers a global model tool parse_docs: parse local PDF / DOCX / PPTX / XLSX / TIFF a…
Works — verified, early-stage project
A self-contained DeepSeek Harness (DSH) plugin that registers a global model tool parse_docs: parse local PDF / DOCX / PPTX / XLSX / TIFF a… 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
mineru-parse-dsh-tool
English | 锟斤拷锟斤拷锟斤拷锟斤拷
A self-contained DeepSeek Harness (DSH) plugin that registers a global model tool parse_docs: parse local PDF / DOCX / PPTX / XLSX / TIFF and image batches into Markdown with local MinerU.
Features
- Self-contained 锟斤拷 bundles its own wrapper script
assets/scripts/parse.ps1; no skill package dependency - Zero runtime dependencies 锟斤拷 Node builtins only
- Global scope 锟斤拷 mounted at the profile/host layer, available to every session
- Batched + cached 锟斤拷 multiple files in one MinerU call; fresh
<stem>.mdoutputs are reused - Sandbox-aware (Windows) 锟斤拷 fail-fast with a one-shot escalation hint when MinerU cannot run
parse_docs handles: pdf / docx / pptx / xlsx / tif / tiff / jpg / jpeg / png / bmp.
Plain text (
txt/md/json/csv/ code) should be read with the built-inreadtool, and single images withread_image锟斤拷parse_docsreturns a hint pointing to the right tool.
Requirements
DSH with a profile (tested on the
webprofile)Windows + PowerShell (the wrapper script is
.ps1)Node.js >= 18
MinerU installed 锟斤拷 the parser engine is not bundled.
parse.ps1locates it in this order:- Env var
MINERU_BAT(recommended) mineru.config.json锟斤拷 in<plugin>\assets\scripts\or~\.config\mineru\(fieldsmineruBat/venvPython)D:\MinerU\mineru.bat(if present)mineruonPATH
If none is found,
parse_docsreturnsMINERU_UNAVAILABLE.- Env var
Installation
For DSH users
# from npm
dsh plugin --profile web add mineru-parse-dsh-tool
# or from GitHub
dsh plugin --profile web add github:83079Vermont/dsh-mineru-parse-plugin
Then mount it in ~/.dsh/profiles/web/cordis.patch.yml and restart dsh web:
# - insert:
# - id: mineru-parse-tool
# name: 'mineru-parse-dsh-tool'
Local development
# copy the package into the plugins dir, then add it as a file: dependency
Copy-Item -Recurse <repo> $HOME\.dsh\plugins\mineru-parse-tool
dsh plugin --profile web add file:$HOME/.dsh/plugins/mineru-parse-tool
Usage
Model-invocable tool. Parameters:
| Param | Type | Description |
|---|---|---|
paths |
string[] |
required 锟斤拷 absolute file paths (multiple allowed, merged into one call) |
backend |
auto | hybrid-engine | pipeline | vlm-engine |
defaultauto: <10 pages 锟斤拷 pipeline, else hybrid-engine |
force |
boolean |
ignore cache and re-parse |
method |
auto | txt | ocr |
parsing method (pipeline / hybrid-engine only) |
lang |
string |
OCR language, defaultch (pipeline only) |
effort |
medium | high |
hybrid-engine effort;high enables chart analysis (slower) |
keep_images |
boolean |
keep the extractedimages/ directory |
no_formula |
boolean |
disable formula recognition (enabled by default) |
out_dir |
string |
output root; default<workspace>/.mineru-output |
timeout_ms |
number |
default600000 |
sandbox_permissions |
workspace-write | danger-full-access |
only withjustification; widens this one call |
justification |
string |
one-sentence reason, required withsandbox_permissions |
Example:
parse_docs({
paths: ["C:\\docs\\report.pdf", "C:\\docs\\fig1.png"],
backend: "auto",
});
How It Works
- Locate the script 锟斤拷
DSH_MINERU_PARSE_SCRIPTenv override, else the bundledassets/scripts/parse.ps1(resolved relative to this module) - Invoke 锟斤拷 call
parse.ps1throughctx.shell(PowerShell), passing all options through - Parse markers 锟斤拷 interpret
RESULT/CACHED/MINERU_UNAVAILABLE/MINERU_ERROR/NO_SUPPORTED_FILES/NO_MD/WARNING_EMPTY - Read output 锟斤拷 load the Markdown via
ctx.fsand return it (>2000 lines 锟斤拷 head excerpt +markdownPath, usereadfor the rest) - Output location 锟斤拷 default
<workspace>/.mineru-output(sandbox-writable, cache-friendly); passout_direxplicitly when the source directory is read-only
Sandbox & Escalation (Windows)
DSH's Windows sandbox blocks MinerU's PDF rendering in every confined mode (read-only, workspace-write): multiprocessing named pipes are denied (WinError 5), and MinerU's mkdtemp (mode 0o700) temp dirs get unusable ACLs. Parsing therefore requires an unconfined (danger-full-access) run.
parse_docs behavior:
- PDF-family inputs (pdf/docx/pptx/xlsx) under confinement fail fast with an escalation hint 锟斤拷 no doomed parse attempt
- The model retries with
sandbox_permissions+justification锟斤拷 the user approves 锟斤拷 only that call runs unconfined (fail-closed; mirror of thepwshtool) - Image-only inputs are attempted even when confined (no PDF rendering involved)
- A fresh cached
.mdnext to the source or underout_dircan be read directly withread锟斤拷 no escalation needed
Configuration
| Env var | Purpose |
|---|---|
DSH_MINERU_PARSE_SCRIPT |
absolute path to an alternativeparse.ps1; overrides the bundled script |
MINERU_BAT |
consumed byparse.ps1; absolute path to the MinerU executable |
Development
node tests/smoke.mjs # unit smoke test, no MinerU required
After restart, parse_docs should appear in the session's tool list; a real PDF/DOCX call returns Markdown, a README.md call returns the "use read" hint.
Uninstall
dsh plugin --profile web remove mineru-parse-dsh-tool
Remove the mineru-parse-tool insert entry from cordis.patch.yml, then restart dsh web.
License
MIT 锟斤拷 free to use, modify, and redistribute.
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-mineru-parse-plugin 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:83079Vermont/dsh-mineru-parse-plugin Headless (CLI) profile:
dsh plugin --profile headless add github:83079Vermont/dsh-mineru-parse-plugin Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.
When to use it
Extend the agent's coding surface — give it a new tool, workflow, or integration so it handles a dev task it couldn't before.
Who it's for
Developers who want dsh to behave like a teammate on real codebases — editing, running, and verifying changes rather than just answering.
For developers — extending it
The tool/command surface is the seam: expose more of the SDK, add smarter context wiring, or tighten the loop between code changes and verification.