Claude Code 接国产模型不能识图?一个 MCP 让纯文本模型也能看图

我给纯文本模型装了双「眼睛」:纯文本大模型也能看图了

起因:一个让人抓狂的 400 报错

自从用上 Claude Code,我的 coding 效率确实起飞了。但有个坎一直过不去--

像 GLM、DeepSeek 这类纯文本模型,在 Claude Code 里有个致命问题:

你截个 bug 图、贴个设计稿,想问它"这报错咋整""这页面照着还原一下",结果直接 400 Bad Request。

原因很简单:这些模型压根不支持图片输入,Claude Code 把图片塞进请求里,上游直接拒收。

workaround 也不是没有:自己先把图丢给豆包/GLM-4V 识一遍,把文字描述复制回来,再喂给 Claude Code。能用,但每次都这么搞,人是会疯的。

于是我花了个周末写了 image-vision-mcp,一个让 Claude Code 拥有图像识别能力的 MCP server。一行 npx 接入,Ctrl+V 直接贴图,纯文本模型也能"看图说话"。

它能干什么

项目里其实是两个能力,可以单独用,也能组合用。

能力一:MCP 识图工具(默认)

给 Claude Code 装一个 vision_describe_image 工具,支持本地文件路径 和网络图片 URL 两种输入。装完之后,对 Claude 说:

javascript 复制代码
识别这张图:C:/Users/me/screenshot.png
描述一下这张网络图片:https://example.com/chart.png
按设计图还原规格解析:C:/Users/me/design.png
分析这个测试截图里的可见问题:C:/Users/me/bug.png

Claude 会自动调用识图工具。

能力二:HTTP 图片拦截代理(高级玩法,重点)

这才是真正解决痛点的部分。

你在 Claude Code 和上游 LLM 之间架一层本地代理 (监听 127.0.0.1:8787)。当请求里带图片时,代理会:

  1. 拦截请求中的图片;
  2. 调一个视觉模型(豆包、Kimi、GLM-4V、Qwen-VL 任选)把图片转成文字描述;
  3. 把图片替换成描述文字,再转发给上游纯文本模型。

对上游模型来说,它收到的永远都是纯文本------400 报错?不存在的。

rust 复制代码
┌───────────────────────────────────────────────────────────┐
│ Claude Code                                                │
│   ├─ 调用 MCP 工具 vision_describe_image -> 视觉模型 API    │
│   └─ 发送消息(含图片)-> http://127.0.0.1:8787 (本代理)    │
│                            ↓                               │
│                  代理拦截图片 -> 调视觉模型识别 -> 替换为文字 │
│                            ↓                               │
│                  转发纯文本请求 -> 上游 LLM API(如 GLM)    │
└───────────────────────────────────────────────────────────┘

装好代理之后,体验是这样的:

在输入框里 Ctrl+V 粘贴图片,随手打一句"这图里有啥问题",回车。

不用先说"识别图片",不用关心关键词------贴就完事了。

最让我得意的一个设计:自动分类识图

写这个工具的过程中,我发现一个事:不同类型的图,你其实想要的信息完全不一样。

  • 设计稿 -> 你想要的是能直接还原的 HTML/CSS 规格、token、布局;
  • 原型图/线框图 -> 你想要的是页面结构、交互逻辑的理解;
  • bug 截图 -> 你想要的是异常信息、报错堆栈的定位分析;
  • 普通图片 -> 老老实实描述内容就行。

所以我在 vision_describe_image 里内置了一个 auto 自动分类模式 :视觉模型先判断这张图属于哪一类,再用对应的提示词模板输出结构化结果------而且是专门为纯文本大模型"能看懂、能接着干活"优化的结构。

四种模式可以显式指定:

mode 适用场景
auto(默认) 自动判断,省心
design_rebuild 设计图还原成代码规格
prototype_understanding 原型图/线框图结构理解
bug_screenshot 测试/异常截图分析
general 普通图片描述

代理模式下也一样:哪怕你不写"还原/原型/bug"这些关键词,视觉模型也会先自动分类,再把对应的分析结果连同你的问题一起发给上游。

接入只要 1 分钟

Step 1:配 MCP server

编辑 ~/.claude.json(以火山方舟豆包为例,换成 Kimi / 智谱 / 通义都行,改下三个变量就好):

json 复制代码
{
  "mcpServers": {
    "vision-mcp": {
      "command": "npx",
      "args": ["-y", "image-vision-mcp"],
      "env": {
        "VISION_API_KEY": "你的火山方舟-api-key",
        "VISION_BASE_URL": "https://ark.cn-beijing.volces.com/api/v3",
        "VISION_MODEL": "doubao-seed-2-1-turbo-260628"
      }
    }
  }
}

