maxwell-feng/dsh-tesseract-ocr
dsh-tesseract-ocr
dsh-tesseract-ocr is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add @maxwell-feng/dsh-tesseract-ocrRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-tesseract-ocr)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from maxwell-feng/dsh-tesseract-ocr, cleaned of badges and images.
tesseract-ocr
DeepSeek Harness (dsh) plugin that lets text-only models accept attached images: every image is recognized locally with Tesseract OCR and only the recognized text is sent to the model API.
Privacy default: image bytes are OCR'd locally and not sent to the provider. Set passthrough: true only if you intentionally want genuine vision models to receive original image bytes.
Tested on Ubuntu (primary target); works anywhere the tesseract CLI is installed (Linux, macOS, Windows). Verified against dsh 0.1.0-rc.8.
- No configuration changes to your models — no
input: [text, image]hacks insettings.yaml. - Works with any provider/model in dsh; by default every attached image is OCR'd before the request leaves the machine.
- Vision-model passthrough is opt-in (
passthrough: true). - Fail-closed: if the plugin is not loaded, models stay text-only and image attachments are refused — nothing can silently leak. Missing attachments are replaced with a refusal text block (never left as raw
image).
Do not enable this plugin together with
windows-ocr: both would OCR the same image. Pick one per machine.
Install from npm
dsh plugin --profile web add @maxwell-feng/dsh-tesseract-ocr
(Replace web with your profile, e.g. tui.) Prebuilt and published with Sigstore provenance — no source build or allowBuilds approval needed. Installing from source (this repo) still works via the agent guide or the manual steps below.
npm install registers the
tesseract-ocrrow by itself. The package ships a bundle patch (dsh.bundle+ its owncordis.patch.yml) that inserts thetesseract-ocrloader entry. Do not also add a manual- insert:row with the same id to your profile — dsh0.1.0-rc.8(cordis-plugin-loader1.0.2) rejects duplicate loader entry ids anddsh webfails to boot withduplicate loader entry id: tesseract-ocr.
Quick install via an AI agent
Hand this repository to any AI agent, or paste the instruction below, and the agent will install and verify the plugin for you:
Please install the dsh plugin in this repository by following https://github.com/maxwell-feng/dsh-tesseract-ocr/blob/main/agents-install.md. Run every preflight check, choose an install mode, then complete the mandatory verification: attach an image to a text-only model session and confirm the model answers with the recognized text.
agents-install.md is a step-by-step guide written for
AI agents: preflight checks (including installing Tesseract and language
packs), both install modes (permanent profile patch / temporary --patch
overlay), mandatory functional verification, and troubleshooting for the
failure modes you are likely to hit. Manual install instructions are below.
Why a plugin (not a skill)
dsh skills are Markdown instruction files injected into the model context — they cannot execute code, cannot hook the request pipeline, and cannot stop an image from being serialized. This feature needs exactly that, so it is a cordis plugin that hooks two public seams of the llm service (same design as windows-ocr):
…


