把粘贴的图片转成文字描述,让纯文本模型也能看图
26.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Xin-Zhang-IceMan/dsh-vision-plugin该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
- 发起网络请求lib/client.js:30
const response = await fetch('/vision/api/state', { cache: 'no-store' }) - 发起网络请求lib/client.js:46
const response = await fetch('/vision/api/model', {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 图片转文字描述
- 纯文本模型看图
DeepSeek Harness 视觉插件:让纯文本模型拥有视觉能力 / DSH 视觉插件:vision_analyze 工具,外加为纯文本模型自动转写图片。
README
由 DeepSeek 最新模型翻译生成dsh-vision-plugin
给 DeepSeek Harness 的纯文本模型装上"眼睛"。
v1.4.0 · MIT License · 兼容 dsh v0.1.0-rc.8(及 rc.7)
deepseek-v4 系列是纯文本模型:你可以在对话框里粘贴截图、照片,但它看不见。这个插件在中间加了一层——图片先交给视觉模型(qwen3.7-plus、kimi-k3 等)转写成文字描述,再把描述交给主模型。从此粘贴图片、切换任何文本模型,都能正常"看图"。
效果
你:这是什么? (粘贴了一张 Clash Verge Logo)
助手:这是 Clash Verge 的标志(Logo)。左侧是一个黑色的猫头剪影,右侧是文字 "Clash Verge"。它是一款基于 Clash 内核的图形化代理客户端软件……
图片由视觉模型自动转写,主模型看到的是文字描述,回答和读图效果一样自然。
三个能力
1. 粘贴图片直接问 —— 对话框粘贴或拖入图片,任意文本模型都能回答图片内容,不需要任何特殊指令。
2. vision_analyze 工具 —— 模型可以主动调用它分析本地图片文件,还能指定问题("图中表格第三行数据是多少?")和具体视觉模型。
3. 设置页配置视觉模型 —— DSH 设置面板新增"视觉模型"页:选默认视觉模型、看当前路由,中英双语、跟随界面语言。
展开完整文档(README 剩余 1 节)
dsh-vision-plugin 给 DeepSeek Harness 的纯文本模型装上"眼睛"。 v1.4.0 · MIT License · 兼容 dsh v0.1.0-rc.8(及 rc.7) deepseek-v4 系列是纯文本模型:你可以在对话框里粘贴截图、照片,但它看不见。这个插件在中间加了一层——图片先交给视觉模型(qwen3.7-plus、kimi-k3 等)转写成文字描述,再把描述交给主模型。从此粘贴图片、切换任何文本模型,都能正常"看图"。 效果 你:这是什么? (粘贴了一张 Clash Verge Logo) 助手:这是 Clash Verge 的标志(Logo)。左侧是一个黑色的猫头剪影,右侧是文字 "Clash Verge"。它是一款基于 Clash 内核的图形化代理客户端软件…… 图片由视觉模型自动转写,主模型看到的是文字描述,回答和读图效果一样自然。 三个能力 1. 粘贴图片直接问 —— 对话框粘贴或拖入图片,任意文本模型都能回答图片内容,不需要任何特殊指令。 2. vision_analyze 工具 —— 模型可以主动调用它分析本地图片文件,还能指定问题("图中表格第三行数据是多少?")和具体视觉模型。 3. 设置页配置视觉模型 —— DSH 设置面板新增"视觉模型"页:选默认视觉模型、看当前路由,中英双语、跟随界面语言。 快速开始 永久安装 —— 每次 dsh 启动自动载入 本仓库根目录就是一个 dsh bundle 包(dsh-vision-plugin):宿主半部 lib/index.js、浏览器半部 lib/client.js、插件行 cordis.patch.yml。把 bundle 注册进你的 profile, dsh 启动时就会自动挂载插件——不需要 cordis_define/cordis_run,重启也不丢。 ① 用 dsh plugin 安装。 包已发布到 npm,一条命令搞定——dsh plugin 用 pnpm 装好包后,因为包声明了 dsh.bundle,会自动把它追加进 dsh.profile.bundles: dsh plugin --profile web add dsh-vision-plugin 正在开发插件本身?改用本地检出安装——下次重启 dsh 即生效,无需走 registry: dsh plugin --profile web add /绝对路径/deepseek-harness-plug 或在检出目录里直接: dsh plugin --profile web add . 然后确认行已合成: dsh --profile web --dump-config # 合成树里应出现 "vision" 行 ② 声明图片能力。 宿主在消息进入会话前会检查当前模型的输入能力。为了让文本模型收下图片(收下后由插件转写),在 ~/.dsh/settings.yaml 里给它们声明: llm-pi-ai: providers: opencode-go: apiKeyEnv: OPENCODE_GO_API_KEY modelOverrides: deepseek-v4-flash: input: [text, image] deepseek-v4-pro: input: [text, image] 其他可能切换到的文本模型同理;原生视觉模型无需声明 文件会被自动热加载,不用重启。建议把每个你可能用到的文本模型都写上——否则切到未声明的模型后粘贴图片,会在插件转写之前就被拒绝。 dsh v0.1.0-rc.8 及以上另有原生方案:内置的 deepseek-official 路由(llm-deepseek)支持配置启用原生图片请求,DeepSeek 模型可以直接在它自己的配置里声明图片能力: llm-deepseek: models: - id: deepseek-v4-flash inputModalities: [text, image] 插件信任这条路由:在该路由上声明图片能力的模型,设置页里会标记「原生视觉」、以兜底梯队加入自动选择、且图片不再转写(rc.8 适配器会自行强制校验所声明的能力)。pi-ai 路由的 modelOverrides 仍然只是"放行"机制——这类模型照旧转写,行为与之前完全一致。 ③ 重启 dsh。 启动时 loader 会挂载 vision 行:注册 vision_analyze 工具、开启 llm/stream 图片转写瀑布、/vision/api/state 服务设置页,浏览器半部由 /plugins/dsh-vision-plugin/client.js 提供。验证:设置面板出现"视觉模型"页、工具列表里有 vision_analyze,然后粘贴图片开聊。 设置界面 打开 DSH 左下角 ⚙️ 设置 → "视觉模型"页: - 状态徽章显示运行状态和版本号 - 下拉框选择默认视觉模型(自动选择,或指定某个模型)——保存立即生效,且选择会被记住(浏览器本地存储),下次启动自动恢复 - 底部说明当前生效的模型和路由 界面语言跟随 DSH 设置(通用 → 语言),中英文自动切换。 常见问题 切到其他文本模型后粘贴图片被拒? settings.yaml 里没有给那个模型声明图片能力。按上面步骤 ② 补上即可,热加载立即生效。 没有配置 opencode-go 怎么办? 不影响。v1.1.0 起插件会遍历所有已配置的 provider,自动找到第一个带视觉模型的路由;一个都没有时才会降级(对话继续,提示图片不可用)。 我的 provider 拒绝图片,报 unknown variant \image_url\, expected \text\? 这个错误说明图片块被发给了只接受文本的模型。自动选择绝不会这么做:只会自动挑受信任的模型——原生视觉白名单(lib/engine.js 里的 NATIVE_VISION_MODELS),以及 dsh v0.1.0-rc.8 起在内置 deepseek-official 路由上声明了图片能力的模型。但设置页会列出所有 provider 上目录声明支持图片的全部模型——受信任的和你在 settings.yaml 里用 modelOverrides 声明图片能力的都算,显式选择(设置页或 vision_analyze 的 model 参数)会被采纳。如果选中的模型上游实际拒绝图片,调用会自动回退到受信任的视觉模型(一个都没有时降级为占位提示)。如果你用的模型确实支持原生视觉但还没进白名单,把它加进去,自动选择就会优先用它。 DSH 重启后插件还在吗? 会。永久安装把 bundle 注册进 profile 的 dsh.profile.bundles,每次启动都会自动载入——这正是它的目的。 会多花钱吗? 转写会调用一次视觉模型;同一张图、同一个问题有缓存,多轮追问不会重复调用。视觉模型优先级:工具显式参数(model/provider)> 设置页配置 > 自动选择。 我选的视觉模型会被记住吗? 会。v1.2.0 起设置页的选择保存在浏览器(localStorage),下次启动 dsh 自动恢复;自动转写瀑布也走同一路由。宿主侧的路由本身是进程内的。 视觉模型出错了会怎样? 不会中断对话:输出了一部分就保留一部分;完全失败就换备用模型再试一次;视觉调用挂起超过两分钟会被掐断并视为失败(从而触发备用模型重试);还不行就告诉模型"图片暂时不可用",对话照常继续。 Bundle 结构 - lib/engine.js —— 共享引擎,单一事实源:vision_analyze 工具、llm/stream 转写瀑布、路由发现、缓存与超时。刻意零 import(pnpm 不会为 link: profile 插件安装依赖)。 - lib/index.js —— bundle 宿主适配器(组合插件行 vision):注册工具与瀑布;/vision/api/state、/vision/api/model JSON 接口通过 ctx.inject(['webServer'], …) 条件注册,因此没有 Web 服务的栈(headless——rc.8 的启动审计会直接判挂起等待缺失服务的行)也能正常激活。 - lib/client.js —— bundle 浏览器半部(dsh.client 名册条目):"视觉模型"设置页,由 web shell 在 /plugins/dsh-vision-plugin/client.js 提供。 - cordis.patch.yml —— 挂载该 bundle 的 loader 补丁行(dsh.bundle.patch)。 - scripts/check.js —— 一致性检查(npm run check):校验版本号在各处一致、lib/engine.js 保持零 import。 - test/engine.test.js —— 引擎测试套件(npm test):路由发现、override 优先级、缓存/去重、超时、瀑布、工具。 开发插件本身:改 lib/engine.js(宿主逻辑)或 lib/client.js(界面),然后 npm run check && npm test。 深入细节(可选阅读) 工作流程:图片进入会话 → llm/stream 监听器判断目标模型——原生视觉模型直接看原图;文本模型则先由视觉模型转写成文字再派发。"原生视觉"指任意路由上的白名单模型,或(dsh v0.1.0-rc.8 起)宿主自有 deepseek-official 路由上目录声明支持图片的模型——该路由的适配器会自行强制校验声明的能力。图片检测是递归的(与宿主一致):嵌套在 tool-result 里的图片、以及助手消息里的图片(来自视觉模型会话的历史)同样会被转写或替换,保证任何图片块都不会到达纯文本模型。转写请求带 Symbol 标记防递归,结果按"图片 + 问题"缓存(TTL + FIFO 上限,并发同图共享一次在途调用)。 设置页会列出所有 provider 上目录声明支持图片的全部模型——不限于 opencode 路由:受信任的原生视觉模型(白名单 + rc.8 deepseek-official),以及你通过 modelOverrides 声明图片能力的模型都显示。只有自动选择走信任门控:resolveVisionRoute 只会挑受信任的模型,因为 pi-ai 路由上仅凭目录的"图片能力"无法和 modelOverrides 广告区分,纯文本模型会在上游直接拒绝图片块(unknown variant \image_url\)。显式选择则信任用户配置;若所选模型上游失败,现有重试逻辑会自动回退到受信任的视觉模型。 可调常量都在 lib/engine.js 顶部:DEFAULT_MODEL(兜底模型)、NATIVE_VISION_MODELS(自动选择用的原生视觉白名单)、DEEPSEEK_OFFICIAL_PROVIDER(rc.8 声明图片能力即受信任的路由)、MODEL_PRIORITY(自动选择顺序)、STREAM_TIMEOUT_MS(视觉调用挂起超时)、CACHE_TTL_MS / CACHE_MAX(转写缓存)、CATALOG_TTL_MS(模型目录缓存)。 License MIT
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Xin-Zhang-IceMan/dsh-vision-plugin
把粘贴的图片转成文字描述,让纯文本模型也能看图
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,364已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,709已汉化DSH
71.8
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,319已汉化DSH
71.5
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,533已汉化DSH
71.1
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 93,105已汉化DSH
71.1
这是你的仓库?认领条目