dsh-tesseract-ocr:为文本模型接入本地图片 OCR

前言

在 DeepSeek Harness(DSH)中使用文本模型时,常见的问题是:模型本身只支持文本输入,但用户仍希望把图片附加到会话中,让模型基于图片里的文字继续回答。

如果不想把图片字节直接发给模型 API,也不想修改模型输入模态,可以先做本地 OCR,再把识别出来的文本发给模型。dsh-tesseract-ocr 就是为此提供的 DSH 插件。

这是什么

dsh-tesseract-ocr 是一个 DeepSeek Harness 插件,仓库标识为 maxwell-feng/dsh-tesseract-ocr,许可证为 MIT

它的作用是:让文本模型接受附加图片。插件在本地调用 Tesseract OCR 识别图片,默认只把识别出的文本发送到模型 API。

它适合使用 DSH、希望文本模型也能处理图片附件,并且希望默认不把图片原始字节发送给模型提供商的场景。

核心功能

dsh-tesseract-ocr 提供的能力包括:

  • 让文本模型接受附加图片。
  • 使用 Tesseract OCR 在本地识别附加图片。
  • 默认只把识别出的文本发送到模型 API。
  • 默认将图片字节保留在本地,不发送给模型提供商。
  • 提供可选的视觉模型直通:passthrough: true
  • 当插件未加载时采用 fail-closed 行为,拒绝图片附件。
  • 可以与 DSH 中的 providers/models 配合使用,不要求修改模型输入模态。

安装与启用

1、准备 Tesseract

插件依赖本地 tesseract CLI。以下以 Ubuntu 为例安装 Tesseract 和简体中文语言包:

sudo apt install -y tesseract-ocr tesseract-ocr-chi-sim

安装后检查版本和可用语言:

tesseract --version
tesseract --list-langs

2、安装插件

使用 DSH 插件命令安装:

dsh plugin --profile web add dsh-tesseract-ocr

--profile web 是示例 profile,使用时可替换为你自己的 profile。

也可以从本地源码目录、本地 tarball 或 GitHub 仓库安装。已核实的安装方式包括:

dsh plugin --profile web add ./dsh-tesseract-ocr
dsh plugin --profile web add ./dsh-tesseract-ocr-0.3.2.tgz
dsh plugin --profile web add github:maxwell-feng/dsh-tesseract-ocr

注意:Git 安装拉取的是源码,而不是已经构建好的产物。该流程中 prepare 脚本会执行 tsc,在 pnpm 10 及以上版本中可能需要先允许一次构建。

3、手动加载插件

如果你不使用 npm 包安装,而是手动加载插件,可以把下面配置追加到 profile 的 cordis.patch.yml 中:

- insert:
    - id: tesseract-ocr
      name: '/home/you/tesseract-ocr/lib/index.js'
      config:
        language: eng+chi_sim
        passthrough: false

这里:

  • language: eng+chi_sim 表示同时启用英文和简体中文识别。
  • passthrough: false 表示默认不把原始图片字节发送给视觉模型,只发送 OCR 后的文本。

手动路径必须指向插件入口文件。在 Windows 上,手动路径需要使用 file:// URL;在 Linux 上也可以使用普通绝对路径。

4、使用临时 patch overlay

如果只想临时启用,不想修改 profile,可以把同样的插件行放在 overlay 文件中,然后启动 DSH:

dsh --profile web --patch /home/you/tesseract-ocr/dev.patch.yml

典型用法

安装并启用后,在 DSH 会话中附加图片时,插件会用本地 Tesseract OCR 识别图片,并默认只把识别出的文本发送给模型 API。

如果确实希望视觉模型接收原始图片字节,需要显式开启直通:

config:
  language: eng+chi_sim
  passthrough: true

如果插件没有被加载,它不会静默放行图片附件,而是拒绝图片附件。

适用场景与注意

dsh-tesseract-ocr 适合以下场景:

  • 使用 DSH 的文本模型,但希望它也能基于图片中的文字回答。
  • 希望默认保留图片字节在本地,不把原始图片发送给模型提供商。
  • 不希望修改模型 input modalities 这类模型配置。
  • 使用本地 Tesseract CLI,并且机器上已安装对应语言包。

使用前请注意:

  • 插件会以当前 DSH 进程权限运行,安装前应检查源码与许可证。
  • 不要同时启用 windows-ocr,因为两者会处理同一张图片。
  • 只选择一种加载方式:npm 包安装或手动 insert 配置,不要同时重复注册同一个插件入口。
  • npm 安装会自行注册 tesseract-ocr 条目,不要另外再手动添加相同 idinsert 行。
  • dsh web 出现 EADDRINUSE 时,可能表示旧实例仍占用端口,需要先停止旧进程再启动。
  • 该插件以 Ubuntu 作为主要验证目标,并在安装了 tesseract CLI 的环境中可用。
  • 已对照 dsh 0.1.2-alpha.2master)验证。

链接

GitHub:

https://github.com/maxwell-feng/dsh-tesseract-ocr

目录页:

https://www.skillhub.cn/plugins/maxwell-feng/dsh-tesseract-ocr
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