前言¶
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 工具。
方式二:本地構建安裝¶
- 克隆倉庫到本地。
- 安裝依賴並構建:
pnpm install && pnpm build
- 安裝到指定 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