到这一步,MCP 识图工具已经能用了。想用代理粘贴图,再加 Step 2。

Step 2:让 Claude Code 走代理

编辑 ~/.claude/settings.json:

json 复制代码
{
  "env": {
    "UPSTREAM_BASE_URL": "https://你的上游-llm-api-地址",
    "ANTHROPIC_BASE_URL": "http://127.0.0.1:8787",
    "ANTHROPIC_AUTH_TOKEN": "你的上游-llm-api-token"
  }
}

重启 Claude Code,Ctrl+V 贴图,搞定。

支持的视觉模型 (凡是 OpenAI 兼容 /chat/completions 端点、支持 image_url + base64 的都行):

平台 模型示例
火山方舟(豆包) doubao-seed-2-1-turbo-260628
月之暗面 Kimi kimi-k2.6
智谱 glm-4v-plus / glm-4.5v
阿里百炼 qwen-vl-max / qwen2.5-vl-72b-instruct
硅基流动 Qwen/Qwen2-VL-72B-Instruct 等
OpenAI gpt-4o / gpt-4o-mini

小贴士:火山方舟上目前只有豆包系列支持视觉输入,GLM/DeepSeek 在方舟上是纯文本。要用 GLM-4V / Qwen-VL,走对应平台或硅基流动。

几个值得说说的工程细节

写完才发现,真正费功夫的不是"能跑通",而是这些边角:

  • 防 SSRF :默认拒绝访问内网/私有网络图片 URL,想放开得显式设 ALLOW_PRIVATE_NETWORK_IMAGES=1。一个本地代理不防这点,迟早出事。
  • max_tokens 按模式分配 + 截断自动升级:不同识图模式输出长度差异很大,设计图还原可能很长。按模式分配 token 预算,输出被截断时自动升档重试,避免设计稿还原到一半断了。

我平时的用法

  • 看报错:测试跑挂了截个图丢进去,"分析下这个测试截图里的可见问题",比复制日志快;
  • 还原设计稿:Figma 截图直接贴,"按设计图还原规格解析",输出能直接拿去改的 HTML+token;
  • 看原型图:产品给的原型线框图,"理解下这个页面的结构和交互";
  • 读图表:年报里的数据图、监控大盘截图,"分析下图表数据"。

本质上就是把 Claude Code 从"只能读字"变成"也能看图",而且不挑后端模型------你继续用国产文本模型,识图这事儿交给专门的视觉模型。

写在最后

项目开源在 github.com/staticdeng/...,MIT 协议,npx -y image-vision-mcp 即用。架构上预留了扩展点,任何 OpenAI 兼容的视觉模型都能接,欢迎提 issue 和 PR。

如果你也在用 Claude Code + 国产模型,被"不能贴图"折磨过,不妨试一下。觉得有用的话,给个 ⭐ 是对我最大的鼓励 :)

相关推荐
Hpc_Fun3 分钟前
医学影像 AI 工作站怎么配?五类工位、3 秒首幅的时延预算与验收脚本
人工智能
FII工业富联科技服务13 分钟前
如何提升工厂空间利用率与产线 UPH?从 Omniverse 布局优化到柔性自动化改造
人工智能·机器人·自动化·智能制造·omniverse·柔性生产·ai factory
sg_knight17 分钟前
Kimi Work 科研加速器:文献综述和论文润色的完整方法
llm·agent·ai编程·kimi·月之暗面·work·kimi work
深海鱼肝油ya19 分钟前
企业级RAG问答系统(一)数据处理模块
人工智能·大模型·pdf文件解析·rag问答系统·智能分块
本原财经21 分钟前
大厂争霸AI办公:个人Agent和AI硬件哪个才是答案?
大数据·人工智能
博谷25 分钟前
2026GEO概率化观测怎么做?BUGOOAI布谷GEO的采样与指标体系拆解
人工智能·ai
强哥聊算力31 分钟前
《算力江湖·国产GPU突围:摩尔线程故事》第四集:从图形到AI:摩尔线程为什么必须冲进大模型赛道?
运维·服务器·人工智能·ai·gpu算力
空堂与归1 小时前
百度开源 LoopVL:1B 循环视觉模型省 260 倍数据
人工智能·百度·ai·开源
哔哩哔哩技术1 小时前
Index-Translate:支持 150 种语言的多模态翻译模型是如何炼成的?
人工智能
sinat_286945191 小时前
Claude Code Review
人工智能·代码复审