XiaomiMiMo/MiMo-Code

MiMoCode is a terminal-native AI coding assistant with persistent cross-session memory, multiple agents, workflows, skills, and support for mainstream LLM provider APIs.

  • 13.6k GitHub stars
  • TypeScript
  • ⚖️ MIT
  • 🎯 Intermediate
brew install --cask iterm2
XiaomiMiMo/MiMo-Code — repo preview

What it is

MiMoCode is a terminal-native AI coding assistant that reads and writes code, runs commands, manages Git, and keeps project understanding across sessions through a persistent memory system. It offers build, plan, and compose agents, subagents, task tracking, deterministic JavaScript workflows, and bundled skills. It also powers the Xiaomi MiMo Desktop app as its core engine and can connect to mainstream LLM provider APIs.

Who it's for

  • Developers who want an AI coding agent in the terminal
  • Users who need project knowledge preserved across sessions via memory and checkpoints
  • Teams wanting spec-driven or automated multi-agent workflows such as compose, deep-research, and fact-check
  • Users who want to connect their own OpenAI-compatible or mainstream LLM providers

Requirements

Requirements

  • macOS/Linux (curl install), Windows (PowerShell install), or npm for all platforms
  • Not supported in the built-in macOS Terminal.app; use iTerm2 or the VS Code integrated terminal
  • An account or API access for a provider (Xiaomi MiMo OAuth, Codex/ChatGPT OAuth, Claude Code import, API key, or custom OpenAI-compatible endpoint)
  • sox for voice input, which is available to MiMo logged-in users
  • claude or codex executables installed for the claude-code and codex skills to be exposed

Setup

  1. Install and run

    Install with the one-line script (macOS/Linux), PowerShell (Windows), or npm (all platforms), then launch mimo. The first launch guides you through provider configuration.

    bash
    # One-line install (macOS / Linux)
    curl -fsSL https://mimo.xiaomi.com/install | bash
    
    # One-line install (Windows PowerShell)
    powershell -ep Bypass -c "irm https://mimo.xiaomi.com/install.ps1 | iex"
    
    # Or install via npm (all platforms)
    npm install -g @mimo-ai/cli
    
    # Run
    mimo
  2. Fix WSL clipboard garbling

    If copying on WSL produces garbled text, install xsel.

    bash
    sudo apt install xsel
  3. Use iTerm2 on macOS

    The built-in macOS Terminal is not supported; iTerm2 or the VS Code integrated terminal is recommended.

    bash
    brew install --cask iterm2

Examples

Run the TUI over a remote host without lag

bash
bash
# Remote host
mimo serve --port 4096

# Local host: create the SSH port forward
ssh -N -L 4096:127.0.0.1:4096 user@remote-host

# Local host: connect from another terminal
mimo attach http://127.0.0.1:4096

What it does: Renders the TUI locally while only the MiMoCode server runs on the remote host, avoiding SSH lag.

Compact earlier for specific models

jsonc
jsonc
{
  "compaction": {
    "max_context": {
      "openai/gpt-5.6": "272K", // token count, "300K", "1M", or "50%" of the window
      "anthropic/*": "300K" // wildcards allowed, longest pattern wins
    }
  }
}

What it does: Sets a per-model compaction point lower than the model's own context window via compaction.max_context.

Custom OpenAI-compatible provider

jsonc
jsonc
{
  "$schema": "https://mimo.xiaomi.com/mimocode/config.json",
  "model": "custom/MODEL_NAME",
  "provider": {
    "custom": {
      "name": "Custom",
      "npm": "@ai-sdk/openai-compatible",
      "only_configured_models": true,
      "models": {
        "MODEL_NAME": {
          "name": "MODEL_NAME"
        }
      },
      "options": {
        "baseURL": "BASE_URL",
        "apiKey": "API_KEY"
      }
    }
  }
}

What it does: Configures a provider not in the built-in catalog using its base URL, API key, and model ID.

Trust the schema domain in VS Code / Cursor

json
json
{
  "json.schemaDownload.trustedDomains": {
    "https://mimo.xiaomi.com/": true
  }
}

What it does: Lets the editor download MiMoCode's JSON Schemas for config autocompletion and validation.

Pros & cons

Pros

  • Pro:Persistent memory (MEMORY.md, checkpoints, task progress) with automatic context reconstruction across sessions
  • Pro:Flexible provider support: OAuth logins, API keys, Claude Code import, and custom OpenAI-compatible endpoints
  • Pro:Rich built-in tooling: four deterministic workflows, about twenty bundled skills, and subagents, with custom workflows and skill overrides
  • Pro:Goal/stop-condition judge model helps prevent premature stops during autonomous work

Cons

  • Con:Built-in macOS Terminal.app is not supported, and rendering/lag issues may require workarounds (iTerm2, remote server attach, /vivid)
  • Con:Voice input ASR is only available on MiMo's platform for MiMo logged-in users and requires sox
  • Con:Windows non-UTF-8 locales may need a system-wide Beta UTF-8 workaround for garbled CJK output