前言¶
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 工作流中的典型应用场景:
- OCR 识别:使用
eyes_paste让用户粘贴一张截图,然后使用eyes_ocr读出里面的文字并复述。 - 画图识别:使用
eyes_render画一张 800x400 的画布,写上文字 “Hello 世界 123”,设置ocr:true,然后复述看到的文字。 - 流程图分析:使用
eyes_render画一张 Mermaid 流程图(如graph TD...),设置ocr:true,读取节点文字。 - 文字复述:使用
eyes_ocr读取<workspace>\renders\eyes-xxx.png,逐行复述识别出的文字。 - 像素分析:使用
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