dsh-vision-provider:在 DeepSeek Harness Web UI 中选择视觉模型组合

前言

在 DeepSeek Harness(DSH)的插件扩展方式中,Web UI 里的模型选择通常围绕单个模型展开。做智能体流程时,常见诉求是让 DeepSeek 负责推理、工具调用和最终回答,同时用外部视觉模型处理图像输入。dsh-vision-provider 是 DeepSeek Harness 的社区插件,由 libinyam 维护,采用 MIT 许可。它把已配置的视觉模型暴露为 DeepSeek + Vision 下的可选组合:视觉模型做图像分析,DeepSeek 继续负责最终回答。

下面介绍它的定位、核心能力、安装方式、配置项、典型用法和注意事项。

这是什么

dsh-vision-provider 是一个 DeepSeek Harness adapter。它会读取 Settings > Models 中声明了 image 输入的视觉模型,并让每个视觉模型成为 Web UI 中单独可选的 DeepSeek 组合。

这不是 DeepSeek 的原生像素输入,而是一个 two-model bridge。最终回答质量同时依赖视觉 sidecar 和 DeepSeek。视觉模型不作为最终回答模型,DeepSeek 负责推理、工具调用和最终回答。

核心功能

  • DeepSeek + Vision provider 下提供可选择的视觉模型组合。
  • 读取 Settings > Models 中声明 image 输入的模型,并让每个视觉模型成为单独可选的 DeepSeek 组合。
  • 纯文本请求直接发送到 deepseek-official/deepseek-v4-flash
  • 带图像的请求由 Web UI 中选择的视觉模型分析;视觉分析结果替换原始图像后再交给 DeepSeek。
  • DeepSeek 负责推理、工具调用和最终回答。
  • 当前进程内重复工具步骤会复用已缓存的图像分析。
  • 支持通过 Settings > Models 添加第三方视觉模型。
  • 支持直连 OpenAI-compatible 视觉端点 fallback。
  • 支持通过 DSH_VISION_USE_LEGACYDSH_VISION_BASE_URLDSH_VISION_MODELDSH_VISION_MODEL_NAMEDSH_VISION_API_KEY_ENV 环境变量配置直连端点。

安装与启用

先确认环境满足以下条件:

  • DeepSeek Harness 0.1.0-rc.5 或兼容版本。
  • Node.js >=22.19.0
  • 已配置 DeepSeek API key。
  • Settings > Models 中至少有一个声明 textimage 的模型,或可用直连 OpenAI-compatible 视觉端点。
  • pnpmdsh plugin 可用。

插件管理和启动始终使用同一个 DSH_HOME

如果已有 installed dsh 命令,先设置 DSH_HOME,再添加插件并启动 Web:

$env:DSH_HOME = "D:\dsh-home"

dsh plugin --profile web add github:libinyam/dsh-vision-provider
dsh web

如果从 DeepSeek Harness 源码目录运行,先设置 DSH_HOME,再通过 pnpm dsh 添加插件:

Set-Location D:\deepseek-harness
$env:DSH_HOME = "D:\dsh-home"

pnpm dsh plugin --profile web add github:libinyam/dsh-vision-provider
pnpm dsh web

配置密钥

这个组合最终会使用两类凭据:

  1. DeepSeek key:在 Settings > Models 中按 Harness 的 provider 配置方式配置。
  2. Vision key:直连 sidecar fallback 默认使用 VISION_OPENAI_API_KEY

在当前 PowerShell 窗口设置视觉 key 后启动 Web:

$env:VISION_OPENAI_API_KEY = "your-vision-api-key"
pnpm dsh web

API key 不会写入该仓库或被插件记录。插件会先向 Harness credential service 查询配置引用,再回退到启动进程环境。不要把密钥本身写入 settings.yaml

典型用法

发起带图提问

经过上面的安装和配置后,按下面的步骤使用:

  1. 启动或重启 Web profile。
  2. 创建新会话。
  3. 选择 DeepSeek + Vision
  4. 选择你要使用的视觉模型,例如 GLM-4.6V-Flash
  5. 将图片粘贴或拖入 composer。
  6. 输入问题并发送。

纯文本消息会完全跳过视觉端点,直接走 DeepSeek。

添加第三方视觉模型

如果需要新增一个可被选择的视觉模型,可以在 Web UI 中维护模型配置:

  1. 打开 Settings > Models
  2. 添加或编辑第三方 provider。
  3. 填写 provider ID、display name、protocol、endpoint 和 credential reference。
  4. 添加精确的视觉模型 ID 和 display name。
  5. 保存,然后打开 DeepSeek + Vision

插件只把声明了 image 输入能力的模型纳入视觉目录。自定义模型如果保持默认 input: [text],会被有意排除在视觉目录外。

直连 OpenAI-compatible 视觉端点

也可以不依赖 Settings > Models 中的 provider 注册,通过环境变量配置直连端点。启动 Harness 前设置直连端点变量,再启动 Web:

$env:DSH_VISION_USE_LEGACY = "your-value"
$env:DSH_VISION_BASE_URL = "your-base-url"
$env:DSH_VISION_MODEL = "your-model-id"
$env:DSH_VISION_MODEL_NAME = "your-display-name"
$env:DSH_VISION_API_KEY_ENV = "YOUR_API_KEY_ENV"
$env:YOUR_API_KEY_ENV = "your-api-key"
pnpm dsh web

这里的直连 fallback 使用 fetch 直连,不经过 Harness provider retries 或 llm/stream middleware。

升级

如果需要更新插件,可以运行:

pnpm dsh plugin --profile web update dsh-vision-provider

适用场景与注意

适合使用 DSH Web profile 的开发者:希望 DeepSeek 保持最终回答模型,同时通过可选择的视觉模型处理图像输入。

使用前注意:

  • 这是社区项目,不是 DeepSeek 或 OpenAI 官方包。
  • 这是 two-model bridge,不是 DeepSeek 原生像素输入。
  • 最终回答质量同时依赖视觉 sidecar 和 DeepSeek。
  • 视觉模型不作为最终回答模型,DeepSeek 负责最终回答。
  • 纯文本消息完全跳过视觉端点。
  • 不要删除仍希望选择其视觉模型的 provider。
  • 不要把密钥本身写入 settings.yaml
  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • DSH 社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

链接

  • 目录页:https://www.skillhub.cn/plugins/libinyam/dsh-vision-provider
  • GitHub:https://github.com/libinyam/dsh-vision-provider
羽毛球分组比赛记分
小程序二维码

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

小夜