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,不涉及雲端傳輸。

鏈接

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

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

小夜