mimo-multi
v0.5.20
Published
Enhanced fork of mimo2codex with visual fallback. Auto-detects images in requests and seamlessly switches non-vision MiMo models (pro/flash) to vision-capable models (v2.5). Local proxy for OpenAI Codex CLI/desktop ↔ Xiaomi MiMo.
Maintainers
Readme
mimo-multi · 中文文档
mimo2codex 的增强 fork,核心功能:视觉回退。
当你给不支持视觉的模型(如 deepseek-v4-pro)发图片时,mimo-multi 自动检测并切换到视觉模型——不会报错、不用手动切。
flowchart LR
A["Codex<br/>发图片"] --> B["mimo-multi<br/>:8788"]
B --> C{"图片 + 模型<br/>不支持视觉?"}
C -->|"否"| D["原模型<br/>(deepseek-v4-pro)"]
C -->|"是"| E["视觉模型<br/>(mimo-v2.5)"]
D --> F["返回结果"]
E --> F基于 mimo2codex v0.5.5,原作者 7as0nch。核心代理的所有功劳归于原作者。本 fork 只加了一个杀手级功能:视觉回退。
目录
视觉回退
很多强大模型(如 deepseek-v4-pro)不支持图片。发张图就报 404,以前得手动切模型——烦人。
mimo-multi 把它做成透明的。代理检测到非视觉模型收到图片时,自动路由到可用的视觉模型:
[visual-fallback] deepseek-v4-pro → mimo-v2.5 (image detected)- 能力路由 — 读取
supportsImages字段,非硬编码 - 同 provider 优先 — MiMo pro →
mimo-v2.5;必要时跨 provider - 零配置 — 开箱即用
- 日志可见 — 代理日志显示
[visual-fallback]
安装
三种方式任选,各取所需。
Docker(一键使用)
不需要 Node.js,不用 clone 代码,有 Docker 就能跑。
docker run -d -p 8788:8788 \
-e MIMO_API_KEY=你的MiMo密钥 \
-e DS_API_KEY=你的DeepSeek密钥 \
yvesnihaohaode/mimo-multi:latest管理界面:http://localhost:8788/admin
Docker Hub:yvesnihaohaode/mimo-multi
自动安装(推荐本地开发)
一条命令完成所有配置,无需手动编辑文件。
npx mimo-multi setup配置向导会依次询问 API Key 和模型偏好,自动生成 ~/.codex/auth.json 和 ~/.codex/config.toml——不用手写 JSON/TOML,不会打错字、不会格式错误。
然后启动:
export MIMO_API_KEY=你的MiMo密钥
mimo-multi --port 8788打开 Codex 就能用了。发张图试试,代理日志里会看到 [visual-fallback]。
手动安装(5 步)
1. 获取 MiMo API Key
前往 MiMo 控制台 → API Keys → 复制 key(sk- 或 tp- 开头)。
2. 安装
npm install -g mimo-multi需要 Node.js >= 18。
3. 启动代理
export MIMO_API_KEY=你的MiMo密钥
mimo-multi启动成功后会打印两段配置内容,分别对应 Codex 的两个配置文件。
4. 配置 Codex
把启动横幅打印的内容写到对应文件:
| 文件 | macOS / Linux 路径 |
|------|--------------------|
| auth.json | ~/.codex/auth.json |
| config.toml | ~/.codex/config.toml |
示例配置:
~/.codex/auth.json
{"OPENAI_API_KEY": "mimo-multi-local"}~/.codex/config.toml
model = "mimo-v2.5-pro"
model_provider = "mimo"
[model_providers.mimo]
name = "MiMo (via mimo-multi)"
base_url = "http://127.0.0.1:8788/v1"
wire_api = "responses"
requires_openai_auth = true5. 启动 Codex
codex
# 或在桌面端应用中打开之后发图片就会看到代理日志中的 [visual-fallback] 提示,无需任何手动操作。
完整功能文档(多 provider、Docker、Admin UI、通用 provider、cc-switch 集成等)详见上游 mimo2codex 文档。
使用方式
重要: 必须先启动 mimo-multi,再打开 Codex。电脑重启后 mimo-multi 不会自动运行——如果直接点开 Codex,它会往 localhost:8788 发请求但连不上。
方式一:手动启动(安装完即可用,无需额外配置)
每次启动两步:
# 第一步 — 启动代理
export MIMO_API_KEY=你的MiMo密钥
mimo-multi --port 8788 &
# 第二步 — 打开 Codex(桌面 App 或终端输入 codex)方式二:一键启动 + 切换模型(推荐)
一次性配置 — 安装 mimo-multi 后,把以下内容加到 ~/.zshrc(或 ~/.bashrc)。只需配一次。
先设置 API 密钥环境变量:
export MIMO_API_KEY=你的MiMo密钥
export DS_API_KEY=你的DeepSeek密钥然后添加启动命令:
codex-mimo() {
curl -s http://127.0.0.1:8788/admin/ > /dev/null 2>&1 || { MIMO_API_KEY=$MIMO_API_KEY DS_API_KEY=$DS_API_KEY mimo-multi --port 8788 & sleep 3; }
sed -i "" "s/^model = .*/model = \"mimo-v2.5-pro\"/" ~/.codex/config.toml
pkill -x Codex 2>/dev/null; sleep 1; open /Applications/Codex.app
echo "→ mimo-v2.5-pro"
}
codex-ds() {
curl -s http://127.0.0.1:8788/admin/ > /dev/null 2>&1 || { MIMO_API_KEY=$MIMO_API_KEY DS_API_KEY=$DS_API_KEY mimo-multi --port 8788 & sleep 3; }
sed -i "" "s/^model = .*/model = \"deepseek-v4-pro\"/" ~/.codex/config.toml
pkill -x Codex 2>/dev/null; sleep 1; open /Applications/Codex.app
echo "→ deepseek-v4-pro"
}执行 source ~/.zshrc 让配置生效。
以后每次 — 一条命令搞定一切:
codex-mimo # 启动代理 + 切到 mimo-v2.5-pro + 打开 Codex
codex-ds # 启动代理 + 切到 deepseek-v4-pro + 打开 Codex每条命令自动做三件事:(1) 如果 mimo-multi 没在运行就启动它,(2) 切换 config.toml 中的模型名,(3) 重启 Codex。电脑重启后,只需输入 codex-mimo 或 codex-ds 就能直接开始用。
Windows
三种安装方式均支持 Windows,mimo-multi 命令原生运行,无需 WSL。
安装
| 方式 | 步骤 |
|---|---|
| Docker | 安装 Docker Desktop,执行与上文相同的 docker run 命令 |
| npx mimo-multi setup | 安装 Node.js(>= 18,含 npm/npx),在 PowerShell 中运行 npx mimo-multi setup |
| npm install -g | 安装 Node.js,在 PowerShell 中运行 npm install -g mimo-multi |
一键启动 + 切换模型(PowerShell)
一次性配置 — 打开 PowerShell,编辑配置文件(notepad $PROFILE),添加以下内容:
# API 密钥(替换为你的真实密钥)
$env:MIMO_API_KEY = "你的MiMo密钥"
$env:DS_API_KEY = "你的DeepSeek密钥"
function codex-mimo {
try { Invoke-WebRequest -Uri http://127.0.0.1:8788/admin/ -UseBasicParsing -TimeoutSec 2 | Out-Null } catch {
Start-Process mimo-multi -ArgumentList "--port 8788" -NoNewWindow
Start-Sleep 3
}
(Get-Content "$env:USERPROFILE\.codex\config.toml") -replace '^model = .*', 'model = "mimo-v2.5-pro"' | Set-Content "$env:USERPROFILE\.codex\config.toml"
Stop-Process -Name "Codex" -Force -ErrorAction SilentlyContinue
Start-Sleep 1
Start-Process "Codex.exe"
Write-Host "→ mimo-v2.5-pro"
}
function codex-ds {
try { Invoke-WebRequest -Uri http://127.0.0.1:8788/admin/ -UseBasicParsing -TimeoutSec 2 | Out-Null } catch {
Start-Process mimo-multi -ArgumentList "--port 8788" -NoNewWindow
Start-Sleep 3
}
(Get-Content "$env:USERPROFILE\.codex\config.toml") -replace '^model = .*', 'model = "deepseek-v4-pro"' | Set-Content "$env:USERPROFILE\.codex\config.toml"
Stop-Process -Name "Codex" -Force -ErrorAction SilentlyContinue
Start-Sleep 1
Start-Process "Codex.exe"
Write-Host "→ deepseek-v4-pro"
}重启 PowerShell(或执行 . $PROFILE)后即可使用:
codex-mimo # 启动代理 + 切到 mimo-v2.5-pro + 打开 Codex
codex-ds # 启动代理 + 切到 deepseek-v4-pro + 打开 Codex提示: 如果 Codex 安装在非默认路径,请将
"Codex.exe"替换为完整路径。
与上游 mimo2codex 的区别
| | mimo2codex | mimo-multi | |---|---|---| | 非视觉模型 + 图片 | 丢弃图片,替换为占位文本 | 自动切换到视觉模型 | | 视觉模型 + 图片 | 正常工作 | 正常工作 | | 手动切模型 | 图片场景需要手动 | 不需要 |
上游同步
本 fork 通过 GitHub Actions(.github/workflows/sync-upstream.yml)自动跟踪上游更新:
- 每天检测一次 mimo2codex 新版本
- 与视觉回退补丁无冲突时自动合并
- 若
src/server.ts出现冲突则自动创建 Issue(概率极低——仅改动约 20 行代码)
许可证
MIT,见 LICENSE。基于 7as0nch 的 mimo2codex。
