NormanFxxkingRockwell / dsh-auto-vision

已收录

DeepSeek Harness 视觉桥:自动发现你已配置的多模态模型,给纯文本主模型装上 vision 工具,识别结果以纯文本返回。零配置,一条命令安装。

main工具 查看源代码

安装

npx -y @deepseek-ai/dsh plugin --profile web add github:NormanFxxkingRockwell/dsh-auto-vision

此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。

README

维护者编写的文档快照。

在 GitHub 查看 ↗
提交版本 3777d9f同步于 2026年8月18日

dsh-auto-vision

license dsh repo

给 DeepSeek Harness 里的纯文本主模型装上眼睛:自动发现你已配置的多模态模型,一条命令装上 vision 工具,图片识别结果以纯文本返回。

快速开始

本插件已发布到 npm,两种安装方式任选:

方式一:npm 安装(推荐)

dsh plugin --profile <你的profile名> add dsh-auto-vision

方式二:GitHub 源码安装(纯 JS、零构建步骤,无需构建授权)

dsh plugin --profile <你的profile名> add github:NormanFxxkingRockwell/dsh-auto-vision

装好后,直接在主对话里说:

读这张图 C:\path\to\image.jpg 描述一下

主模型会自动调用 vision 工具,把识别结果以文本形式返回给你。

要求:你的 dsh 里已经配置了至少一个声明了图片输入的多模态模型(如何声明见下文「配置」)。没有的话,插件会在启动时报错并告诉你怎么办。

它解决什么问题

dsh 内置的 read_image 会把图片块直接塞进当前模型的上下文,所以只有当当前主模型本身支持图片时才能用。像 deepseek v4 flash 这样的纯文本模型,调用 read_image 会被直接拒绝。

本插件换了一条路:由插件内部转发给一个多模态模型,主模型全程只看到文本。它把两个"本来会卡住"的场景之一的文件路径读图变成了全自动:

  • 自动隐藏 read_image:纯文本主模型的会话里会藏掉必然失败的 read_image,让模型只能走 vision,不会先撞一次失败再换路;你给它一个图片文件路径(或让模型访问某个图片文件),它就会自动调 vision 读出来。

⚠️ 关于直接粘贴图片:dsh 官方当前在「消息准入层」硬编码拒绝了纯文本模型携带图片(报错 MODEL_DOES_NOT_SUPPORT_IMAGES,发生在任何插件钩子之前,且没有公开扩展点)。因此在聊天框直接粘贴图片,目前无法自动读——请把图片保存为文件,再把文件路径给模型(这段是全自动的)。插件内部已实现"粘贴图片自动转述",等官方开放准入扩展点后可立即生效(见下「实验性」)。

你(纯文本主模型)
   │  给一个图片文件路径
   ▼
vision 工具(本插件)
   │  把图片转给多模态模型(比如 qwen3.7-plus)
   ▼
识别结果 → 纯文本返回给你

工作原理

  • 自动发现模型:默认零配置。插件启动时扫描你已配置的全部模型,自动选中第一个「声明支持图片输入」的模型来读图;你也可以手动指定(见下)。
  • 图片不进主会话:图片块只存在于插件内部的视觉请求中,你的主模型上下文里不会有任何图片,不会被污染、不会报错。
  • 走你自己的通道:识别请求走宿主自己的模型运行时(ctx.llm)——用你已配置的 key、重试策略,不需要任何额外的 API key 或服务。

配置

以下配置都是可选的,不配置也能用(自动发现)。

在 plugins 层配置(改 cordis.patch.yml 或 preset 行)

配置项说明
provider + model手动指定视觉模型(两个必须成对给出)。启动时会校验它确实支持图片,否则报错
prefer自动发现时优先尝试的 provider 顺序,例如 prefer: [bailian]
discovery: false关闭自动发现(此时必须手动指定 provider/model,否则插件报错)
autoHideReadImage: false关闭"自动隐藏 read_image"(默认开启:纯文本主模型会话藏 read_image,切多模态模型自动恢复)
transcribeImages: false关闭"粘贴图片自动转述"(实验性:受宿主准入限制,当前实际不生效,等官方开放后自动启用)

示例:

# 在你的 profile 的 cordis.patch.yml 里覆盖插件配置
- id: dsh-auto-vision
  config:
    provider: bailian
    model: qwen3.7-plus

给模型声明图片输入

自动发现靠的是「模型声明了 image 模态」。在 settings.yaml 里给支持图片的模型声明:

providers:
  bailian:
    models:
      - id: qwen3.7-plus
        name: Qwen3.7-Plus
        contextWindow: 100000
        input: [text, image]

功能与兼容性

  • 工具名 vision,参数:file_path(必填,支持 PNG / JPEG / WebP / GIF)、instruction(可选,识别要求)
  • read_image 共用同一套附件管线和大小限制
  • read_image 隐藏:自动跟随当前主模型——纯文本时藏掉 read_image 强制走 vision;切到多模态模型自动恢复原生 read_image,互不干扰
  • 粘贴图片转述(实验性)agent/pre-step 已实现把会话内消息的图片块自动转述为文字(【图片转述】开头,带缓存),但因宿主在消息准入层硬拒纯文本模型带图(无扩展点),该路径当前不可达;待官方放开后自动生效
  • 启动时会预检:手动指定的模型不支持图片、或自动发现落空,都会在启动时就报出可操作的错误,而不是等你调用时才崩
  • 零运行时依赖:不依赖任何 npm 包,只用宿主服务

License

MIT

仓库信息

开发语言
JavaScript
许可证
MIT
最新发布
v0.2.1
最后更新
2026年8月18日 08:28

谨慎安装

请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。