MiMo Vision Router:让纯文本模型秒变多模态
MiMo Vision Router:让纯文本模型秒变多模态
- MiMo Vision Router:让纯文本模型秒变多模态
- 背景
- 架构
- 安装
- 前置条件
- OpenCode
- Claude Code
- 技术实现
- OpenAI 路径 (OpenCode)
- Anthropic 路径 (Claude Code)
- 配置
- 故障排除
- 项目结构
- 链接
- 总结
MiMo Vision Router:让纯文本模型秒变多模态
背景
小米 MiMo 模型有两个版本:
- MiMo V2.5:支持多模态(图片+文本)
- MiMo V2.5 Pro:纯文本,不支持图片
问题:使用 Pro 模型时无法直接发送图片。
方案:本地代理自动将图片转为文字描述,Pro 模型也能"看懂"图片。
架构
支持的 AI 助手:
| AI 助手 | API 格式 | 安装命令 |
|---|---|---|
| OpenCode | OpenAI | .\setup.ps1 |
| Claude Code | Anthropic | .\setup-claude.ps1 |
安装
前置条件
- Node.js v18+
- 小米 MiMo API Key
OpenCode
git clone https://github.com/JoJohanse/mimo-vision-router.git cd mimo-vision-router.\setup.ps1# 重启 OpenCode,选择 "MiMo V2.5 Pro (Auto Vision)" 模型Claude Code
.\setup-claude.ps1# 使用启动器.\start-claude.ps1# 或手动$env:ANTHROPIC_BASE_URL ="http://127.0.0.1:3456"claude技术实现
OpenAI 路径 (OpenCode)
// 检测图片functionopenaiHasImages(content){returnArray.isArray(content)&&content.some(p=>p.type==='image_url');}// 用 V2.5 描述图片asyncfunctionopenaiDescribeImages(textParts,imageUrls,apiKey){constvisionContent=[{type:'text',text:`Context:${textParts.join('\n')}\n\nDescribe the image(s)...`},...imageUrls.map(url=>({type:'image_url',image_url:{url}}))];constresult=awaithttpsRequest('/chat/completions',{model:'mimo-v2.5',messages:[{role:'user',content:visionContent}],max_tokens:4096,},apiKey);returnJSON.parse(result.body).choices?.[0]?.message?.content||'';}// 替换图片为文字asyncfunctionopenaiProcessMessage(msg,apiKey){if(!openaiHasImages(msg.content))returnmsg;// ... 提取图片,调用 describeImages,替换为 [Image: 描述]}Anthropic 路径 (Claude Code)
// 检测图片functionanthropicHasImages(content){returnArray.isArray(content)&&content.some(p=>p.type==='image');}// Anthropic base64 → data URLfunctionanthropicImageToDataUrl(img){return`data:${img.source.media_type};base64,${img.source.data}`;}// 格式转换:Anthropic → OpenAIfunctionanthropicToOpenAI(body){constmessages=[];if(body.system)messages.push({role:'system',content:body.system});// ... 转换 messages 格式return{model:body.model,messages,max_tokens:body.max_tokens||4096};}两条路径完全独立,不共用图片处理逻辑。
配置
编辑proxy/server.js:
constPORT=3456;// 代理端口constUPSTREAM_HOST='token-plan-cn.xiaomimimo.com';// 小米 APIconstVISION_MODEL='mimo-v2.5';// 多模态模型安装脚本会自动修改 OpenCode 配置文件。
故障排除
# 检查代理状态curl http://127.0.0.1:3456/health# 检查端口占用netstat-ano|findstr :3456# 手动启动node proxy/server.js图片未处理?
- OpenCode:确认选择 “MiMo V2.5 Pro (Auto Vision)”
- Claude Code:确认环境变量
ANTHROPIC_BASE_URL已设置
项目结构
mimo-vision-router/ ├── setup.ps1 # OpenCode 安装 ├── setup-claude.ps1 # Claude Code 安装 ├── README.md / CLAUDE.md # 文档 └── proxy/ ├── server.js # 代理服务器 ├── mcp-launcher.js # MCP 生命周期管理 └── start.ps1 # 手动管理链接
- GitHub: https://github.com/JoJohanse/mimo-vision-router (如果帮到您,麻烦给个star)
- 小米 MiMo: https://xiaomimimo.com
总结
mimo-vision-router 通过本地代理解决了 MiMo V2.5 Pro 不支持图片的问题。
✅ 一键安装
✅ 支持 OpenCode + Claude Code
✅ 完全透明,用户无感知
✅ 开源免费
转载请注明出处。
