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 + 国产模型,被"不能贴图"折磨过,不妨试一下。觉得有用的话,给个 ⭐ 是对我最大的鼓励 :)

相关推荐
极梦网络无忧1 小时前
real-ai-editor:一款轻量、智能的纯前端 AI 富文本与 Markdown 编辑器
前端·人工智能·编辑器
phltxy1 小时前
LangChain v1 Agent核心能力详解
大数据·人工智能·langchain
吴佳浩1 小时前
AI 核心技术解析|OPD:大模型开始复制的不再是知识,而是判断力
人工智能·深度学习·llm
东小西2 小时前
第14篇:《公司制度问答机器人上线:老板问"能加薪吗",AI回答"请看第三章第四条"》
openai·ai编程
数智化管理手记2 小时前
主数据重复、错漏频发?一站式主数据管理平台如何落地?
大数据·运维·数据库·人工智能·数据挖掘
thesky1234562 小时前
27届大模型岗面试准备(五):预训练全流程拆解——从数据清洗到 Tokenizer 再到 PT 的每
人工智能·面试·大模型·预训练·tokenizer
attitude.x2 小时前
2026年数据透视分析工具推荐:多维与融合对比
人工智能
就是一顿骚操作2 小时前
Agent Loop 入门到深入:从 ReAct 到 LangGraph、Agents SDK 与 MCP
人工智能·大模型·llm·论文解读·ai agent
quanjui2 小时前
【医学尝试】基于Segment Anything Model的医学图像分割研究:眼底OCT与X线胸片微调实战
人工智能·笔记·学习