CraZY222123/dsh-ocr-plugin ↗★ 13

@deepseek-ai/dsh-ocr

本地 OCR 提供方,注册为 ocr 服务供适配器接缝使用。 为图片提供本地文字识别,适合需离线 OCR 能力的用户。

套件
@deepseek-ai/dsh-ocr
相容性
待驗證
Cordis 依賴範圍
^4.0.1
版本
0.1.0
授權
MIT
最近更新
2026年8月14日

安裝

此插件尚未提供可驗證的 bundle,或相容性檢查未通過。請先閱讀倉庫說明。 閱讀完整 README ↗

配置(环境变量)

变量默认值说明
DSH_HOME~/.dshharness 数据目录
DSH_OCR_PYTHONpython3快速通道的 Python 解释器
DSH_OCR_SCRIPT包内 tools/ocr_image.py快速 OCR 脚本路径
DSH_OCR_PYTHONPATH未设置透传给 Python 子进程的 PYTHONPATH
DSH_OCR_LD_LIBRARY_PATH未设置透传 LD_LIBRARY_PATH(如 vendored numpy 轮子)
DSH_OCR2_BINllama-mtmd-cli深度通道二进制(不在 PATH 时给全路径)
DSH_OCR2_MODEL$DSH_HOME/models/ocr2/DeepSeek-OCR-2-IQ4_NL.gguf深度模型
DSH_OCR2_MMPROJ$DSH_HOME/models/ocr2/mmproj-deepseek-ocr-2-q8_0.gguf视觉投影 mmproj
DSH_OCR2_CACHE$DSH_HOME/attachments/ocr2-cache深度结果磁盘缓存目录
DSH_OCR2_MAX_TOKENS1200深度通道最大生成 token
DSH_OCR2_THREADS6深度推理线程数

使用(安装之后)

快速识别(默认通道,开箱即用)

  1. 打开你自己的 DSH Web 界面,新建一个会话;
  2. 把图片拖进输入框(或点附件按钮选择图片;若装了 tools/paste-image-plugin.json,也可以直接 Ctrl+V 粘贴截图);
  3. 正常发送消息,模型就能"看到"图片内容了——可以问"这张图里有什么"、"把表格转成 Markdown"、"提取发票上的字段"等。

发图后,模型实际看到的是图片的 OCR 文本块(会话日志/请求体中形如):

[图片OCR 附件 screenshot.png a1b2c3d4e5f6a7b8]
[0.98] 【版面说明】各行末尾 @x,y 为文本框左上角坐标;文本已按阅读顺序重排…
[0.95] DeepSeek Harness @32,58
[0.93] | 会话 | 时长 | @70,461

深度识别(DeepSeek-OCR-2 通道,可选)

需要版面级解析(复杂表格、发票、扫描件、手写体)时,在消息文本里带上 [深度识图] 再发图即可,其余操作相同:

这张发票请提取所有字段 [深度识图]

深度通道会调用本地 DeepSeek-OCR-2 做完整版面解析,输出 [深度OCR 附件 …] 文本块,精度明显高于快速通道。

如何确认插件已生效

  • 方法一(最直观):发一张带文字的截图,模型能准确复述/理解图片内容,说明 OCR 链路已接管;
  • 方法二:查看会话日志或抓包,图片块应变成 [图片OCR 附件 …] / [深度OCR 附件 …] 文本块,而不是 image_url 直传;
  • 方法三(对照):把 cordis.patch.yml 里的 ocr-provider 行移除并重启 DSH,再发同一张图——模型会回到"只看到附件占位、读不出内容"的状态,即为插件在起作用。

使用提示

  • 支持格式:PNG / JPEG / WebP / GIF;
  • 自动缓存:同一张图片(按附件 ID)只识别一次,重复发送直接命中缓存秒回;
  • 隐私:图片字节只在本机处理,发给模型的只有 OCR 文本;只有未安装插件(无 ocr 服务)时才会回退把图片 base64 直传给 API;
  • 注意:识别出的文本较长时(快速通道上限 8000 字符、深度通道 16000 字符)会被截断,超大图片建议裁剪后再发。

使用提示

  • 支持格式:PNG / JPEG / WebP / GIF;
  • 自动缓存:同一张图片(按附件 ID)只识别一次,重复发送直接命中缓存秒回;
  • 隐私:图片字节只在本机处理,发给模型的只有 OCR 文本;只有未安装插件(无 ocr 服务)时才会回退把图片 base64 直传给 API;
  • 注意:识别出的文本较长时(快速通道上限 8000 字符、深度通道 16000 字符)会被截断,超大图片建议裁剪后再发。