Models & Providers

dsh-ocr-seam-guard

DosterBool/dsh-ocr-seam-guard · ★ 0

DosterBool

Self-healing guard for dsh-ocr: auto re-applies the llm-deepseek adapter OCR seam and plugin fixes wiped by dsh upgrades

License
MIT
Added
2026-08-16
Maintenance
active
Install kind
github
Manifest details
Manifest status
Declared
Manifest path
package.json#dsh
Manifest checked
2026-08-19
Lifecycle scripts
None found

Static manifest checks report declarations only; they are not compatibility or security review.

安装

dsh plugin --profile web add github:DosterBool/dsh-ocr-seam-guard

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. What it guards
  2. How it works
  3. Install
  4. Upgrade flow
  5. Configuration
  6. License

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 place
  • adapter seam: patched — just re-applied; restart once to activate
  • adapter 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.