diff --git a/README.md b/README.md index 60714b34b..da7346b38 100644 --- a/README.md +++ b/README.md @@ -878,6 +878,7 @@ Config file: `~/.nanobot/config.json` | `dashscope` | LLM (Qwen) | [dashscope.console.aliyun.com](https://dashscope.console.aliyun.com) | | `moonshot` | LLM (Moonshot/Kimi) | [platform.moonshot.cn](https://platform.moonshot.cn) | | `zhipu` | LLM (Zhipu GLM) | [open.bigmodel.cn](https://open.bigmodel.cn) | +| `mimo` | LLM (MiMo) | [platform.xiaomimimo.com](https://platform.xiaomimimo.com) | | `ollama` | LLM (local, Ollama) | — | | `mistral` | LLM | [docs.mistral.ai](https://docs.mistral.ai/) | | `stepfun` | LLM (Step Fun/阶跃星辰) | [platform.stepfun.com](https://platform.stepfun.com) | diff --git a/nanobot/config/schema.py b/nanobot/config/schema.py index 602b8a911..e46663554 100644 --- a/nanobot/config/schema.py +++ b/nanobot/config/schema.py @@ -81,6 +81,7 @@ class ProvidersConfig(Base): minimax: ProviderConfig = Field(default_factory=ProviderConfig) mistral: ProviderConfig = Field(default_factory=ProviderConfig) stepfun: ProviderConfig = Field(default_factory=ProviderConfig) # Step Fun (阶跃星辰) + xiaomi_mimo: ProviderConfig = Field(default_factory=ProviderConfig) # Xiaomi MIMO (小米) aihubmix: ProviderConfig = Field(default_factory=ProviderConfig) # AiHubMix API gateway siliconflow: ProviderConfig = Field(default_factory=ProviderConfig) # SiliconFlow (硅基流动) volcengine: ProviderConfig = Field(default_factory=ProviderConfig) # VolcEngine (火山引擎) diff --git a/nanobot/providers/base.py b/nanobot/providers/base.py index 852e9c973..b666d0f37 100644 --- a/nanobot/providers/base.py +++ b/nanobot/providers/base.py @@ -49,7 +49,7 @@ class LLMResponse: tool_calls: list[ToolCallRequest] = field(default_factory=list) finish_reason: str = "stop" usage: dict[str, int] = field(default_factory=dict) - reasoning_content: str | None = None # Kimi, DeepSeek-R1 etc. + reasoning_content: str | None = None # Kimi, DeepSeek-R1, MiMo etc. thinking_blocks: list[dict] | None = None # Anthropic extended thinking @property diff --git a/nanobot/providers/registry.py b/nanobot/providers/registry.py index 8435005e1..75b82c1ec 100644 --- a/nanobot/providers/registry.py +++ b/nanobot/providers/registry.py @@ -297,6 +297,15 @@ PROVIDERS: tuple[ProviderSpec, ...] = ( backend="openai_compat", default_api_base="https://api.stepfun.com/v1", ), + # Xiaomi MIMO (小米): OpenAI-compatible API + ProviderSpec( + name="xiaomi_mimo", + keywords=("xiaomi_mimo", "mimo"), + env_key="XIAOMIMIMO_API_KEY", + display_name="Xiaomi MIMO", + backend="openai_compat", + default_api_base="https://api.xiaomimimo.com/v1", + ), # === Local deployment (matched by config key, NOT by api_base) ========= # vLLM / any OpenAI-compatible local server ProviderSpec(