dsh-img:为 DeepSeek Harness 提供图片理解与本地视觉工具

前言

DSH(DeepSeek Harness)采用“一切皆插件”的方式扩展能力。社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系,也不等同于官方应用商店。

对只使用纯文本模型的 agent 来说,图片通常不能直接进入上下文。如果要让模型看图、读图中文字、定位界面元素,往往需要额外接入视觉后端。dsh-img 是 DeepSeek Harness 插件,目标是给纯文本模型提供 analyze_image 图片问答、OCR 和布局理解,以及 vision_ground 目标元素定位;同时提供一组免 key 的本地像素工具。

下面介绍它的核心能力、安装方式和使用边界。

这是什么

  • 插件标识:gmleong/dsh-img
  • 定位:DeepSeek Harness 视觉插件,给纯文本模型增加图片理解能力
  • 许可证:MIT
  • 运行前提:Node.js >= 20,且已安装 dsh 本体

这个插件既可以通过视觉后端处理图片,也可以调用本地像素工具完成部分图片处理。视觉后端默认接智谱 GLM-4V-Flash,备选通义 Qwen-VL,也支持 Ollama 本地视觉模型与任意 OpenAI 兼容视觉端点。

核心能力

视觉后端工具

如果使用需要 API key 的视觉后端,key 必须注入 dsh 进程。

  • analyze_image:用于图片问答、OCR 和布局理解
  • vision_ground:用于目标元素定位

免 key 本地像素工具

以下本地像素工具无需 key:

  • vision_crop
  • vision_pixel_diff
  • vision_colors
  • vision_ocr
  • vision_trace
  • vision_extract_foreground

后端、缓存与运行环境

  • 支持 preset 单后端配置
  • 支持 backends 多后端自动回退
  • 识别结果按图片内容和问题 hash 缓存到 ~/.dsh/dsh-img-cache/
  • web 设置页可可视化修改 preset 和填写 apiKey
  • 支持 dsh --profile headless 下使用工具
  • 支持 .png .jpg .jpeg .webp .gif .bmp

安装与启用

先确认当前环境满足 Node.js >= 20,并且 dsh 本体已经可用。插件会以当前 dsh 进程权限运行,安装前建议检查源码与许可证。

安装到 web profile

下面命令把 dsh-img 安装到 ~/.dsh/profiles/web 对应的 profile:

cd ~/.dsh/profiles/web && pnpm add dsh-img --registry https://registry.npmjs.org

配置视觉后端 key

如果只使用本地像素工具,可以不配置 key。如果使用需要 API key 的视觉后端工具,需要准备对应 API key。下面以默认智谱 GLM-4V-Flash 的 ZHIPU_API_KEY 为例:

export ZHIPU_API_KEY=your-key-here

这个 key 必须注入 dsh 进程。只在当前 shell 中 export,不一定对已经运行的 dsh 进程生效。

重启 dsh web

重启后,让 dsh 进程携带 key 启动:

pkill -f "dsh web"
ZHIPU_API_KEY=your-key-here dsh web

headless profile

如果要在 dsh --profile headless 下使用,先在该 profile 安装一次:

dsh plugin --profile headless add dsh-img

之后在 dsh --profile headless 下即可使用工具。本地像素工具无需 key;识图类工具可按需使用 Ollama 本地视觉模型或 API key。

后端与配置

可以在 cordis.patch.yml 中配置后端。单后端使用 preset,多后端回退使用 backends 列表。

  • preset: ollama:使用本地 Ollama 视觉模型
  • backends:配置多后端回退链

如果使用 API key 后端,key 需要注入 dsh 进程;web 设置页也可填写 apiKey

典型用法

图片问答

经过上面的安装步骤,新建会话后,可以直接贴图进对话框,也可以对 agent 说:

用 analyze_image 看一下 ./screenshot.png 里写了什么

本地像素工具

本地像素工具无需 key。经过上面的步骤后,可在会话中按需调用 vision_cropvision_pixel_diffvision_colorsvision_ocrvision_tracevision_extract_foreground

目标元素定位

如果需要让 agent 找到图片中的某个目标元素,可让其调用 vision_ground

设置页

web 设置页可可视化修改 preset 和填写 apiKey

适用边界与注意

下面这些边界来自插件说明,选型时先看是否匹配:

  • vision_trace:不适合彩色插画、照片或有渐变的图
  • vision_extract_foreground:适合均匀背景,不适合复杂背景、纹理背景
  • vision_pixel_diff:适合同尺寸 UI 截图、设计稿还原度比对
  • vision_ocr:适合印刷体文字、屏幕截图文字;手写体、艺术字识别率可能下降

其他注意:

  • API key 必须注入 dsh 进程;本地像素工具无需 key
  • 识别结果会缓存到 ~/.dsh/dsh-img-cache/
  • 支持 .png .jpg .jpeg .webp .gif .bmp
  • README 排错提到旧版 <=0.2.3 存在双实例 bug,可用下面命令升级:
pnpm add dsh-img@latest
  • 旧会话可能被旧 bug 毒化,新建会话即可

参考链接

  • GitHub:https://github.com/gmleong/dsh-img
  • 目录页:https://www.skillhub.cn/plugins/gmleong/dsh-img

目录页为社区目录页面,不等同于官方应用商店。

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

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

小夜