paul-yangmy / dsh-umi-ocr-vision

Listed

The upstream repository does not provide a description.

masterTool View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:paul-yangmy/dsh-umi-ocr-vision

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit b22f1e0Synced Aug 17, 2026

dsh-umi-ocr-vision

DeepSeek Harness 的 Umi-OCR 视觉桥接插件。

它参考 dsh-vision 的桥接思路:当主模型只有文本能力时,自动把聊天中的图片交给本地 Umi-OCR 识别为文字,再把 OCR 结果作为“非可信视觉上下文”注入请求,最后由原来的 DeepSeek 文本模型完成回答。

Umi-OCR 是离线 OCR 工具,提供的是文字识别能力,不是完整的多模态语义理解。对于纯截图、文档、验证码、界面文字等场景非常合适;如果图片需要理解空间关系、物体语义,请改用真正的视觉大模型插件(例如 dsh-vision)。

工作原理

当前主模型图片处理方式最终回答者
支持图片原图直接发送,不经过 Umi-OCR当前模型
deepseek-official 等文本模型Umi-OCR 读取原图,OCR 文本作为非可信附件上下文注入DeepSeek
  • 插件不会替换你在界面中选择的主模型。
  • 多张聊天附件会按顺序分别 OCR,然后一起放入同一次 DeepSeek 请求。
  • OCR 结果被标记为“非可信观察数据”,图片中出现的提示词不会获得系统权限。
  • 不把图片发送到任何云端服务(HTTP 模式也默认只访问本机 127.0.0.1)。

安装

# 从本地源码目录安装(当前仓库)
dsh plugin --profile web add /path/to/dsh-umi-ocr-vision

# 或打包成 tgz 后安装
dsh plugin --profile web add ./dsh-umi-ocr-vision-0.1.0.tgz

安装后重启 Harness。

准备 Umi-OCR

  1. 下载并启动 Umi-OCR
  2. 确认 Umi-OCR 的 HTTP 服务已开启:默认监听 http://127.0.0.1:1224
    • 如果关闭了 HTTP 服务,请到 Umi-OCR「全局设置」中开启。
  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"

CLI 模式会先把图片写入临时目录,再执行:

Umi-OCR.exe --path <image> --output <result.txt>

然后读取输出文件。CLI 模式需要 Umi-OCR 支持命令行调用。

配置

$DSH_HOME/settings.yamlllm-deepseek 段落中配置(不需要重启):

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 格式以获取文本坐标;dataFormat 配置保留兼容但不再影响行为。
  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 后,插件会导出 createVisionTools,向 Harness 注册以下 vision_* 工具:

  • vision_ocr: 对图片执行 Umi-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: 对比两张图片,返回差异百分比、差异区域和可选热力图。

vision_* 工具的 artifacts 默认输出到 .dsh-umi-vision/artifacts

sharp 是可选依赖。未安装时,OCR 类工具和自动桥接仍可用(自动桥接会退化为直接整图 OCR,不做长图分块);vision_cropvision_dominant_colorsvision_pixel_diffvision_long_screenshot_ocr 等图像处理工具需要安装 sharp

开发

纯 JS 插件,无需构建:

node --check lib/index.js
node test/smoke.mjs

冒烟测试只检查插件导出契约,不要求 Umi-OCR 已运行、不需要 API Key。

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Latest release
v0.1.0
Last updated
Aug 17, 2026, 7:54 AM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.