Plugin directory / Developer / dsh-ocr-seam-guard
dsh-ocr-seam-guard
Verified · install-tested on dsh DosterBool
What it does
Self-healing guard for dsh-ocr: auto re-applies the llm-deepseek adapter OCR seam and plugin fixes wiped by dsh upgrades
Works — verified, early-stage project
Self-healing guard for dsh-ocr: auto re-applies the llm-deepseek adapter OCR seam and plugin fixes wiped by dsh upgrades 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-ocr-seam-guard
Self-healing guard for the dsh-ocr plugin on
DeepSeek Harness: automatically re-applies the
local patches that npm i -g @deepseek-ai/dsh upgrades (or a plugin re-install) wipe out.
中文说明见下方。
What it guards
The dsh-ocr plugin needs three fixes that live OUTSIDE the profile (so profile reconcile never
touches them, and a harness upgrade wipes the adapter one):
| Fix | File | Wiped by |
|---|---|---|
The ocr service seam in the official dsh-llm-deepseek adapter |
<dsh package>/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/index.js |
npm i -g @deepseek-ai/dsh upgrade |
| UTF-8 stdout enforcement for the Python OCR subprocess | <DSH_HOME>/profiles/node_modules/@deepseek-ai/dsh-ocr/lib/index.js |
plugin re-install |
rapidocr 1.2.3 API fix (text_det→text_detector, text_rec→text_recognizer) |
<DSH_HOME>/profiles/node_modules/@deepseek-ai/dsh-ocr/tools/ocr_image.py |
plugin re-install |
How it works
On every harness boot the plugin checks the three sites. A missing fix is re-applied with anchored
string replacements — every anchor must match exactly once or the whole site is skipped (never a
partial patch) — then the patched module is import-verified in a child node process. A failed
verification rolls the file back and reports the error. If the upstream code shape is unknown
(anchors drifted), the guard does nothing but log.
When a fix is (re-)applied, the running process already holds the old module — restart dsh once
more to activate.
Install
dsh plugin --profile web add github:YOURNAME/dsh-ocr-seam-guard
# or from a local clone:
dsh plugin --profile web add file:D:/path/to/dsh-ocr-seam-guard
Restart dsh. The guard logs its status on every boot:
adapter seam: ok— everything in placeadapter seam: patched— just re-applied; restart once to activateadapter seam: skipped— upstream code drifted, human review needed
Upgrade flow
npm i -g @deepseek-ai/dsh # upgrade wipes the adapter patch
restart dsh # guard auto-patches at boot (log: "restart once")
restart dsh again # patch active
Configuration
| Env var | Default | Purpose |
|---|---|---|
DSH_OCR_ADAPTER_FILE |
auto-detect (npm global root) | override the adapter file path |
The adapter is located via npm root -g with a fallback to the platform npm global directory;
only npm-global dsh installs are supported out of the box.
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-ocr-seam-guard 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:DosterBool/dsh-ocr-seam-guard Headless (CLI) profile:
dsh plugin --profile headless add github:DosterBool/dsh-ocr-seam-guard Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.