dsh-eye-vision:为 text-only DSH 模型提供图像理解、OCR 与 UI 分析

前言

DSH 的插件生态强调「一切皆插件」。如果主模型是 text-only,但任务中需要查看截图、识别文字或分析界面,就需要把图像交给外部多模态 API,再把结果作为文本拿回来。

下面介绍 AlloyPlane/dsh-eye-vision。它是一个 DSH 插件,面向只支持文本输入的 DeepSeek Harness 模型,通过任意 OpenAI-compatible 多模态 API 完成图像理解、OCR 和 UI 分析。

这是什么

dsh-eye-vision 的仓库维护者为 AlloyPlane,许可证为 MIT,上游 dsh-free-vision 亦为 MIT。

它的工作方式是:发送图像路径后,agent 调用 image_understand 工具,随后返回文本描述。主模型不需要直接支持图像输入。

核心功能

该插件提供以下已核实能力:

  • 提供 image_understand 工具
  • 支持任意 OpenAI-compatible 多模态 API 端点
  • 内置 qwenvolcenginesiliconflow 免费层提供商
  • 支持大图像多裁剪
  • 支持 allowed-directories 白名单(LUMA_ALLOWED_DIRS
  • 支持保存设置后免重启生效
  • 从引擎子进程剥离代理环境变量

安装

在 DSH 中添加该插件:

dsh plugin --profile web add dsh-eye-vision

添加后,插件会提供 image_understand 工具。

典型用法

下面示例用于把图像路径交给 agent。image_source 可以是本地路径、http(s) URL 或 data URI。

看图:D:/path/to/screenshot.png
OCR:D:/path/to/document.png
UI 分析:D:/path/to/design.png (task_type: ui)

task_type 支持以下取值:

auto|general|ocr|ui|debug|describe

配置与运行行为

设置文件路径为:

~/.dsh/free-vision.json

运行时有几个需要注意的点:

  • API key 只存在于设置文件或环境变量,不写入仓库
  • 图像只发送到所配置的端点
  • 代理环境变量会被刻意从引擎子进程中剥离
  • 图像支持 PNG、JPG、WebP、GIF,约 10 MB 以内
  • 若需要让引擎读取工作区中的图像,可使用 allowed-directories 白名单,对应配置项为 LUMA_ALLOWED_DIRS

适用场景与注意

适合以下场景:

  • 主模型不能直接接收图像,但需要读取截图、文档或设计图
  • 希望使用已有的 OpenAI-compatible 多模态 API,而不是绑定单一厂商
  • 需要在 DSH 会话里把图像结果转成文本描述、OCR 文本或 UI 分析

安装前请注意:插件会以当前 dsh 进程权限运行,建议先检查源码、许可证和将要配置的 API 端点。

若准备发布 fork,建议进行 gitguard 风格的 pre-push 扫描。

相关链接

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

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

Xiaoye