🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

图片理解插件 rison114514/dsh-image-understanding

DeepSeek Harness
rison11451478 天前有提交已提供中文文档扫描:含敏感能力

让纯文本模型自动识别上传图片并转成文字描述

27.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add rison114514/dsh-image-understanding
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · vision
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 78 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 读取本地文件
    plugin.js:41
    if (!fs.existsSync(ref)) throw new Error(`image file not found: ${ref}`)
  • 读取本地文件
    plugin.js:42
    if (fs.statSync(ref).size > MAX_BYTES) throw new Error('image too large (>10MB)')
  • 读取本地文件
    plugin.js:45
    const b64 = fs.readFileSync(ref).toString('base64')
  • 请求外部主机dashscope.aliyuncs.com
    plugin.js:71
    const res = await fetch(`${(cfg.base_url || 'https://dashscope.aliyuncs.com/compatible-mode/v1').replace(/ $/, '')}/chat/completions`, {
  • 发起网络请求
    plugin.js:71
    const res = await fetch(`${(cfg.base_url || 'https://dashscope.aliyuncs.com/compatible-mode/v1').replace(/ $/, '')}/chat/completions`, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
涉及外部主机:dashscope.aliyuncs.com

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 自动识别上传图片
  • 图片转文字描述
  • 包装纯文本模型

deepseek-harness 原生插件:让纯文本模型(如 DeepSeek)经 agent/pre-step 劫持 + resolveModelInfo 包装自动识别上传图片(qwen-vl)

README

由 DeepSeek 最新模型翻译生成
dsh-image-understanding 让 deepseek-harness (dsh) 里的纯文本模型(如 DeepSeek)也能“看见”你上传的图片 —— 自动调用阿里云百炼 qwen-vl 把图片转成文字描述再喂给模型,全程对模型透明,无需切换多模态模型。 配套说明:本插件是 deepseek-vision(WorkBuddy 钩子版)在 deepseek-harness 上的原生插件重写版。两者核心差别见文末「与 deepseek-vision 的差别」。 原理(两道闸都堵上) deepseek-harness 对纯文本模型有两道图片拦截: 1. Gate 1 — 提交校验:apiproxy 在消息含图时查模型 inputModalities,DeepSeek 是 ['text'],直接报错“当前模型不支持图片”。 2. Gate 2 — 序列化校验:serialize.ts 的 assertTextOnly 对 image block 无条件拒绝。
展开完整文档(README 剩余 1 节)
dsh-image-understanding

让 deepseek-harness (dsh) 里的纯文本模型(如 DeepSeek)也能“看见”你上传的图片 —— 自动调用阿里云百炼 qwen-vl 把图片转成文字描述再喂给模型,全程对模型透明,无需切换多模态模型。

配套说明:本插件是 deepseek-vision(WorkBuddy 钩子版)在 deepseek-harness 上的原生插件重写版。两者核心差别见文末「与 deepseek-vision 的差别」。

原理(两道闸都堵上)

deepseek-harness 对纯文本模型有两道图片拦截:

1. Gate 1 — 提交校验:apiproxy 在消息含图时查模型 inputModalities,DeepSeek 是 ['text'],直接报错“当前模型不支持图片”。
2. Gate 2 — 序列化校验:serialize.ts 的 assertTextOnly 对 image block 无条件拒绝。

本插件在插件层同时解决,不碰 harness 源码:

- 包装 ctx.llm.resolveModelInfo,让 deepseek 系纯文本模型“声称”支持 image,骗过 Gate 1;
- 在 agent/pre-step seam(serialize 之前)把 ImageBlock 经 attachments.readImage() 取字节 → 百炼 qwen-vl 识别 → 替换为 【图片识别】… 文本块,DeepSeek 全程只见纯文本(Gate 2);
- 仅模拟 deepseek 系纯文本模型;真·视觉模型原样透传,不被二次转换。

另外注册了一个显式 tool image_understanding,可手动按图片路径或 data URL 调用。

前置条件

- 已本地安装并构建 deepseek-harness(能跑 pnpm dsh web)
- 一个阿里云百炼 API Key(OpenAI 兼容模式,申请:https://bailian.console.aliyun.com/ )

安装

一行安装(从 GitHub 以 DSH bundle 形式装入指定 profile)
dsh plugin --profile web add github:rison114514/dsh-image-understanding

装好后启动 web:dsh web(或 pnpm dsh web)。

使用

开 新会话 → 选择 DeepSeek 主模型 → 直接拖入 / 上传图片并输入“描述这张图” → 预期:

- 不再弹出“当前模型不支持图片”
- 图片被 qwen-vl 自动识别为文字描述并回填,DeepSeek 据此作答

也可在对话中显式调用 image_understanding 工具,传入图片本地绝对路径(或 data URL)做按需识别。

配置项(Web UI:设置 → 插件 → 插件配置 → image-understanding)

启动后在网页端「设置」→「插件」→「插件配置」里找到 image-understanding 卡片,按需填写并保存(改动即时生效,无需重启):

| 字段 | 说明 | 默认 |
| api_key | 阿里云百炼 API Key(sk-...),必填;页面以只写输入框呈现,明文不会回传 | — |
| model | 视觉模型 ID | qwen3-vl-flash |
| base_url | OpenAI 兼容接口地址 | https://dashscope.aliyuncs.com/compatible-mode/v1 |
| timeout | 单次调用超时(秒) | 20 |

想直接改文件也行:对应 $DSH_HOME/settings.yaml 里的 image-understanding: 小节,字段同上。

与 deepseek-vision 的差别

| 维度 | deepseek-vision(旧) | dsh-image-understanding(本插件) |
| 宿主 | WorkBuddy,靠 UserPromptSubmit 钩子外部进程 | deepseek-harness,cordis 原生插件 |
| 图片获取 | 钩子读 stdin 的 transcript_path jsonl 取真实路径 | 直接用 harness 内部 attachments.readImage() 取字节 |
| 注入方式 | 识别结果写 additionalContext 注入 | pre-step 改写消息 + resolveModelInfo 包装骗过能力校验 |
| 安装 | install.sh 改 settings.json 后重启 | pnpm dsh web --patch cordis.patch.yml 热加载 |
| 额外能力 | 支持 SVG(Chrome headless 渲染) | 多注册了显式 image_understanding tool,支持图片路径 / data URL 按需识别 |

一句话核心差别:旧版是“在 WorkBuddy 外部挂一个钩子进程去拦截消息”,新版是“在 deepseek-harness 内部作为原生插件、从消息序列化之前就接管图片”——更内聚、无外部进程依赖、不依赖解析 stdin 的隐式字段。

已知限制

- 仅对 deepseek 系纯文本模型自动生效;其他模型需本身支持图片或不会被模拟。
- 单图识别失败会降级为 【图片识别失败】… 文本,不阻断对话。
- 拖放 / 上传图片受 harness 附件通道限制,仅支持 jpg/png/webp/gif;SVG、PDF 等非常规格式暂未做预处理。
预览分享卡片长什么样 ↓rison114514/dsh-image-understanding
分享 · DeepSeek Harness Hub
rison114514/dsh-image-understanding

让纯文本模型自动识别上传图片并转成文字描述

回到顶部