智能体在处理文档任务时,常需要从图片或 PDF 中提取文字。直接上传云端会有隐私风险且依赖网络。本地运行 OCR 方案是更稳妥的选择。下面介绍一个在 DeepSeek Harness 中运行的本地 OCR 插件。
插件概述¶
该插件由用户 bauerelizabeth07139 维护,名称为 opencode-ppocr-mcp。它基于 PaddleOCR 3.7.0 和 PP-OCRv6 Medium 检测+识别模型,使用 ONNX Runtime 在 CPU 上进行本地推理,支持对单张图片以及多页 PDF 进行文字识别,不经过任何云端处理。
核心功能¶
- 图片识别:对单张图片执行检测与识别,直接返回文本内容。
- PDF 识别:逐页渲染并识别多页 PDF 文档。
- 纯本地推理:基于 ONNX Runtime 的 CPU 推理,无 GPU 支持。
- 隐私安全:数据完全在本地处理,不上传云端。
安装与启用¶
安装时需要指定 profile(例如 web)。
命令行安装¶
dsh plugin --profile web add bauerelizabeth07139/opencode-ppocr-mcp
Desktop 安装¶
在 DeepSeek Harness Desktop 的侧边栏打开 Plugins,选择 Add plugin,输入仓库地址 https://github.com/bauerelizabeth07139/opencode-ppocr-mcp。安装后切换启用新安装的 dsh-ppocr bundle。
典型用法¶
插件注册工具后,DSH 会自动添加 mcp__ppocr__ 命名空间。调用示例如下:
- 识别单张图片:
mcp__ppocr__ocr_image(image_path=<图片路径>)
- 识别 PDF 指定页码范围(从第 1 页开始,识别到第 5 页):
mcp__ppocr__ocr_pdf(pdf_path=<PDF路径>, start_page=1, end_page=5)
适用场景与注意¶
- 依赖环境:运行环境需安装 Python >= 3.8,并安装指定依赖包:
pip install paddlepaddle==3.0.0 paddleocr==3.7.0 onnxruntime Pillow
- 模型下载:第一次调用工具时会下载模型文件(约 170 MB),存放在
~/.paddlex/official_models/目录,首次调用可能较慢。 - 性能限制:仅支持 CPU 推理,不支持 GPU 和显示,因此不支持截图识别。
- 参数校验:
end_page参数必须传入整数,服务器不会自动类型转换。 - 凭证安全:插件支持通过环境变量传递凭证(如 API Key),但 Harness 会自动过滤名为
KEY、TOKEN、SECRET、PASSWORD等凭证形状的环境变量,防止敏感信息泄露。
结语¶
该插件通过本地 ONNX Runtime 实现了轻量级的 OCR 能力,适合对隐私敏感或网络环境受限的场景。相关文档与源码可参考插件目录或 GitHub 仓库。