Bundle
dsh-plugin-deepseek-vision
DeepSeek Harness 原生视觉 Bundle:粘贴或拖入图片,通过托管的 deepseek-vision-mcp 调用 OpenAI 兼容视觉模型。
- Source
- deepseek-vision-mcp contributors
- License
- MIT
- Updated
- Updated 24 days ago
Readme
# dsh-plugin-deepseek-vision 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.0-rc.5 <0.2.0`) - 使用 DSH 桌面版时无需另装 Node;从源码构建才需要 Node.js `22.19+` 或 `24+` - 从源码安装才需要 Corepack/pnpm;安装已发布的 Bundle 由 DSH 安装器处理 - 有 Python `3.10+` 时直接复用;没有时插件自动准备隔离 CPython 3.12 - 首次启动需要访问 GitHub Releases 与 PyPI;后续启动复用本地缓存 ## 安装 正式发布后,把智谱 Key 放入启动 DSH 的环境,然后安装 Bundle: ```bash 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.1 npx -y @deepseek-ai/dsh@0.1.0-rc.6 web ``` Windows PowerShell: ```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.1 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 桌面版安装并重启后,进入: ```text 设置 → 插件 → 插件配置 → 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)调整。 默认值: ```env 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,把一张截图粘贴或拖入输入框,按顺序确认: 1. 输入框上方出现缩略图卡带,宽度不超过输入框; 2. 输入框内只有 `🖼️` 引用标记,不出现工具指令长文本; 3. 不输入文字直接发送:自动调用 `analyze_image`(多图为 `compare_images`); 4. 输入自己的问题再发送:插件只传图片路径,模型按问题调用工具; 5. 发送成功后缩略图卡带自动关闭;发送未成功时图片不丢失(缩略图或路径保留); 6. 点击缩略图右上角 × 可移除图片并撤销引用。 也可运行: ```bash dsh --profile web --dump-config | grep deepseek-vision ``` ## 隐私与安全 - 图片会发送给用户配置的第三方视觉模型服务。 - 粘贴接口限制为 20 MB、拒绝跨站浏览器请求,并用魔数而不是扩展名识别图片; 权限 `0600` 的临时目录会在一小时后自动清理。 - 缩略图预览使用浏览器本地 Object URL,移除或发送成功后立即释放,不额外上传。 - URL 默认拒绝回环、私网、元数据地址和 DNS rebinding。 - API Key 不写入 npm 包、配置 patch、日志或模型上下文。 ## 发布 ```bash npm test VISION_BUILD_PYTHON=python3 npm pack --dry-run npm publish ``` DSH 是 Developer Preview,发版前必须在官方当前 RC 上重新执行干净 profile 安装和真实图片验收。 MIT
Install
dsh plugin --profile web add dsh-plugin-deepseek-vision@0.4.1
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-deepseek-vision from the hub