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
羽毛球分组比赛记分
小程序二维码

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

小夜