前言¶
DeepSeek Harness(DSH)把「一切皆插件」贯彻得很彻底:对话模型、工具集、界面能力,都可以按需拼装。但对不少开发者来说,日常用的仍是纯文本模型——DeepSeek、Qwen 或其他 OpenAI 兼容路由,本身并不接收图片。社区里已有不少视觉插件,常见做法是把图片先「翻译」成一段文字描述,再交给主模型推理。这条路能跑通,却容易丢像素细节,也难做多步、可验证的图像操作。
dsh-vision-router 是维护者 ysr666 开源的 DSH 视觉路由插件(GitHub 约 964 star,MIT 许可证)。它的思路不同:视觉模型只当「眼睛」,DeepSeek 继续当「大脑」;图片轮次像普通工具调用一样工作,内置免密钥免费视觉链路,并附带 14 个像素级视觉工具。下文基于 SkillHub 目录页 与 GitHub 仓库 README 核实后整理。
这是什么¶
一句话定位:给纯文本 DSH 智能体补上一套可路由、可工具化的视觉能力。
它解决的核心痛点包括:
- 纯文本模型无法直接看图,又不想为每张图手动切模型;
- 传统「描述桥接」把图像压成文字,定位、裁剪、像素对比等精细操作难以复现;
- 视觉 API 配置繁琐,希望开箱即用、失败能自动换后端。
与部分社区方案相比,dsh-vision-router 走的是 路由桥接:图像轮次把原始像素交给视觉模型处理,DeepSeek 侧仍负责推理与编排;默认还提供 OVHcloud 匿名视觉端点,无需注册即可试用(有速率限制)。
核心功能与亮点¶
1. 大脑与眼睛分离¶
文本轮次不改动你选定的日常模型;只有需要看图时,才通过内部视觉包装路由调用视觉后端。视觉答案会按附件内容哈希缓存,后续文字轮可引用历史图片描述,减少重复识图开销。
2. 内置免费视觉链路¶
默认启用 OVHcloud 匿名视觉回退链,无需 API Key。官方说明中,匿名额度约为 每个 IP、每个模型 2 次/分钟;链路内多个模型有独立桶,理论合计约 10 RPM。若需更高配额,可在插件设置中配置智谱、百炼、Intern AI 等免费视觉渠道,或申请 OVH 访问密钥(README 记载免费档可达约 400 req/min)。
3. 14 个像素级视觉工具¶
默认从会话启动即注册完整工具 schema(progressiveTools: false),避免中途扩展工具列表影响长上下文缓存。核心工具包括:
| 工具 | 作用 |
|---|---|
vision_describe |
图像问答、多图对比、结构化 JSON 证据输出 |
vision_ground / vision_detect |
按描述定位目标,返回原始像素坐标 |
vision_crop |
按像素框裁剪放大 |
vision_pixel_diff |
像素级对比,输出差异率与热力图 |
vision_ocr |
本地 Tesseract 优先,失败回退视觉模型 |
vision_colors |
主色提取 |
vision_trace |
SVG 矢量化(适合图标/Logo) |
vision_extract_foreground |
纯色背景抠图 |
vision_html_screenshot |
本地 HTML 无头截图 |
vision_long_screenshot_ocr |
长截图分块 OCR 并拼接 |
vision_present |
把生成图发布为会话附件 |
vision_materialize |
把附件落到工作区路径,供本地解析 |
vision_bootstrap |
可选的结构化首轮视觉证据采集 |
另有 vision_screenshot(桌面截屏)需显式开启隐私开关。整套图像处理基于 sharp / potrace / tesseract / 系统 Chrome,不依赖 Python。
4. 可验证的像素闭环¶
适合 UI 还原、设计稿比对等场景:参照图 → vision_html_screenshot 生成实现 → vision_pixel_diff 量化差异 → 修复 → 再对比。README 示例中,最终差异可收敛到约 2.54%。
5. 自动降级与选择性代理¶
视觉后端按链路依次尝试:用户配置的视觉模型 → 可选本地 Ollama / LM Studio → 自定义 HTTP 端点 → 内置匿名 OVH 回退。遇到地区限制、额度、429 限流、网络错误等会分类处理并尝试下一后端;仅视觉供应商域名可走代理,DeepSeek 保持直连。
6. 一条命令安装¶
插件自带 dsh.bundle.patch,通过官方 CLI 安装即可自动接入 admission 包装与附件限制,无需手改配置文件。
安装与启用¶
环境要求(来自 README):
- DeepSeek Harness Web profile
- 主机侧 Node ≥ 22
- 默认免费链路无需 API Key;
vision_html_screenshot需要本机 Chrome/Chromium/Edge
常规 npm/npx 安装,一条命令:
npx @deepseek-ai/dsh plugin --profile web add dsh-vision-router
若从 DeepSeek Harness 源码仓库用 pnpm 开发,可改用:
cd deepseek-harness
pnpm dsh plugin --profile web add dsh-vision-router
全局已安装 dsh CLI 时,也可简写为 dsh plugin --profile web add dsh-vision-router。安装后按平常方式启动或重载 DSH Web;若 Web 进程长期运行,建议让其重载一次以发现新插件包。
可选验证:
npx @deepseek-ai/dsh --profile web --dump-config | grep vision-router
注意:若 profile 里已通过
cordis.patch.yml手动加载社区插件,不要与dsh plugin add混用,否则可能重复注册。详见 deepseek-harness discussion #2889。
典型用法¶
第一步:选择日常模型,再打开「👁 Vision」¶
右下角模型选择器仍决定你的对话/推理模型(DeepSeek、Qwen 等)。需要发图时,在输入框旁点击 「👁 Vision」:
👁 Vision:视觉关闭;👁 Vision ✓:已切换到对应模型的内部视觉包装路由。
该状态会跨轮次保持,不会自动复位。粘贴或上传图片不会自动开启视觉,发图前务必确认显示 👁 Vision ✓。
第二步:正常发图,让 Agent 调工具¶
开启视觉后,直接粘贴或上传图片即可。Agent 可像普通工具轮次一样连续调用,例如:
vision_ground image="ref.png" target="the send button"
vision_crop image="ref.png" region="1067,841,1108,881"
vision_describe paths=["ref.png","impl.png"] question="list the differences" json=true
vision_pixel_diff original="ref.png" rebuilt="screenshot.png"
vision_ocr image="screenshot.png"
第三步:按需调整视觉后端(可选)¶
大多数场景默认可用。进阶配置在 设置 → 插件 → 插件配置 → 视觉路由(自动识图):
- 视觉后端链:为
vision_describe等工具指定已配置的图像模型; - 自动创建视觉包装:默认开启,跟随模型目录热更新;
- 本地视觉:可启用 Ollama(如
qwen2.5vl)或 LM Studio 做离线优先识别; - 隐身模式(stealth):默认关闭;开启后会接管官方
deepseek-official路由,需按 README 调整 profile。
本地 Ollama 示例(profile patch):
- id: vision-router
config:
localOllama:
enabled: true
baseURL: 'http://127.0.0.1:11434/v1'
model: 'qwen2.5vl'
instantDescribe: true
localDescribeStyle: 'structured'
适用场景与注意事项¶
适合谁:
- 日常用纯文本 DeepSeek 模型,但偶尔需要看图、比图、读截图;
- 做前端/UI 还原,希望有像素级验证闭环;
- 想先零配置试用视觉能力,再逐步接入自有 VLM Key 或本地 Ollama。
使用注意:
- 权限与安全:插件以当前 dsh 进程权限运行,安装前请阅读源码与 MIT 许可证,确认工具(如桌面截屏、文件读写)符合你的安全策略。
- 免费额度:匿名 OVH 链路有速率上限,生产环境建议配置自有视觉后端。
- 图像证据不可信:描述、OCR 等输出会标注为不可信证据,避免执行图片内嵌指令。
- 与其他插件共存:若同时安装
dsh-web-ui等会改写图片发送的插件,需关闭其「发送时改写为 describe-image 引用」选项,以免拦截原始图像块。 - 生态说明:SkillHub 与 DeepSeek Harness 插件库 均为独立社区目录,与 DeepSeek / 幻方无官方从属关系;插件列表仅供发现与溯源,不代表官方背书。
结尾¶
如果你已经在用 DeepSeek Harness 处理代码与文档,却总在「发图」这一步卡住,dsh-vision-router 值得试一次:一条命令装上,免费链路先跑起来,需要时再接入自己的视觉模型或本地 Ollama。它把「看图」从一次性描述,变成了可组合、可度量、可重复的工具链。