DeepSeek 视觉增强实战
DeepSeek 视觉增强实战
DeepSeek 是目前非常流行的纯文本推理模型,擅长代码、数学和逻辑推理,但有一个明显的短板:它没有视觉能力。直接发图片给它,它看不到图片内容。
这篇文章记录我用 ds-vision-skill + 阿里云百炼 给 DeepSeek 补上”眼睛”的完整过程,包括原理、安装、配置、验证和使用,照着做就能复现。
为什么要给 DeepSeek 装”眼睛”
纯文本模型的输入和输出都只有文字,无法直接理解图片、截图、扫描件和 PDF。一个通用的解决思路是加一层”视觉前置层“:
- 检测到用户输入的是图片或文档时,把视觉任务交给专门的视觉模型(如 Qwen-VL、GLM-4V、Claude);
- 视觉模型把图片内容转换成文字或结构化 JSON;
- 把转换结果交给 DeepSeek 继续推理、总结和回答。
这样 DeepSeek 负责它最擅长的推理,视觉模型负责”看图”,各司其职,还能在视觉通道失败时自动降级到其他通道或本地 OCR,不会让整个流程中断。
方案:ds-vision-skill
ds-vision-skill 是一个开源 Codex Skill,把这个”视觉前置层”做成了即插即用的组件。它不替代主模型,而是负责任务识别、工具选择、结果整理:
| 需求 | 路由 |
|---|---|
| 理解截图、图表、UI、照片或数学图片 | 视觉推理竞速池(GLM / Agnes) |
| 从图片提取纯文字 | Baidu OCR → Windows OCR |
| 解析 PDF、论文、报告 | MinerU |
| 使用自己的模型或中转服务 | custom-1 / custom-2 / custom-3 |
| 敏感内容本地处理 | Ollama / LM Studio / llama.cpp |
降级链:
1 | 图片理解: race(glm, glm-thinking, agnes-2.5-flash, agnes-2.0-flash) -> custom-1 -> custom-2 -> custom-3 -> local |
所有工具在 -Json 模式下输出统一结构,方便主模型读取:
1 | { |
安装
方式一(推荐):用 skill-installer 安装
1 | python "$env:USERPROFILE\.codex\skills\.system\skill-installer\scripts\install-skill-from-github.py" --repo Sorwcyra/ds-vision-skill --path . --name ds-vision-skill |
方式二:直接 git clone
1 | git clone https://github.com/Sorwcyra/ds-vision-skill "$env:USERPROFILE\.codex\skills\ds-vision-skill" |
安装后文件位于 ~/.codex/skills/ds-vision-skill/,重启 Codex 会话后技能即可生效。
配置视觉通道(阿里云百炼实战)
1. 注册并获取 API Key
登录阿里云百炼控制台,进入 API Key 管理页面创建 API Key。注意:不要把 key 明文发到聊天或提交到 git 仓库。
2. 选择视觉模型
本文使用的模型是 qwen3.5-omni-plus-2026-03-15(Qwen 系列 omni 模型,支持图片理解)。可以在百炼控制台确认自己的账号已开通该模型。
3. 配置自定义槽位
百炼提供 OpenAI 兼容接口,可以直接作为 ds-vision-skill 的自定义槽位:
1 | cd "$env:USERPROFILE\.codex\skills\ds-vision-skill\scripts" |
-Verify 会生成一张测试图实际调用一次模型,验证通过才会保存。成功输出类似:
1 | verify channel=custom-1 exit=0 |
key 写入当前用户级环境变量,输出自动脱敏。
4. 免费通道(可选)
如果还想配置免费的 GLM / Agnes 通道作为竞速池(一个 key 各自启用两个通道):
1 | .\setup.ps1 -SetKey -Channel glm -Key <GLM_API_KEY> -Verify |
验证
1 | .\setup.ps1 -Status # 查看各通道配置状态 |
验证出错时参考退出码:
| 退出码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 缺 key 或认证失败 |
| 3 | 限流 |
| 4 | 网络或服务端错误 |
| 5 | 模型 ID 无效或参数错误 |
使用
配置完成后,最简单的方式就是在 Codex 对话里直接发图片,skill 会自动完成识别和路由。也可以手动调用统一入口:
1 | .\vision-router.ps1 -Path <图片或PDF路径> -Prompt "请分析这个文件" -Intent reason -Json |
常用参数:
-Intent auto|reason|ocr|document:默认auto;纯文字提取用ocr,PDF 解析用document-Complex:图表、数学、复杂 UI、代码截图等推理场景-AccurateOcr:票据、扫描件、低清晰度文字-NoCache:强制重新调用模型,跳过缓存
实测返回示例(用测试图调用百炼):
1 | { |
注意事项
Key 安全:API key 不要明文出现在聊天、截图或代码仓库里,配置完成后建议定期轮换。删除通道配置:
.\setup.ps1 -RemoveKey -Channel <名称>。隐私:云端通道会把图片内容发送给对应服务商。处理合同、证件、医疗、财务等敏感内容时,优先使用 Windows OCR 或本地模型(Ollama)。
更新:本地安装是副本,不会自动跟随 GitHub 更新:
1
2.\check-update.ps1 # 检查新版本
.\update-skill.ps1 # 更新到最新版
小结
给 DeepSeek 配视觉能力的本质,是加一个”视觉前置层”:用专门的视觉模型看图,把结果变成 DeepSeek 擅长的文本或 JSON。ds-vision-skill 把这一层做成了即插即用的 Skill,配合阿里云百炼的 OpenAI 兼容接口,几分钟就能跑通。希望这篇实战记录对你有帮助。
