# pi-opinionated-mimo

Provider-only Pi package for the MiMo models used by `pi-excalibur`.

It keeps the provider name as `mimo`, so literal selections like `mimo/mimo-v2.5-pro` and `mimo/mimo-v2-pro` keep working without any repo-local tag rewriting.

## Install

```bash
# try temporarily
pi -e ~/coding_agents/pi-opinionated-mimo

# or install into the current project
pi install -l ~/coding_agents/pi-opinionated-mimo
```

Set your API key before use:

```bash
export MIMO_API_KEY=...
```

## Registered provider

- Provider name: `mimo`
- API key env var: `MIMO_API_KEY`

## Included models

| Model ID | Route | Why it is included |
| --- | --- | --- |
| `mimo-v2.5-pro` | Xiaomi official OpenAI-compatible API | primary communicator model |
| `mimo-v2-pro` | Xiaomi official OpenAI-compatible API | communicator alt-model alias |

## Notes

- Requests route through `https://token-plan-cn.xiaomimimo.com/v1`.
- Internally the package registers a private API id (`mimo-openai-completions`) so its MiMo-specific transport wrapper cannot be clobbered by unrelated `openai-completions` provider shims loaded later in Pi.
- The wrapper still delegates to Pi's OpenAI-compatible transport after mapping Pi reasoning to MiMo's native `thinking: { type: "enabled" | "disabled" }` payload.
- Registered model IDs are the literal ones `pi-excalibur` asks for: `mimo-v2.5-pro` and `mimo-v2-pro`.
- No synthetic family aliases or tagged model IDs are added here.

## Usage

After loading the package, select models exactly as `pi-excalibur` does:

- `mimo/mimo-v2.5-pro`
- `mimo/mimo-v2-pro`
