dsh-ui-external-vision
by xiyue718
外接模型识图插件:当当前模型不支持识图但需要识别图片时,通过外部 VL 模型(默认 qwen3.5-omni-plus ,OpenAI 兼容接口)识别图片并返回文字描述。
An external vision plugin: when the current model can't see images but one needs recognizing, recognizes the image via an external VL model (default qwen3.5-omni-plus, OpenAI-compatible API) and returns a textual description.
安装
dsh plugin --profile web add github:xiyue718/dsh-ui-external-visionGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
@dsh-external/ui-external-vision
介绍
ui-external-vision 是 DSH Web 客户端的“外接模型识图”插件。当当前模型不支持识图但需要识别图片时,它会通过外部 VL 模型(默认 qwen3.5-omni-plus,OpenAI 兼容接口)识别图片并返回文字描述,支持本地图片路径和图片 URL 两种来源。
安装
方式一:超级模组注入器
dev_build_plugin {"dir": "C:/Users/<user>/.dsh/plugins/ui-external-vision"}
dev_inject_plugin {"dir": "C:/Users/<user>/.dsh/plugins/ui-external-vision"}
打开或刷新 DSH Web,进入“设置 → 外接识图”。
方式二:dsh 命令安装(项目官方方式)
如果你已安装 dsh CLI,可以按项目官方教程使用 dsh plugin 命令安装:
# 从本地插件目录安装
dsh plugin --profile web add C:/Users/<user>/.dsh/plugins/ui-external-vision
# 或从 GitHub 仓库安装
dsh plugin --profile web add github:xiyue718/dsh-ui-external-vision
安装后启动:
dsh --profile web
查看组合配置:
dsh --profile web --dump-config
详细命令说明见项目文档:docs/user/develop/basic/publish.md。
构建产物:host 为 lib/index.js,client 为 lib/client.js,打包文件为 dsh-external-ui-external-vision-0.1.0.tgz。
使用
- 打开 DSH Web。
- 进入“设置 → 外接识图”。
- 填写模型提供方、Base URL、模型名称和 API Key。
- 点击“保存”。
- 进入任意会话。
- 直接发送图片 URL(如
https://example.com/image.png),插件会在当前模型不支持图片输入时自动识别并把描述注入给 AI。 - 当 AI 调用
read_image且当前模型不支持图片输入时,插件也会自动调用外部模型识别图片并把结果返回给 AI。
功能
- 在“设置”中新增“外接识图”配置页面。
- URL 自动识别:当用户消息中包含图片 URL、且当前模型不支持图片输入时,插件会自动在模型请求前下载该 URL(仅内存,不写盘),调用外部 VL 模型识别,并把识别结果作为上下文注入给 AI。
- 防盗链兼容:下载图片时会自动携带合适的
Referer(iconfont/alicdn 使用https://www.iconfont.cn/,其他 URL 使用同源地址),降低 CDN 403 拒绝概率。 - 失败可见:某个 URL 获取或识别失败时,插件会把失败原因注入上下文,不再静默跳过。
- 本地图片自动调用:当 AI 调用
read_image工具、但当前模型不支持图片输入时,插件会自动调用外部 VL 模型识别图片,并把文字描述作为工具结果返回给 AI。 read_image拦截同时支持file_path与url/imageUrl/file_url参数。- 不再提供手动“识图”视图。
- API Key 必须由用户手动输入,通过项目凭证服务保存,与“模型”设置页的实现方式一致。
- 模型提供方、Base URL、模型名称通过项目 storage domain 持久化保存,并同步到 host 内存供自动识图使用。
- 保存时会校验:模型提供方不能为空;Base URL 和模型名称不能为空;首次保存时 API Key 不能为空。已配置 API Key 后,再次保存可留空表示保持不变。
Host API
GET /@dsh-external/ui-external-vision/api/status
GET /@dsh-external/ui-external-vision/api/config
POST /@dsh-external/ui-external-vision/api/config
Content-Type: application/json
POST /@dsh-external/ui-external-vision/api/vision
Content-Type: application/json
/api/status 返回默认 Base URL 和默认模型,不返回 API Key。/api/vision 支持 imagePath 或 imageUrl;使用 imageUrl 时,host 会先把远程图片下载到内存并转为 base64 data URL,再发送给外部 VL 模型。
原理
插件由 host 和 client 两部分组成。
Host 侧注册 agent/pre-step 和 tools/execute 两个拦截点:
- 在
agent/pre-step中,插件检查即将进入模型请求的用户消息,提取图片 URL。随后通过llm.resolveModelInfo判断当前模型是否支持图片输入;如果模型不支持图片且已配置 API Key,则下载图片到内存并调用外部 VL 模型,把识别结果包装成一条source.kind === 'plugin'的用户消息注入到请求上下文。 - 在
tools/execute中,当模型调用read_image且当前模型不支持图片输入时,插件会拦截该工具调用,读取本地图片或远程 URL,调用外部 VL 模型,并把文字描述作为工具结果返回给 AI。
API Key 通过项目凭证服务读取,不会出现在请求体或浏览器存储中。远程图片 URL 会在 host 内存中下载并转换为 base64 data URL 后发送到外部模型接口,不会写入磁盘。Client 侧负责渲染“外接识图”设置页,并将配置保存到 storage domain 和凭证服务。
原始 README: https://github.com/xiyue718/dsh-ui-external-vision/blob/main/README.md ↗
同类插件
查看全部 →
dsh-web-ui-all
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-web-ui
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。

dsh-TUI
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

DSH-better-sidebar
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。

working-activity
让 agent 的"工作状态行"活过来——实时工具动态与进度、俏皮文案、模型自述、上下文预警。同一套想法,适配两个平台: pi CLI 与 DeepSeek Harness(DSH) 。

deepseek-idesign
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。