feat: add Xiaomi MiMo provider support#3012
feat: add Xiaomi MiMo provider support#3012felipebrgs1 wants to merge 2 commits intotailcallhq:mainfrom
Conversation
Add Xiaomi MiMo as a new AI provider with support for: - MiMo V2 Pro (1T+ params, 1M context) - MiMo V2 Omni (multi-modal) - MiMo V2 TTS Includes provider configuration, API endpoints, and tests.
There was a problem hiding this comment.
Pull request overview
Adds Xiaomi MiMo as a new built-in AI provider, enabling users to select MiMo V2 Pro / Omni / TTS models via Forge’s provider abstraction.
Changes:
- Added
xiaomi_mimoprovider entry to the embedded provider registry (endpoints + 3 hardcoded models). - Extended
ProviderIdwithXIAOMI_MIMO, including built-in list inclusion, display-name mapping, andFromStrparsing. - Added unit tests covering parsing, display name, and built-in provider inclusion.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
crates/forge_repo/src/provider/provider.json |
Registers the xiaomi_mimo provider, its endpoint templating, and hardcoded model metadata. |
crates/forge_domain/src/provider.rs |
Adds XIAOMI_MIMO to ProviderId (constants, display name, parsing) and unit tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "description": "Xiaomi's omni-modal model that natively processes image, video, and audio inputs", | ||
| "context_length": 262100, | ||
| "tools_supported": true, | ||
| "supports_parallel_tool_calls": true, | ||
| "supports_reasoning": true, | ||
| "input_modalities": ["text", "image"] |
There was a problem hiding this comment.
Model mimo-v2-omni is declared with input_modalities of ["text", "image"], but its description claims it natively processes "image, video, and audio". This is misleading for users and inconsistent with the declared capabilities; either update the description to match the supported modalities or extend input_modalities if video/audio are actually supported by the rest of the stack.
| "url_param_vars": [ | ||
| { "name": "CLUSTER", "options": ["token-plan-sgp.xiaomimimo.com", "token-plan-cn.xiaomimimo.com", "token-plan-ams.xiaomimimo.com"] } | ||
| ], |
There was a problem hiding this comment.
url_param_vars includes CLUSTER, which makes CLUSTER mandatory when creating credentials from environment variables (see provider_repo reading all url_param_vars and erroring if any are missing). That conflicts with the template’s {{else}} token-plan-sgp... default and the PR description (“defaults to Singapore”). Consider making CLUSTER optional (e.g., remove it from url_param_vars and hardcode the default URL), or adjust credential/env handling so missing CLUSTER doesn’t block configuration while still allowing UI selection.
| "url_param_vars": [ | |
| { "name": "CLUSTER", "options": ["token-plan-sgp.xiaomimimo.com", "token-plan-cn.xiaomimimo.com", "token-plan-ams.xiaomimimo.com"] } | |
| ], | |
| "url_param_vars": [], |
Summary
Add Xiaomi MiMo as a new AI provider with support for MiMo V2 Pro, V2 Omni, and V2 TTS models.
Context
Xiaomi MiMo is a new AI provider offering high-performance models with competitive capabilities. Adding this provider expands the available AI options for users, particularly for those in Asia-Pacific regions with dedicated cluster endpoints.
Changes
XIAOMI_MIMOprovider constant toProviderIdenumKey Implementation Details
XIAOMI_MIMO_API_KEYenvironment variableCLUSTERparameter (defaults to Singapore)Use Cases
Testing
Links