A proxy that tricks OpenAI Codex into using MiMo
Because Xiaomi's official Codex integration breaks on newer versions, this local shim translates Responses API to Chat Completions on the fly.

What it does
mimo2codex sits between OpenAI’s Codex CLI/desktop app and upstream LLMs. It intercepts Codex’s native Responses API calls, translates them to standard OpenAI Chat Completions, and routes each request to the right provider based on the model field. Built-in support for Xiaomi MiMo V2.5 and DeepSeek V4 Pro, plus a generic provider mechanism for anything else (Qwen, GLM, Ollama, vLLM, etc.).
The interesting bit
The protocol shim is the whole product — no code changes on either side. MiMo’s official Codex docs only support wire_api = "chat", which newer Codex versions reject outright. Rather than downgrading Codex and losing features, you run this on 127.0.0.1 and Codex thinks it’s talking to a native Responses backend. Per-request routing means one process handles mixed providers without reconfiguration.
Key highlights
- Runs three ways:
npm -g, Docker with multi-user auth, or packaged Windows/macOS desktop app with tray UI and boot auto-start - Admin web console at
:8788for model aliases, chat logs, token stats, and one-click Codex config writes - Handles tool calling, parallel calls, web search translation, vision (with graceful image stripping for unsupported models), and reasoning content round-trip
- Auto-routes MiMo keys by prefix:
tp-*→ token-plan host,sk-*→ pay-as-you-go - SQLite persistence for logs and config;
--no-reasoningflag to hide thinking blocks from terminal
Caveats
/hatchpet generation is broken by design: Codex hardcodes OpenAI’simage_genclient-side, which the proxy layer can’t intercept, and MiMo has no image endpoint. Workaround via separatemimoskillservice.- Vision only works on
mimo-v2.5andmimo-v2-omni; other MiMo models get placeholder text instead of images.
Verdict
Worth a look if you’re committed to Codex but want to use MiMo, DeepSeek, or self-hosted models without maintaining a fork. The packaged desktop app lowers the barrier for non-technical users. Skip it if you don’t use Codex — this is glue code, and it knows it.