前言¶
在 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 + Visionprovider 下提供可选择的视觉模型组合。 - 读取
Settings > Models中声明image输入的模型,并让每个视觉模型成为单独可选的 DeepSeek 组合。 - 纯文本请求直接发送到
deepseek-official/deepseek-v4-flash。 - 带图像的请求由 Web UI 中选择的视觉模型分析;视觉分析结果替换原始图像后再交给 DeepSeek。
- DeepSeek 负责推理、工具调用和最终回答。
- 当前进程内重复工具步骤会复用已缓存的图像分析。
- 支持通过
Settings > Models添加第三方视觉模型。 - 支持直连 OpenAI-compatible 视觉端点 fallback。
- 支持通过
DSH_VISION_USE_LEGACY、DSH_VISION_BASE_URL、DSH_VISION_MODEL、DSH_VISION_MODEL_NAME、DSH_VISION_API_KEY_ENV环境变量配置直连端点。
安装与启用¶
先确认环境满足以下条件:
- DeepSeek Harness
0.1.0-rc.5或兼容版本。 - Node.js
>=22.19.0。 - 已配置 DeepSeek API key。
Settings > Models中至少有一个声明text和image的模型,或可用直连 OpenAI-compatible 视觉端点。pnpm对dsh 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
配置密钥¶
这个组合最终会使用两类凭据:
- DeepSeek key:在
Settings > Models中按 Harness 的 provider 配置方式配置。 - 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。
典型用法¶
发起带图提问¶
经过上面的安装和配置后,按下面的步骤使用:
- 启动或重启 Web profile。
- 创建新会话。
- 选择
DeepSeek + Vision。 - 选择你要使用的视觉模型,例如
GLM-4.6V-Flash。 - 将图片粘贴或拖入 composer。
- 输入问题并发送。
纯文本消息会完全跳过视觉端点,直接走 DeepSeek。
添加第三方视觉模型¶
如果需要新增一个可被选择的视觉模型,可以在 Web UI 中维护模型配置:
- 打开
Settings > Models。 - 添加或编辑第三方 provider。
- 填写 provider ID、display name、protocol、endpoint 和 credential reference。
- 添加精确的视觉模型 ID 和 display name。
- 保存,然后打开
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