概览
dsh-vision-pro-bridge
README / ZH
插件文档
dsh-vision-pro-bridge
让纯文本的 DeepSeek-V4-Pro 真正“看见”图片 —— 不用切换模型、不用 Ollama、不用第二个 key。
解决的问题
deepseek-v4-pro(以及 deepseek-v4-flash)是纯文本模型:DeepSeek API 不接受图片字节。在 DeepSeek Harness 里,往 Pro 会话里贴图会报“不支持图片”。官方唯一的选择,是把整个会话切到(编码能力较弱的 Flash 档)deepseek-v4-flash-vision-exp。
这个插件做什么
它注册一条孪生路由 deepseek-vision-pro(模型 deepseek-v4-pro-vision)并声明支持图片。你贴图后,插件先用 deepseek-v4-flash-vision-exp 把图片转成文字(复用你已有的 DEEPSEEK_API_KEY),再把文字 + 本地路径交给 deepseek-v4-pro。DeepSeek 的对话路由永远收不到图片,V4-Pro 保留编码能力、同时“看得见”。
贴图 → [图片块被放行]
→ deepseek-v4-flash-vision-exp 转写为文字
→ 文字 + 本地路径 → deepseek-v4-pro 回答
为什么选这个(优势)
- 零第三方依赖:只复用 Harness 自带的
@deepseek-ai/dsh-llm与@deepseek-ai/dsh-llm-deepseek。没有openai、没有sharp、没有schemastery、没有 Ollama。 - DeepSeek 专属、单一供应商:图片只发给 DeepSeek(
deepseek-v4-flash-vision-exp),走同一个DEEPSEEK_API_KEY。没有第二个 VLM 厂商、没有本地模型、没有匿名免费端点。 - 官方图片管线、逐字节一致:继承官方
DeepSeekAdapter,图片规范化、Files API 上传、inline-base64 回退都与官方行为完全一致,不手写 HTTP。 - 极简、可审计:单文件、约 250 行,易读、易验、易 fork。
- 内容寻址落盘:图片存到
~/.dsh/vision-pro-bridge/images/,稳定本地路径会传给模型,V4-Pro 可继续引用。 - Pro 专精:只暴露一个模型
deepseek-v4-pro-vision—— 保留 V4-Pro 编码能力,外加视觉。
安装
dsh plugin --profile web add dsh-vision-pro-bridge
# 重启 dsh web
使用
- 模型选择器里选 DeepSeek-V4-Pro (视觉桥)。
- 粘贴/拖入截图,正常提问。
设为新会话默认(~/.dsh/settings.yaml):
agent-default-model:
provider: deepseek-vision-pro
model: deepseek-v4-pro-vision
配置(环境变量)
| 变量 | 默认 | 作用 |
|---|---|---|
DEEPSEEK_API_KEY |
credentials 服务 | DeepSeek key(与官方路由同源) |
DEEPSEEK_BASE_URL |
https://api.deepseek.com | 端点(与官方路由同源) |
DSH_VISION_PRO_BRIDGE_PROMPT |
内置英文转写提示词 | 覆盖转写提示词(例如改为中文 UI 分析) |
已知限制
- 转写是有损的:布局/OCR 足够,精确像素坐标不如真视觉。
- 转写模型固定为
deepseek-v4-flash-vision-exp。 - 端点从
DEEPSEEK_BASE_URL解析,不读设置页里llm-deepseek的自定义项。 - 无降级链:转写失败时图片变成占位文本,对话继续。
备选
需要更完整功能(VLM 降级链、本地 Ollama、设置页、图片降采样)请看 dsh-vision-proxy。本插件是同一思路的极简、纯 DeepSeek、零依赖版本。
License
MIT
LIMITATIONS
已知限制
- 转写是**有损**的:布局/OCR 足够,精确像素坐标不如真视觉。 - 转写模型固定为 `deepseek-v4-flash-vision-exp`。 - 端点从 `DEEPSEEK_BASE_URL` 解析,不读设置页里 `llm-deepseek` 的自定义项。 - 无降级链:转写失败时图片变成占位文本,对话继续。
