dsh-ocr-vision: 本地 RapidOCR 文字提取工具

前言

DeepSeek Harness(DSH)的插件生態遵循「一切皆插件」的理念。在使用純文本模型(如 DeepSeek)時,模型若需要識圖,通常會嘗試調用 read_image 工具。但在純文本路由下,後端不支持圖片輸入,read_image 會因參數不匹配而報錯。

dsh-ocr-vision 解決了這個問題。它新增了一個模型側的 ocr_image 工具,利用本地 RapidOCR 引擎將圖片中的文字提取爲純文本返回,從而讓純文本模型也能「看圖」。

核心功能

該插件提供以下能力:
* 新增模型側 ocr_image 工具。
* 通過本地 RapidOCR 進行文字提取。
* 將提取結果轉換爲純文本返回。
* 支持通過 ctx.fs 讀取圖片。
* 支持區域裁剪。

安裝與啓用

插件支持從 GitHub 直接安裝,也支持本地構建安裝。

方式一:直接安裝

使用 DSH 的 plugin 命令從 GitHub 倉庫直接安裝:

dsh plugin --profile headless add github:QEDQCD/dsh-ocr-vision

安裝後,dsh 將自動掛載 ocr_image 工具。

方式二:本地構建安裝

  1. 克隆倉庫到本地。
  2. 安裝依賴並構建:
   pnpm install && pnpm build
  1. 安裝到指定 profile:
   node scripts/install.mjs --profile headless

系統要求

在使用前,需確保宿主機滿足以下條件:
* 操作系統:Linux 或 macOS(Windows 未測試)。
* Python 版本:3.7+。
* Python 依賴:rapidocr-onnxruntime、pillow、numpy。
* DeepSeek Harness:已安裝 dsh CLI 並配置了 profile。

驗證

安裝完成後,可以通過以下方式驗證:
* 檢查配置:dsh --profile headless --dump-config | grep ocr-vision。
* 測試 OCR 腳本:python3 ocr.py <某圖片路徑>。

使用方法

模型側可以直接調用 ocr_image 工具。

基礎調用:

ocr_image(file_path: "截圖.png")

區域裁剪調用:

ocr_image(file_path: "截圖.png", region: "120,80,600,400")

工具返回的純文本格式如下:

<path>/workspace/截圖.png</path>
<type>ocr</type>
<content>
報錯碼:ERR_DB_CONN_TIMEOUT
關鍵行:Connection refused -> db.internal:5432 / retry 3/3 failed
</content>

配置項

插件支持通過 cordis 配置調整行爲:

字段 默認值 含義
pythonBin python3 運行 OCR 腳本的 Python 解釋器路徑
ocrScript 隨包 ocr.py OCR 腳本路徑
ocrCommand 空 完整命令前綴,用於覆蓋默認解釋器與腳本組合
scale 2 圖片放大倍數(默認放大以提升小字識別率)
maxImageBytes 50 MiB 經 ctx.fs 讀取的最大圖片字節
timeoutMs 60000 單次 OCR 子進程超時時間(毫秒)

限制與說明

  • 依賴要求:需要宿主機安裝 Python 及 RapidOCR 依賴,否則 ocr_image 會報錯。
  • 不支持 PDF:僅支持光柵圖片格式(如 PNG、JPEG 等),不支持 PDF 輸入。
  • 不攔截 read_image:插件僅新增 ocr_image 工具,不攔截或改寫 read_image。如果模型在純文本路由下調用 read_image,仍會收到工具拒絕的反饋。
  • 隱私安全:圖片通過 ctx.fs 讀取,僅在本地進行 OCR 處理,提取的文本返回給模型,圖片字節不會上傳至 API。

結語

dsh-ocr-vision 爲 DeepSeek Harness 中的純文本模型提供了本地化、隱私友好的圖像文字識別能力。它不改變模型處理圖片的方式,而是通過工具橋接將視覺信息轉化爲文本信息。

  • 倉庫地址:https://github.com/QEDQCD/dsh-ocr-vision
  • 插件目錄:https://www.skillhub.cn/plugins/QEDQCD/dsh-ocr-vision
羽毛球分组比赛记分
小程序二维码

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

小夜