dsh-umi-ocr-vision: DeepSeek Harness 的 Umi-OCR 视觉桥接插件

DeepSeek Harness (DSH) 采用插件化架构,允许根据需求扩展功能。当主模型(如 deepseek-official)仅具备文本能力,无法直接理解图片时,dsh-umi-ocr-vision 插件作为视觉桥接层发挥作用。它利用本地运行的 Umi-OCR 工具识别图片内容,将识别出的文字作为“非可信观察数据”注入请求,从而让文本模型能够处理图片中的文字信息。

核心功能

  1. 自动 OCR 桥接:当主模型只有文本能力时,插件自动拦截聊天中的图片,交由本地 Umi-OCR 识别为文字,再将结果注入上下文。
  2. 多附件支持:支持对聊天中的多张附件分别进行 OCR 处理,并在同一次请求中提交。
  3. 数据安全:OCR 结果被标记为“非可信观察数据”。图片不会发送到任何云端服务(HTTP 模式也默认只访问本机 127.0.0.1)。
  4. 工具集支持:提供 vision_* 工具集(如 vision_ocr, vision_glance, vision_detect_text 等),允许在开发或高级配置中调用本地 OCR 能力。

安装

插件以纯 JS 形式提供,无需构建。

  1. 从本地源码目录安装:
dsh plugin --profile web add /path/to/dsh-umi-ocr-vision
  1. 或打包成 tgz 后安装:
dsh plugin --profile web add ./dsh-umi-ocr-vision-0.1.0.tgz

安装完成后,需要重启 Harness 才能使插件生效。

准备 Umi-OCR

插件依赖本地 Umi-OCR 工具。请先下载并启动 Umi-OCR,并确保其 HTTP 服务可用。

  1. 下载并启动 Umi-OCR。
  2. 在 Umi-OCR 中开启 HTTP 服务,默认监听 127.0.0.1:1224。
  3. 可选验证服务可用性:在浏览器访问 http://127.0.0.1:1224/api/ocr/get_options。

CLI 模式(可选)

如果不想开启 HTTP 服务,可以配置插件直接调用 Umi-OCR 的命令行。

在 settings.yaml 的 llm-deepseek 段落中设置:

llm-deepseek:
  umiOcrMode: cli
  umiOcrCommand: "C:/Umi-OCR/Umi-OCR.exe"

插件会先将图片写入临时目录,然后执行命令行读取结果。

配置

在 $DSH_HOME/settings.yaml 的 llm-deepseek 段落中配置 OCR 参数:

llm-deepseek:
  umiOcrBaseURL: http://127.0.0.1:1224   # Umi-OCR HTTP 地址
  umiOcrMode: http                        # http 或 cli
  umiOcrCommand: ""                       # cli 模式时填写 Umi-OCR.exe 路径
  umiOcrTimeoutMs: 120000                 # 单张图片 OCR 超时(毫秒)
  maxImages: 8                            # 单次请求最多处理图片数
  cacheEntries: 64                        # OCR 结果缓存条数
  dataFormat: text                        # 桥接和工具统一使用 Umi-OCR dict 格式以获取文本坐标
  ocrLanguage: 简体中文                    # Umi-OCR 语言/模型库(Rapid 版用 "简体中文")
  ocrCls: false                           # 是否启用方向纠正
  ocrLimitSideLen: 960                    # 图像边长限制
  tbpuParser: multi_para                  # 排版解析方案
  enableVisionTools: true                 # 是否启用 vision_* 工具集
  artifactDir: .dsh-umi-vision/artifacts  # vision_* 工具产物输出目录
  longImageMaxHeight: 4096                # 长截图分块时单块最大高度
  longImageOverlap: 80                    # 长截图分块重叠像素

也可以直接在 Harness 的「设置 → 插件 → 插件配置」中修改上述配置。

工具集

启用 enableVisionTools: true 后,插件会向 Harness 注册以下工具:

  • vision_ocr: 对图片执行 OCR,返回全文和行级坐标。
  • vision_glance: 快速查看图片,返回尺寸和可见文本。
  • vision_detect_text: 列出所有文本块及原始坐标。
  • vision_ground_text: 按文本定位元素,返回 x1,y1,x2,y2 坐标。
  • vision_crop: 裁剪图片区域并输出 PNG。
  • vision_long_screenshot_ocr: 长截图分块 OCR,合并 Markdown 并保存 manifest。
  • vision_dominant_colors: 分析主色调并返回 HEX 调色板。
  • vision_pixel_diff: 对比两张图片,返回差异百分比和差异区域。

sharp 是可选依赖。未安装时,OCR 类工具和自动桥接仍可用(自动桥接会退化为直接整图 OCR);但 vision_crop、vision_dominant_colors、vision_pixel_diff、vision_long_screenshot_ocr 等图像处理工具需要安装 sharp。

适用场景与注意

适用场景:该插件适合需要利用本地 Umi-OCR 处理截图、文档、验证码或界面文字的场景。如果图片需要理解空间关系或物体语义,建议改用真正的视觉大模型插件(如 dsh-vision)。

注意事项:
1. 权限与安全:插件以当前 DSH 进程的权限运行。安装前应检查源码与许可证(MIT)。
2. 数据可信度:OCR 结果被标记为“非可信观察数据”,图片中出现的提示词不会获得系统权限。
3. 本地运行:HTTP 模式默认只访问本机 127.0.0.1,不涉及云端传输。

链接

羽毛球分组比赛记分
小程序二维码

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

小夜