平时用 Claude Code 接第三方模型的朋友可能遇到过这种情况:想让 AI 看张截图,结果模型是纯文本的,读图直接返回 [Unsupported Image],只能干瞪眼。今天分享一个开源项目 claude-vision-skill,能给 DeepSeek V4 Pro 借一双眼睛,几分钟就能配好,下面从安装到使用走一遍。
简介
DeepSeek V4 Pro 这类模型本身不带视觉能力,在 Claude Code 里直接发图片,Read 工具读到的只会是一句 [Unsupported Image]。
思路不复杂:文本模型看不见图,那就找一个看得见的。先把图片发给一个支持视觉的模型,让它把图片内容转录成文字描述,再把这段文字交回给 DeepSeek 继续推理。对文本模型来说,它只是多收到了一段上下文,但实际效果就等于"看图"了。
claude-vision-skill 就是这个思路的一个轻量级开源实现:它是一个标准的 Claude Code Skill,配置好之后直接发图片就能自动识图,不用手动敲命令。对 人工智能 领域的多模态能力补全来说,这类"外挂视觉"的方案相当实用。
工作原理
整个识图链路是这样的:
用户发图片
↓
claude-vision-skill 被触发(SKILL.md 的 description 自动匹配)
↓
运行 vision.js <图片路径> "<prompt>"
↓
读取 .env(dotenv 注入环境变量)
↓
图片 → base64 → POST 到视觉模型 API(OpenAI 兼容格式)
↓
返回文字描述 → 交回 DeepSeek 继续推理
也就是说,真正"看图"的是视觉模型,DeepSeek 拿到的是文字转录结果。认得准不准、快不快、花多少钱,都取决于前面这个视觉模型,本文用的是阿里云百炼的 qwen-vl-max。
安装
- 使用
git clone https://github.com/asuojun/claude-vision-skill.git 克隆仓库,并放到用户级 skills 目录 ~/.claude/skills/claude-vision-skill/,我这里是全局安装。

- 仓库原始 SKILL.md 写死了作者机器路径
/Users/wwu/.codex/skills/claude-vision-skill/vision.js,共 3 处(本地路径 / --url / --clipboard 三种场景),需替换为本机绝对路径。

- 在 skill 目录(
vision.js 旁边)创建 .env,填入 DASHSCOPE_API_KEY(必填)、VISION_MODEL(qwen-vl-max 或 qwen3.5-omni-plus)、DASHSCOPE_BASE_URL 三个配置项,API Key 在阿里云百炼控制台申请。
# 阿里云百炼 API Key(必填)
DASHSCOPE_API_KEY=sk-你的Key
# 视觉模型名
VISION_MODEL=qwen-vl-max
# 阿里云百炼 OpenAI 兼容接口地址(一般不用改)
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
vision.js 加载 .env 的 require("dotenv") 包在 try { } catch {} 里,不装 dotenv 会静默失败、Key 退回默认值 sk-xxx,所以必须在 skill 目录执行 npm install dotenv,这是最容易踩的坑:不装 dotenv 不会有任何报错,.env 却完全不生效。
cd ~/.claude/skills/claude-vision-skill
npm install dotenv
- 在 skill 目录下运行
node vision.js "图片路径" "请描述这张图片" 试一下,能输出图片的详细描述就算装好了。

使用
Claude Code 自动触发
装好之后什么都不用做,在 Claude Code 会话里直接发图片就行——本地路径、粘贴截图、图片 URL 都支持,Skill 会根据 SKILL.md 的 description 自动匹配触发,视觉模型返回的文字描述会直接进入上下文,DeepSeek 接着往下分析。
这里以我的 mall-swarm 微服务电商项目的架构图为例,介绍下它的使用:

复制图片后粘贴到 Claude Code 中去,再随便问一句,比如「这张图片里有什么」。这里使用的是 DeepSeek V4 Pro 模型,本身并没有识图能力,但借助这个 Skill 也能把图认出来。

手动命令
如果想在终端里直接用,或者自动触发没生效,也可以手动运行 vision.js,三种场景都支持:
# 本地图片
node ~/.claude/skills/claude-vision-skill/vision.js "C:/path/to/image.png" "请描述这张图片"
# 网络图片
node ~/.claude/skills/claude-vision-skill/vision.js --url "https://example.com/image.png" "请描述这张图片"
# 剪贴板图片(Windows 用仓库附带的 clipboard.ps1)
node ~/.claude/skills/claude-vision-skill/vision.js --clipboard "请描述这张图片"
vision.js 还内置了回退逻辑:给了本地路径但文件不存在时,会自动回退去读剪贴板;完全没给路径和 URL 时,也会自动尝试剪贴板。如果不想要这个行为,加 --no-fallback 参数即可直接报错。
总结
DeepSeek V4 Pro 这类纯文本模型虽然不能直接看图,但通过 claude-vision-skill 把图片交给视觉模型转录成文字,再交回文本模型推理,几分钟就能配好,而且配置一次全局可用。感兴趣的朋友不妨安装体验一下,给手里的文本模型也补上识图能力。相关配置细节可以参考 技术文档 板块里的避坑指南。
项目地址
https://github.com/asuojun/claude-vision-skill