纯文本 DeepSeek 的聊天识图插件:view_image 工具转发任意 OpenAI 兼容 VLM(本地 Ollama 或云端),对话框粘贴/拖拽的图片自动改写为 view_image 路径标记供模型查看。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:xsoc1/dsh-image-vision
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
给纯文本的 DeepSeek 加上眼睛:聊天里传图 + 识图,一个插件搞定。
view_image工具:模型带着问题调用它(OCR、数数、读图表、看 UI 布局……任意视觉问题),插件把图片和问题转发给任意 OpenAI 兼容的 VLM 端点(本地 Ollama / 智谱 / DashScope / 豆包……),答案以文本返回。- 图片附件桥:在聊天对话框拖拽或粘贴图片即可发送——dsh web 输入框原生接收图片附件,本插件在模型请求前把附件改写为
[用户上传的图片:<路径>]标记,并引导模型调用view_image查看,纯文本模型因此"看见"你上传的图。
用户: (拖一张截图进对话框)帮我看看这个报错
模型 → view_image(source="…vision-bridge/xxx.png", question="这个报错的完整文本是什么?")
← "TypeError: Cannot read properties of undefined (reading 'map') at …"
模型: 这是一个 … 建议 …
安装
dsh plugin --profile web add dsh-image-vision
或经 dsh-market 插件市场安装。
注意:host 在消息提交时会校验当前模型的
inputModalities声明。纯文本模型(如 deepseek-v4-flash 经网关路由)需要在 profile 的settings.yaml里把该模型声明为支持图片输入,否则带图消息在提交时就被拒绝:
llm-pi-ai:
providers:
opencode-go:
apiKeyEnv: OPENCODE_GO_API_KEY
modelOverrides:
deepseek-v4-flash:
input: ['text', 'image']
(网关模型目录里本就直接声明 image 能力的模型无需此步。)
后端选择
一套配置(baseURL + apiKey + model)覆盖所有后端:
| 场景 | baseURL | model | 说明 |
|---|---|---|---|
| 默认(免费) | https://open.bigmodel.cn/api/paas/v4 |
glm-4.6v-flash |
智谱免费视觉模型,零成本开箱;高峰限流自动降级 |
| 本地 Ollama | http://localhost:11434/v1 |
qwen3-vl:4b |
离线、无 key;小模型对穷举任务较慢,建议 maxTokens: 4096 + timeoutMs: 300000 |
| DashScope | https://dashscope.aliyuncs.com/compatible-mode/v1 |
qwen3-vl-flash |
百炼 VL 线,高精度 OCR |
| 火山豆包 | https://ark.cn-beijing.volces.com/api/v3 |
doubao-seed-2-1-turbo-260628 |
Ark 模型 ID 带日期后缀 |
API key 读取顺序:插件配置 apiKey → $VISION_API_KEY → $DSH_VISION_API_KEY(仅 export)→ $ZHIPUAI_API_KEY → $DASHSCOPE_API_KEY。本地端点(localhost)无需 key。
免费档降级链:默认配置下插件自动依次降级 glm-4.6v-flash → glm-4.1v-thinking-flash → glm-4v-flash(可用 fallbackModels 覆盖)。thinking 系模型的 <think> 推理块会被自动剥离。
配置
dsh-image-vision:
baseURL: http://localhost:11434/v1
apiKey: "" # 留空则读环境变量;本地端点无需 key
model: qwen3-vl:4b
maxTokens: 4096 # 推理型模型建议 ≥2048
timeoutMs: 300000 # 本地冷加载与穷举 OCR 需 1-4 分钟
maxImageBytes: 10485760
工作原理
- 传图:对话框拖拽/粘贴 → dsh 附件服务持久化(
~/.dsh/attachments/v1/)→ 消息带 image 块。 - 桥接:
llm/stream瀑布最前拦截 → 图片导出为~/.dsh/vision-bridge/<sha256>.<ext>→ 替换为[用户上传的图片:<路径>]文本标记 → 递归重入(无图时直通,不循环)。纯文本适配器不再报UNSUPPORTED_CONTENT。 - 识图:模型看到标记 → 调用
view_image→ VLM 返回文本描述 → 模型基于描述回答。
License
BSD-3-Clause。view_image 转发逻辑移植自 dsh-vision(BSD-3-Clause)。
链接
同类插件
liustack/modlens★ 4076
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
ysr666/dsh-vision-router★ 1129
为纯文本 Agent 提供视觉能力:内置免 Key 视觉链 + 像素级视觉工具(看图问答、定位、裁剪、像素对比、取色、OCR、矢量化、抠图、截图);粘贴图片即可用。
Anionex/dsh-vision-toolkit★ 885
让纯文本模型处理视觉任务:粘贴图片后自动切换到 Vision Toolkit 变体,支持图片问答、多图比较、长截图 OCR、截图还原前端 UI、元素定位与像素对比。默认无需 API Key——图片经作者自建的免费服务处理,每台机器每天 100 张;也可改为指向自己的服务商。
dickpy/dsh-imagegen★ 96
面向 DSH Web GUI 的 AI 生图插件:通过可配置的 OpenAI 兼容端点(gpt-image-2 / gpt-image-1 / dall-e-3)实现文生图与图生图,提供 api_url/api_key 设置卡片与侧边栏分栏生图工作台。
fandc520/dsh-comfyui★ 89
让 DeepSeek Harness 的 Agent 直接驱动本地或远程 ComfyUI:comfyui_run / comfyui_object_info / comfyui_workflow 工具生成与编辑图像、视频,附带工作流库(图工作流提取:按分量 / 主流程 / 整体)、加载区分辨率自动匹配、实时队列、SDXL 与 Wan 2.1 模板、配套 skill 与同源媒体代理。
sunxin-ai/dsh-design-qa★ 44
给纯文本模型的设计稿保真判定:`deepseek_vision` 工具从任意 OpenAI 兼容视觉路由借来一只眼,让模型判断实现与设计稿是否一致——并附上支撑该判定的基准(4 组夹具、23 处注入缺陷、逐格原始输出)与其依赖的提问纪律。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。