Vision MCP and DSH bundle for text-only DeepSeek: analyze_image, analyze_clipboard, compare_images and vision_status tools, a visual settings page, free GLM-4.6V-Flash by default, result caching and rate-limit tolerance; keys stay out of logs.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-plugin-deepseek-vision
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:GOU-GEE/deepseek-vision#path:/plugins/dsh-plugin-deepseek-vision
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
This plugin publishes its README in Chinese only.
DeepSeek Harness 原生视觉 Bundle。文本版 DeepSeek 遇到图片时,通过随包托管的
deepseek-vision-mcp 调用 OpenAI 兼容视觉模型;默认使用智谱免费的
glm-4.6v-flash。
能力
- DSH Web 中直接粘贴或拖入 PNG/JPEG/GIF/WebP;插件保存为权限
0600的临时文件, 并在输入框上方显示宽度不超过输入框的缩略图卡带。 - 输入框内只保留隐藏的
🖼️引用标记,不显示工具调用长指令;用户不输入文字时 发送自动注入预设指令,用户已输入自己的问题时只传图片路径,不覆盖用户意图。 - 发送成功后缩略图卡带自动清理并释放本地预览;发送未成功时图片不丢失(引用序列化 失败时缩略图与引用保留可重试,host 层失败时路径文本恢复回输入框)。点击缩略图 右上角 × 可移除图片并同步撤销引用,多图移除后自动重建剩余指令。
- 自动安装版本锁定的 Python MCP 后端到
$DSH_HOME/cache,无需克隆仓库、创建 虚拟环境或修改 Python 绝对路径。 - 保留
analyze_image、analyze_clipboard、compare_images、vision_status四个工具,以及多 Key 轮换、模型降级、缓存和 SSRF 防护。 - 可视化配置主、备用服务商;429/5xx 自动退避、跨服务商切换并短期熔断,单次工具 调用默认最多发出 4 次真实视觉请求。
- 桌面版直接使用 App 内置 Node;缺少 Python 3.10+ 时自动下载校验后的 uv,并在
$DSH_HOME/cache准备隔离 CPython 3.12。 - 只接管明确选中的文本版 DeepSeek;原生视觉模型继续走 DSH 默认图片链路。
要求
- DeepSeek Harness
0.1.0-rc.5、0.1.0-rc.6、0.1.2-alpha.5、0.1.2-rc.1、0.1.3-alpha.1(后三个版本已按官方固定标签逐项审查插件加载、 MCP 客户端导出和 Web Client 注入契约) - 使用 DSH 桌面版时无需另装 Node;从源码构建才需要 Node.js
22.19+或24+ - 从源码安装才需要 Corepack/pnpm;安装已发布的 Bundle 由 DSH 安装器处理
- 有 Python
3.10+时直接复用;没有时插件自动准备隔离 CPython 3.12 - 首次启动需要访问 GitHub Releases 与 PyPI;后续启动复用本地缓存
精确版本声明的固定标签与审查边界见
docs/DSH_COMPATIBILITY.md。这些声明是作者侧源码兼容性
证据,不代替 DSH STORE 独立的安装、运行或安全验收。
安装
正式发布后,把智谱 Key 放入启动 DSH 的环境,然后安装 Bundle:
export VISION_API_KEY='你的智谱APIKey'
npx -y @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add dsh-plugin-deepseek-vision@0.4.2
npx -y @deepseek-ai/dsh@0.1.0-rc.6 web
Windows PowerShell:
$env:VISION_API_KEY = '你的智谱APIKey'
npx -y @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add dsh-plugin-deepseek-vision@0.4.2
npx -y @deepseek-ai/dsh@0.1.0-rc.6 web
安装
main分支尚未发布的功能时,请在本仓库运行VISION_BUILD_PYTHON=python3 npm pack,再把生成的.tgz安装进 profile。 Bundle 自带同版本 Python wheel,避免前后端版本漂移。
正式 npm Bundle 的普通安装目标是 1-3 分钟;仅当系统没有 Python 3.10+ 时,首次 准备隔离 CPython 可能额外需要 2-8 分钟。源码构建、全套测试和真实 API 验收属于 发布审计流程,通常需要 15-30 分钟,不是最终用户的日常安装路径。
配置
macOS 桌面版安装并重启后,进入:
设置 → 插件 → 插件配置 → DeepSeek Vision
选择智谱、硅基流动、通义千问、Google Gemini 或自定义 OpenAI 兼容服务,页面会联动推荐模型与
Base URL。可启用第二家备用服务,并单独填写、测试备用 Key。保存后用 Cmd+Q 完全
退出并重新打开 DSH,让 MCP 进程读取新配置。两个 Key 分别存入 DSH 官方凭据存储,
页面只显示配置状态且不会回显原文。测试连接会发送一张 1×1 图片并请求最多 8 tokens。
运行时默认采用 4 次全局请求预算:单个端点至多重试一次,然后尝试备用 Key、模型或
备用服务商;429/5xx 端点默认熔断 90 秒。工具结果中的 provider、fallback_used 和
attempts 会说明实际走了哪条链路。可用 VISION_MAX_ATTEMPTS(1-12)与
VISION_CIRCUIT_COOLDOWN_SECONDS(5-3600)调整。
默认值:
VISION_MODEL=glm-4.6v-flash
VISION_BASE_URL=https://open.bigmodel.cn/api/paas/v4
环境变量的优先级高于可视化配置。还可在启动 DSH 前设置 VISION_API_KEYS、
VISION_MODELS 等变量。也可以把
VISION_API_KEY: "你的Key" 写入 DSH 官方凭据文件 $DSH_HOME/.credentials.yaml
(文件权限应为 0600);环境变量优先。Key、模型和 Base URL 必须来自同一服务商。
不要把 Key 写进 cordis.patch.yml、普通配置文件或 Git 仓库。
验证
启动后选择文本版 DeepSeek,把一张截图粘贴或拖入输入框,按顺序确认:
- 输入框上方出现缩略图卡带,宽度不超过输入框;
- 输入框内只有
🖼️引用标记,不出现工具指令长文本; - 不输入文字直接发送:自动调用
analyze_image(多图为compare_images); - 输入自己的问题再发送:插件只传图片路径,模型按问题调用工具;
- 发送成功后缩略图卡带自动关闭;发送未成功时图片不丢失(缩略图或路径保留);
- 点击缩略图右上角 × 可移除图片并撤销引用。
也可运行:
dsh --profile web --dump-config | grep deepseek-vision
隐私与安全
- 图片会发送给用户配置的第三方视觉模型服务。
- 粘贴接口限制为 20 MB、拒绝跨站浏览器请求,并用魔数而不是扩展名识别图片;
权限
0600的临时目录会在一小时后自动清理。 - 缩略图预览使用浏览器本地 Object URL,移除或发送成功后立即释放,不额外上传。
- URL 默认拒绝回环、私网、元数据地址和 DNS rebinding。
- API Key 不写入 npm 包、配置 patch、日志或模型上下文。
发布
npm test
VISION_BUILD_PYTHON=python3 npm pack --dry-run
npm publish
DSH 是 Developer Preview,发版前必须在官方当前 RC 上重新执行干净 profile 安装和真实图片验收。
MIT
Links
More in this category
liustack/modlens★ 4063
Vision bridge for text-only models: paste an image, get structured JSON evidence (OCR, layout, semantics).
ysr666/dsh-vision-router★ 1125
Free vision for text-only agents: built-in keyless vision chain plus pixel tools (Q&A, grounding, crop, pixel diff, colors, OCR, SVG trace, cutout, screenshots); paste an image to use it.
Anionex/dsh-vision-toolkit★ 884
Vision for text-only models: paste an image and the model switches to a Vision Toolkit variant for image Q&A, multi-image comparison, long-screenshot OCR, screenshot-to-UI reproduction, element grounding, and pixel diff. No API key by default — images are processed by the author-hosted free service, 100 per machine per day; configurable to your own provider.
dickpy/dsh-imagegen★ 93
AI image generation for the DSH Web GUI: text-to-image and image-to-image through a configurable OpenAI-compatible endpoint (gpt-image-2 / gpt-image-1 / dall-e-3), with an api_url/api_key settings card and a sidebar split-pane generation studio.
fandc520/dsh-comfyui★ 89
Drive a local or remote ComfyUI server from DeepSeek Harness: comfyui_run / comfyui_object_info / comfyui_workflow tools generate and edit images and videos, with a workflow library (graph extraction: per component / main flow / all), a load area with resolution auto-match, a live queue, SDXL and Wan 2.1 templates, a companion skill, and a same-origin media proxy.
sunxin-ai/dsh-design-qa★ 44
Design-fidelity QA for text-only models: a `deepseek_vision` tool borrows an eye from any OpenAI-compatible vision route, so the model can judge whether an implementation matches its mock — shipped with the benchmark behind that judgement (four fixtures, 23 injected defects, raw transcripts) and the questioning discipline it depends on.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.