dsh-vision:为 DeepSeek Harness 接入外挂识图模型

前言

DeepSeek Harness(DSH)默认对话模型不具备视觉能力。要在会话里「看懂」图片或屏幕,常见做法是手动把截图丢进别的识图服务,再把识别结果复制回 DSH——步骤割裂,模型也无法自主决定何时需要看图。

dsh-vision 是社区插件,由 linenxi-ctrl 维护,在 DSH 里挂接一个可自定义地址与密钥的外部视觉模型,覆盖网页选图识图、识别结果自动回传,以及 agent 自主截图与识图工具。下文按安装、配置与用法说明如何落地。

这是什么

dsh-vision(npm 包名 @linenxi-ctrl/dsh-vision,当前版本 v0.2.6)为 DSH 增加「外挂识图模型」能力:让不具备视觉能力的对话模型,通过外部视觉 API 理解图片与屏幕内容。

插件在 SkillHub 目录归类为「联网工具」,GitHub 仓库 linenxi-ctrl/dsh-vision 约 12 stars,许可证 MIT,面向 DSH 0.1.0-rc.6,支持 Windows、macOS、Linux。

核心功能

网页配置与选图识图

页面右下角会出现可拖动的 DeepSeek 鲸鱼圆形按钮。点击打开配置面板,可设置外挂识图模型的 API 地址、密钥、模型名、识图提示词(skill)、代理与超时。

面板内点「发送图片」选图后,插件先将图片发给外挂识图模型;识别完成后,识别文本自动作为消息注入当前会话,无需手动复制粘贴,DSH 再基于该文本作答。识别期间右上角会显示「外挂模型正在识图当中」。

模型自主截图与识图

插件为 agent 注入 screenshot(截屏)与 recognize_image(识图)两个工具,并注入相应提示词。模型可自行执行「截图 → 识图 → 等待结果」流程,例如用户说「看看我现在屏幕上的报错」时,由模型调用工具完成。

多协议自动适配

内置 OpenAI Chat Completions、OpenAI Responses、Anthropic Messages、Google Gemini 四种协议,protocol 默认为 auto,按 apiBase 自动探测;另有 custom 模板协议,通过 requestTemplateresponsePath 适配长尾接口。

工作原理简述

识图请求在 host(Node)侧发起,不受浏览器 CORS 限制;客户端选图走同源 POST /api/vision/recognize,同样无跨域问题。

[用户点鲸鱼按钮选图]                [模型调用工具]
      │                               │
      ▼                               ▼
  client 转 base64 发送          screenshot 工具截屏
      │                               │
      ▼                               ▼
  POST /api/vision/recognize    recognize_image 工具
      │                               │
      ▼                               ▼
  host 插件 ctx.vision 服务 ──► 协议自动适配后调用外挂识图 API
      │                               │
      ▼                               ▼
  识别文本 → 自动注入当前会话    识别文本返回给模型

安装与启用

DSH 生态奉行「一切皆插件」;SkillHub(skillhub.cn)是社区目录站点,与 DeepSeek / 幻方无官方从属关系。安装前建议浏览仓库源码并确认 MIT 许可证;插件以当前 dsh 进程权限运行,涉及截图与网络访问。

方式一:npm 安装(推荐)

需要系统已装 Node.js 18+ 与 pnpm。在 DSH 的 web profile 安装:

dsh plugin --profile web add @linenxi-ctrl/dsh-vision

安装后 DSH 会自动把 cordis.patch.yml reconcile 进 profile 的 bundle layer,一般无需手改配置文件。

若要让模型自主截图与识图,再执行 agent 工具平面配置:

node ~/.dsh/profiles/web/node_modules/@linenxi-ctrl/dsh-vision/install.mjs

方式二:手动 / 离线安装

Releases 下载 zip 解压:

  1. Windows 双击 install.bat,macOS/Linux 运行 bash install.sh
  2. 脚本检测不到 Node.js 时,会从国内镜像(npmmirror / 华为云 / 腾讯云)自动下载免安装版,无需管理员权限;
  3. 脚本自动复制插件、更新 cordis.patch.yml、创建 agent preset vision 并设为默认;
  4. 重启 DSH(关闭后重新 dsh web)。

更新与卸载

更新:先卸载旧版,再安装新版(cordis.patch.yml 与 preset 会自动重建)。

卸载:

# npm 方式先移除包
dsh plugin --profile web remove @linenxi-ctrl/dsh-vision

# 再清理 preset 与设置(任选其一)
node uninstall.mjs
# 或 Windows 双击 uninstall.bat,macOS/Linux 运行 bash uninstall.sh

配置

点页面右下角鲸鱼按钮,或直接编辑 $DSH_HOME/settings.yaml 中的 vision 段:

字段 默认值 说明
apiBase https://api.openai.com/v1 识图模型地址(按协议填到基础路径)
apiKey API 密钥
model gpt-4o-mini 模型名称
protocol auto auto / openai-chat / openai-responses / anthropic / gemini / custom
prompt 见 README 识图提示词(skill)
proxy 可选 HTTP 代理,如 http://127.0.0.1:65532
timeoutMs 60000 单次识图超时(毫秒)
requestTemplate custom:请求体 JSON 模板
responsePath custom:响应文本取路径

protocolauto 时按 apiBase 识别协议;也可手动指定。custom 协议下,requestTemplate 占位符须裸写(不带引号),支持 {{model}}{{prompt}}{{image}}{{dataUrl}}{{mime}}

典型用法

发送图片识图:打开会话后,点右下角鲸鱼按钮 → 面板点「发送图片」选图。识别完成后文本自动发回当前会话。

模型自主识图:直接对模型说「看看我现在屏幕上的报错」,模型会调用 screenshot 截图,再调用 recognize_image 识图并继续推理。

适用场景与注意

适合需要在 DSH 内看图、看屏、让 agent 自主决定何时识图的场景;外挂模型地址与密钥由用户自行配置,可对接 OpenAI、Anthropic、Gemini 或经 custom 适配的接口。

注意:

  • 模型不调用识图工具时,确认 tool.js 已加入 preset 的 agent.cordis.yml,且会话使用该 preset。
  • 截图依赖系统能力:Windows 需 PowerShell(System.Drawing);macOS 用 screencapture;Linux 需 ImageMagick import
  • 识图失败常见原因:apiKey 错误(401/403)、apiBase 与协议不匹配(404)、protocol 识别不准或 customresponsePath 有误;外网不通可在 proxy 填代理地址。

链接

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

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

小夜