New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

dsh-image

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dsh-image

DeepSeek Harness 插件:注册声明支持 image 的 provider「deepseek-vision」(显示为「多模态LLMs」),把图片先转成文字再交给纯文本的 DeepSeek;转图用的多模态 provider/model 可在设置页配置。

latest
Source
npmnpm
Version
0.3.0
Version published
Weekly downloads
13
-38.1%
Maintainers
1
Weekly downloads
 
Created
Source

dsh-image

让纯文本的 DeepSeek 也能「读图」的 DeepSeek Harness 插件。

原理

DeepSeek 官方适配器(deepseek-official/deepseek-v4-pro)只声明 text 输入,所以发图片会被「当前模型不支持图片」拦下。

本插件注册一个对外声明支持 image 的新 provider,在选择器里显示为 「多模态LLMs」:

字段值
providerdeepseek-vision
modeldeepseek-v4-pro-vision
显示名多模态LLMs

当请求消息里含图片时,它会:

  • 先用用户配置的多模态模型(默认 Moonshot moonshotai/kimi-k2.5)把图片转成文字描述;
  • 再把这段纯文字请求转发给真正的 DeepSeek(deepseek-official/deepseek-v4-pro)。

于是 DeepSeek 适配器永远只看到文字,不会再抛「不支持图片」;图片准入检查也自然通过(这个 provider 声明了 image),read_image 读文件图同样可用。

配置(可 Tweak 的 UI)

转图所用的多模态 provider/model 不再写死在代码里,改在 Web 界面的「设置 → 多模态LLMs」页面配置:

  • Provider / Model 两个下拉框,选项来自已注册的多模态 provider(llm-pi-ai 段)及其模型;
  • 选择结果持久化在 settings.yaml 的 vision-bridge: 命名空间(热加载,保存后下一次请求即生效);
  • API Key 仍由 settings + credentials 提供(llm-pi-ai.providers.<provider>.apiKeyEnv → .credentials.yaml),本插件不接触任何密钥。

一键添加推荐 provider

页面下半部分内置了三个推荐的多模态 provider,填入 API Key 点「添加」即可(写入 llm-pi-ai.providers.<key> + 本机 credentials,随即出现在上面的 Provider 下拉框):

ProviderbaseURL模型说明
智谱 GLM (BigModel)https://open.bigmodel.cn/api/paas/v4glm-4.6v-flash(免费)/ glm-4.6v(付费)128K 上下文、视觉推理,注册拿 key 即用
阿里百炼 DashScopehttps://dashscope.aliyuncs.com/compatible-mode/v1qwen3-vl-flash / qwen3.7-plus / qwen3.8-max最便宜 VL 线,高精度 OCR;GUI 截图用 3.7-plus,难图用 3.8-max
火山豆包 (Ark)https://ark.cn-beijing.volces.com/api/v3doubao-seed-2-1-turbo-260628Ark 模型 ID 带日期后缀,短名会 404

对应的 API Key 环境变量名:ZHIPU_API_KEY / DASHSCOPE_API_KEY / ARK_API_KEY。

默认值(组合 base)为 moonshotai / kimi-k2.5,即 Moonshot 的 Kimi K2.5(支持 text + image)。

安装

作为宿主(host)插件装进你的 profile。以 web profile 为例:

dsh plugin --profile web add dsh-image

若手动安装:

  • 把本包放进 profile 的 pnpm workspace(如 ~/.dsh/profiles/web/packages/dsh-image);
  • pnpm-workspace.yaml 里加上 packages/dsh-image;
  • 在 profile 的 package.json 依赖里加 "dsh-image": "workspace:*";
  • 在 cordis.patch.yml 里插入一行:
- insert:
    - id: dsh-image
      name: dsh-image
  • cd ~/.dsh/profiles/web && pnpm install,然后重启 DSH。

客户端半部(lib/client.js + dsh.client)由 Web 组合的模块系统(dsh-client-modules)扫描 exports["./client"] 自动挂载;@deepseek-ai/schemastery 与 @deepseek-ai/dsh-settings 通过 $DSH_HOME/profiles/node_modules 的平铺回退目录解析(已在 peerDependencies 中声明)。

使用

重启后:

  • 在「设置 → 模型」里确认已配置好一个多模态 provider(如 Moonshot)并填入 API Key;
  • 到「设置 → 多模态LLMs」选择要用的 provider + model,点保存;
  • 在会话顶部的模型选择器里选 「多模态LLMs」(deepseek-vision / deepseek-v4-pro-vision),或把它设为默认模型;
  • 直接发图即可:图片会被自动转成文字交给 DeepSeek。

发布

npm publish

发布前请按需:

  • 改包名 / 加 scope(name 字段);
  • 确认 version、description、license;
  • 若改动了对 DSH 包的依赖(@deepseek-ai/schemastery、@deepseek-ai/dsh-settings),在 peerDependencies 里同步对应版本。

已知边界 / 后续

  • 图片描述是「先转文字再交给 DeepSeek」,因此对图片里精确的文字/图表细节,识别精度取决于所配置的视觉模型。
  • 转图 provider/model 下拉列表来自 llm.models 的宿主目录(排除了 deepseek-vision 自身与纯文本的 deepseek-official);是否真的支持 image 由所选 provider 决定,选到不支持图片的模型时,转图会以「图片描述失败」降级为占位文字。
  • 设置页当前只做保存/回读,不含 provider/model 列表的实时推送刷新;改动 provider 后重新打开页面即重新拉取。
  • settings 命名空间暴露机制:DSH 的 web 配置 API(settings.describe/settings.update)只对「可配置 provider 的 settingsNs + 内置白名单」开放,白名单硬编码在 shipped 的 apiproxy 包里、第三方插件无法扩展(官方注释标注为 deferred work)。本插件因此用 llm.registerConfigurableProviders() 把 vision-bridge 挂进目录来暴露它;副作用是「设置 → 模型」页会把 deepseek-vision 这一行渲染成一张「unknown family」卡片(模型页按 llm-pi-ai/llm-deepseek 两个命名空间识别编辑布局),但不影响「设置 → 多模态LLMs」页的读写。等官方支持 settings.register() 暴露后,可去掉这个目录注册。

Keywords

deepseek

FAQs

Package last updated on 15 Aug 2026

Related posts