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 條目,不要另外再手動添加相同 id 的 insert 行。
  • dsh web 出現 EADDRINUSE 時,可能表示舊實例仍佔用端口,需要先停止舊進程再啓動。
  • 該插件以 Ubuntu 作爲主要驗證目標,並在安裝了 tesseract CLI 的環境中可用。
  • 已對照 dsh 0.1.2-alpha.2(master)驗證。

鏈接

GitHub:

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

目錄頁:

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

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

小夜