DSH Hub

maxwell-feng/dsh-tesseract-ocr

dsh-tesseract-ocr

BundleVision2 GitHub stars· updated 2026-08-21

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-ocr

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-tesseract-ocr DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-tesseract-ocr.svg)](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 in settings.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-ocr row by itself. The package ships a bundle patch (dsh.bundle + its own cordis.patch.yml) that inserts the tesseract-ocr loader entry. Do not also add a manual - insert: row with the same id to your profile — dsh 0.1.0-rc.8 (cordis-plugin-loader 1.0.2) rejects duplicate loader entry ids and dsh web fails to boot with duplicate 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):

Related plugins