paul-yangmy/dsh-umi-ocr-vision ↗★ 0
dsh-umi-ocr-vision
Umi-OCR vision bridge for DeepSeek Harness: when the main model is text-only, OCR images with local Umi-OCR and let the original DeepSeek model answer.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:paul-yangmy/dsh-umi-ocr-vision说明文档
阅读完整 README ↗settings.yaml 中 llm-deepseek 段落(或插件配置卡片)
llm-deepseek: umiOcrMode: cli umiOcrCommand: "C:/Umi-OCR/Umi-OCR.exe"
CLI 模式会先把图片写入临时目录,再执行:
```sh
Umi-OCR.exe --path --output
然后读取输出文件。CLI 模式需要 Umi-OCR 支持命令行调用。
配置
在 $DSH_HOME/settings.yaml 的 llm-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_crop、vision_dominant_colors、vision_pixel_diff、vision_long_screenshot_ocr等图像处理工具需要安装sharp。
开发
纯 JS 插件,无需构建:
node --check lib/index.js
node test/smoke.mjs
冒烟测试只检查插件导出契约,不要求 Umi-OCR 已运行、不需要 API Key。
License
MIT
配置
在 $DSH_HOME/settings.yaml 的 llm-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「设置 → 插件 → 插件配置」中修改同一份配置。