让纯文本模型自动识别上传图片并转成文字描述
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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 78 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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.complugin.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 等非常规格式暂未做预处理。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
rison114514/dsh-image-understanding
让纯文本模型自动识别上传图片并转成文字描述
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71