dsh-omni-vision:为纯文本模型提供本地视觉能力

前言

DeepSeek Harness(DSH)采用插件化架构,旨在通过模块化扩展系统能力。纯文本模型(如 DeepSeek)无法直接处理图像输入。dsh-omni-vision 是一个由 Renji004 维护的插件,它为纯文本模型提供了“本地眼睛”,允许 Agent 通过渲染、OCR 和像素分析来间接感知视觉内容。整个过程全程本地,不依赖云端视觉模型。

核心功能

插件提供四个核心工具,分别对应画、贴、读、看四个动作。

eyes_render

在 Web GUI 中渲染画布,支持文字、线条、矩形、圆形、椭圆。渲染结果会生成 PNG 文件,保存到工作区的 renders/ 目录(读取后自动删除,即“读完即焚”)以及 pics/ 目录(永久保留)。

eyes_paste

允许用户通过剪贴板粘贴图片或直接拖拽图片到浏览器界面。图片被捕获并保存为 PNG 到 renders/ 目录,供后续处理,不生成永久副本。

eyes_ocr

利用 Windows 自带的 OCR 引擎(Windows.Media.Ocr)将 PNG 图片中的文字识别并读回为文本。这是让纯文本模型“看见文字”的主要途径。

eyes_analyze

将 PNG 解码为像素数据,支持设置 N×N 的采样网格。返回颜色网格、主色直方图及内容包围盒,让模型“看见”图形和颜色分布。

安装与启用

在 DSH 的工作区目录下执行以下命令安装插件:

cd <你的工作区>
dsh plugin --profile web add link:<你的工作区>\dsh-omni-vision

安装后需要重启 Web 服务才能生效。

典型用法

以下是该插件在 DSH 工作流中的典型应用场景:

  1. OCR 识别:使用 eyes_paste 让用户粘贴一张截图,然后使用 eyes_ocr 读出里面的文字并复述。
  2. 画图识别:使用 eyes_render 画一张 800x400 的画布,写上文字 “Hello 世界 123”,设置 ocr:true,然后复述看到的文字。
  3. 流程图分析:使用 eyes_render 画一张 Mermaid 流程图(如 graph TD...),设置 ocr:true,读取节点文字。
  4. 文字复述:使用 eyes_ocr 读取 <workspace>\renders\eyes-xxx.png,逐行复述识别出的文字。
  5. 像素分析:使用 eyes_analyze 分析 <workspace>\renders\eyes-xxx.png,设置网格为 12,描述画面布局和主要颜色。

限制与注意事项

在使用前需注意以下几点限制:

  • 平台限制:仅支持 Windows。eyes_ocr 依赖 Windows 自带 OCR 引擎,其他平台无法提供“读字”能力。
  • GUI 依赖:需要浏览器 GUI 打开。eyes_render 普通渲染等待约 15 秒,Mermaid 首次渲染约 45 秒,eyes_paste 等待粘贴约 60 秒。GUI 未开时工具会报错。
  • Mermaid 加载:Mermaid 图表依赖按需加载。首次渲染时浏览器会从 CDN 获取 Mermaid 库,成功后缓存。本地未安装 Mermaid 也能使用,但首次需联网。
  • OCR 效果:识别效果依赖 Windows 语言包。对中英混排识别效果一般。
  • 文件格式:eyes_analyze 仅支持 8-bit RGB/RGBA 非交错 PNG。
  • 服务依赖:需要 attachments 服务。
  • 原生发图:DSH 输入框原生支持图片粘贴,但发图需要切换到支持图片的模型(如 dsh-vision-router)。dsh-omni-vision 提供的是本地离线读图路径,不受流控限制。

参考资料

  • 插件目录:https://www.skillhub.cn/plugins/Renji004/dsh-omni-vision
  • 源码仓库:https://github.com/Renji004/dsh-omni-vision
羽毛球分组比赛记分
小程序二维码

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

小夜