ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Claude Code 接入小米 MiMo 后图片识别失效?一份 settings.json 排错清单

Claude Code 接入小米 MiMo 后图片识别失效?一份 settings.json 排错清单 1. 先搞清楚为什么一传图片就报「selected model」错误Claude Code 接入小米 MiMo 之后纯文本对话一切正常但只要把图片拖进对话框就会立刻弹出Theres an issue with the selected model (mimo-v2.5-pro[1m]). It may not exist or you may not have access to it. Run /model to pick a different model.更让人抓狂的是这个报错一旦出现后面哪怕只发纯文字也会一直复读同一句话整个会话像被卡死一样。这个现象的本质不是 Claude Code 坏了也不是 TaoToken 的 API 通道有问题而是你当前选中的模型本身不支持图片输入。MiMo 系列里真正具备视觉理解能力的只有mimo-v2.5和mimo-v2-omni这两个型号而mimo-v2.5-pro[1m]虽然上下文窗口大、文本推理强但它是一个纯文本模型收到 image block 时会直接判定为「模型不可用」于是抛出上面那条错误。Claude Code 的会话状态机有个特点一旦某次请求因为模型能力不匹配被拒绝它会把这个失败状态缓存到当前会话里后续请求继续复用同一个模型 ID所以文本也跟着一起报错。临时解法是/compact压缩上下文或者直接开新会话但这只是把错误状态清掉并没有解决「图片识别」这个根本需求。这篇清单要交付的东西很具体一份可以直接复制的settings.json配置骨架加上逐项验证动作帮你把「模型选择」「图片输入能力声明」「请求参数」这三者之间的错配点一个个定位出来。适合已经在用 Claude Code TaoToken 通道、并且踩过这个坑的开发者。2. 前置准备TaoToken 统一 Key 与 Claude Code 的接入关系在动手改配置之前先把链路理清楚。Claude Code 本身是一个 CLI 形态的编码 Agent它默认走 Anthropic 的接口协议而 MiMo 是小米的大模型接口形态和 Anthropic 不完全一样。中间需要一层统一通道来做协议适配和 Key 管理TaoToken 就是干这个的。你需要准备的东西一个 TaoToken 账号并在控制台创建一个 API Key。地址是https://taotoken.net/apiKey 管理页面在 console 里具体入口是https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite。本地已经装好 Claude Code CLI能正常跑claude命令。确认你的 TaoToken 账户下已经开通了 MiMo 系列模型的调用权限。这里有个容易忽略的点Claude Code 读取模型配置有两个来源一个是环境变量ANTHROPIC_MODEL另一个是项目或用户目录下的settings.json。两者同时存在时settings.json里的model字段优先级更高。很多人改了环境变量却发现没生效就是因为settings.json里还留着旧的模型名。注意不要把 TaoToken 的 Key 硬编码进会提交到 Git 的配置文件里。推荐用环境变量注入settings.json里只写模型映射和通道地址。3. 可复制配置settings.json 骨架与模型映射下面这份骨架是我实测能跑通图片识别的版本。Claude Code 的配置文件一般放在~/.claude/settings.json用户级或项目根目录的.claude/settings.json项目级。项目级会覆盖用户级排错时建议先只保留一份避免互相干扰。{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的TaoToken密钥, ANTHROPIC_MODEL: mimo-v2.5, ANTHROPIC_SMALL_FAST_MODEL: mimo-v2.5 }, model: mimo-v2.5, permissions: { allow: [] } }关键字段逐个说明字段作用图片识别场景下的取值ANTHROPIC_BASE_URL请求发往的统一通道地址https://taotoken.net/apiANTHROPIC_AUTH_TOKEN鉴权 Key你的 TaoToken KeyANTHROPIC_MODEL主模型必须是mimo-v2.5或mimo-v2-omniANTHROPIC_SMALL_FAST_MODEL轻量任务模型同样要选支持视觉的型号否则子任务会报错modelClaude Code 会话默认模型与主模型保持一致很多人只改了model字段却忘了ANTHROPIC_SMALL_FAST_MODEL。Claude Code 在处理图片时会先调用小模型做一些预处理比如判断图片类型、生成摘要如果小模型是纯文本型号照样会触发selected model报错。这是最隐蔽的一个坑。如果你确实需要在不同场景下切换模型比如文本任务用mimo-v2.5-pro[1m]、图片任务用mimo-v2.5那就要接受「切模型丢上下文」这个代价。Claude Code 目前不支持在同一会话里动态切换模型并保留历史切换等同于开新会话。想两全其美只能走 MCP 单独封装一个图片识别工具让主模型保持 pro图片走 MCP 调用mimo-v2.5。4. 验证请求确认图片真的被识别了配置改完别急着传图先做三步验证把问题范围缩小。第一步验证通道和 Key 是否通。在终端里直接发一个纯文本请求curl -X POST https://taotoken.net/api/v1/messages \ -H Content-Type: application/json \ -H x-api-key: sk-你的TaoToken密钥 \ -H anthropic-version: 2023-06-01 \ -d { model: mimo-v2.5, max_tokens: 64, messages: [{role: user, content: 回复 OK 两个字母}] }如果返回里有正常的文本内容说明通道和 Key 没问题。如果这里就报 401 或 404那问题在 Key 或模型名跟 Claude Code 无关。第二步验证模型是否真的支持图片。用同一个接口发一个带 image block 的请求curl -X POST https://taotoken.net/api/v1/messages \ -H Content-Type: application/json \ -H x-api-key: sk-你的TaoToken密钥 \ -H anthropic-version: 2023-06-01 \ -d { model: mimo-v2.5, max_tokens: 128, messages: [{ role: user, content: [ {type: image, source: {type: base64, media_type: image/png, data: 你的base64}}, {type: text, text: 描述这张图} ] }] }返回里如果是对图片内容的描述说明模型视觉能力正常。如果这里报model not support image之类的错误那就是模型选错了回去检查ANTHROPIC_MODEL是不是写成了mimo-v2.5-pro[1m]。第三步回到 Claude Code 里实测。开一个全新会话先发一句纯文本确认对话正常再拖一张图进去。如果图片能被描述出来整条链路就通了。如果还是报selected model用/model命令看一下当前会话实际用的模型 ID 是什么大概率和你配置文件里写的不一致。提示Claude Code 的/model命令会显示当前生效的模型。如果显示的是mimo-v2.5-pro[1m]说明你的settings.json没被加载检查文件路径和 JSON 语法。5. 本篇常见错排查清单把上面几步跑下来大部分问题都能定位。下面是我踩过的几个典型坑按出现频率排序。坑一模型名带后缀导致匹配失败。mimo-v2.5-pro[1m]里的[1m]是上下文长度标记不是模型名的一部分。有些配置里写成mimo-v2.5-pro-1m或者漏掉方括号都会导致模型解析失败。正确写法就是mimo-v2.5不带任何后缀。坑二settings.json 位置放错。Claude Code 会同时读用户级和项目级配置项目级优先。如果你在项目里改了配置但没生效检查是不是用户级~/.claude/settings.json里还有一份旧配置在覆盖。排错时建议先只保留一份。坑三环境变量和配置文件冲突。如果你在 shell 里export ANTHROPIC_MODELmimo-v2.5-pro[1m]同时settings.json里写的是mimo-v2.5实际生效的是配置文件里的值。反过来如果配置文件里没写model字段才会用环境变量。两者都写且不一致时以配置文件为准。坑四图片格式或大小超限。MiMo 的视觉接口对图片有格式要求支持 PNG、JPEG、WebP单张图片 base64 编码后不能超过一定体积。如果你传的是 BMP 或者超大图可能不是模型选择问题而是图片本身被拒。先用小尺寸 PNG 测试。坑五会话状态污染。前面提到的「报错后文本也跟着报错」就是会话状态被污染了。这时候改配置没用必须/compact或者开新会话。养成习惯每次改完模型配置都开新会话测试别在旧会话里验证。坑六MCP 工具和主模型抢图片。如果你同时装了图片识别类的 MCPClaude Code 可能会把图片优先路由给 MCP 而不是主模型。这时候要检查 MCP 的触发条件避免和主模型的视觉能力冲突。如果你打算自己写 MCP 来兜底图片识别可以参考社区里已有的实现思路把图片单独走mimo-v2.5调用主模型保持 pro 不变。6. 后续怎么选模型对话、Coding Plan 还是接入文档排错排到这里你应该已经能正常识别图片了。接下来根据自己的使用场景选后续动作。如果你只是想快速验证 MiMo 的图片识别效果不想折腾 CLI 配置可以直接用模型对话页面测试地址是https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodelsutm_campaignrewrite在里面选mimo-v2.5传图就能看到结果。如果你是长期用 Claude Code 做编码、并且经常需要图片输入比如看设计稿写代码、识别报错截图建议把模型固定成mimo-v2.5接受它文本推理略弱于 pro 的代价。或者上 Coding Plan地址是https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite把编码和图片任务分开管理。如果你需要更细的接入参数比如请求头、超时、重试策略直接翻接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite。Key 的创建和管理在 API Keys 页面https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite。最后说一个我自己的经验Claude Code 的模型配置改动后一定要用/model命令确认当前会话实际生效的模型 ID别只看配置文件。配置文件写对了但会话没重新加载的情况我遇到过不止一次。开新会话是最稳妥的验证方式。
返回列表