Bug type
Crash (process/app exits or hangs)
Beta release blocker
No
Summary
Problem
When using Xiaomi MiMo models (mimo-v2-pro, mimo-v2-omni) via the Token Plan API, the model outputs text to the reasoning_content field instead of the standard content field in both streaming and non-streaming responses.
Environment
Expected behavior
The model should output generated text to the content field in Chat Completions response format, consistent with standard OpenAI-compatible APIs.
Actual behavior
- Non-streaming:
content field is empty, reasoning_content contains the actual response
- Streaming:
delta.content is null, delta.reasoning_content contains streamed tokens
Example non-streaming response:
{
"choices": [{
"message": {
"content": "",
"reasoning_content": "The actual response text is here"
}
}]
}
### Steps to reproduce
1. Configure xiaomi provider with baseUrl: https://token-plan-cn.xiaomimimo.com/v1
2. Set model to mimo-v2-omni or mimo-v2-pro
3. Send any chat message
4. Observe: response content is empty, actual text appears in reasoning_content field
### Expected behavior
## Problem
When using Xiaomi MiMo models (mimo-v2-pro, mimo-v2-omni) via the Token Plan API, the model outputs text to the `reasoning_content` field instead of the standard `content` field in both streaming and non-streaming responses.
## Environment
- OpenClaw version: 2026.3.28
- Provider: xiaomi (baseUrl: https://token-plan-cn.xiaomimimo.com/v1)
- Models: mimo-v2-pro, mimo-v2-omni
## Expected behavior
The model should output generated text to the `content` field in Chat Completions response format, consistent with standard OpenAI-compatible APIs.
## Actual behavior
- Non-streaming: `content` field is empty, `reasoning_content` contains the actual response
- Streaming: `delta.content` is null, `delta.reasoning_content` contains streamed tokens
## Example non-streaming response:
```json
{
"choices": [{
"message": {
"content": "",
"reasoning_content": "The actual response text is here"
}
}]
}
### Actual behavior
data: {"delta":{"content":null,"reasoning_content":"The"}}
data: {"delta":{"content":null,"reasoning_content":" actual"}}
data: {"delta":{"content":null,"reasoning_content":" response"}}
OpenClaw reads the content field, so users see empty responses when using these models.
Suggested fix
Update the provider to also read reasoning_content as a fallback
Add special handling for this provider to concatenate reasoning_content into the response
Document a workaround for this provider
### OpenClaw version
03.28
### Operating system
macos
### Install method
npm
### Model
mimo
### Provider / routing chain
openclaw- tui
### Additional provider/model setup details
_No response_
### Logs, screenshots, and evidence
```shell
Impact
OpenClaw reads the content field, so users see empty responses when using these models.
Suggested fix
Update the provider to also read reasoning_content as a fallback
Add special handling for this provider to concatenate reasoning_content into the response
Document a workaround for this provider
Test command
curl -X POST https://token-plan-cn.xiaomimimo.com/v1/chat/completions \
-H "Authorization: Bearer <API_KEY>" \
-d '{"model":"mimo-v2-omni","messages":[{"role":"user","content":"say hi"}],"max_tokens":10}'
Impact and severity
No response
Additional information
No response
Bug type
Crash (process/app exits or hangs)
Beta release blocker
No
Summary
Problem
When using Xiaomi MiMo models (mimo-v2-pro, mimo-v2-omni) via the Token Plan API, the model outputs text to the
reasoning_contentfield instead of the standardcontentfield in both streaming and non-streaming responses.Environment
Expected behavior
The model should output generated text to the
contentfield in Chat Completions response format, consistent with standard OpenAI-compatible APIs.Actual behavior
contentfield is empty,reasoning_contentcontains the actual responsedelta.contentis null,delta.reasoning_contentcontains streamed tokensExample non-streaming response:
{ "choices": [{ "message": { "content": "", "reasoning_content": "The actual response text is here" } }] } ### Steps to reproduce 1. Configure xiaomi provider with baseUrl: https://token-plan-cn.xiaomimimo.com/v1 2. Set model to mimo-v2-omni or mimo-v2-pro 3. Send any chat message 4. Observe: response content is empty, actual text appears in reasoning_content field ### Expected behavior ## Problem When using Xiaomi MiMo models (mimo-v2-pro, mimo-v2-omni) via the Token Plan API, the model outputs text to the `reasoning_content` field instead of the standard `content` field in both streaming and non-streaming responses. ## Environment - OpenClaw version: 2026.3.28 - Provider: xiaomi (baseUrl: https://token-plan-cn.xiaomimimo.com/v1) - Models: mimo-v2-pro, mimo-v2-omni ## Expected behavior The model should output generated text to the `content` field in Chat Completions response format, consistent with standard OpenAI-compatible APIs. ## Actual behavior - Non-streaming: `content` field is empty, `reasoning_content` contains the actual response - Streaming: `delta.content` is null, `delta.reasoning_content` contains streamed tokens ## Example non-streaming response: ```json { "choices": [{ "message": { "content": "", "reasoning_content": "The actual response text is here" } }] } ### Actual behavior data: {"delta":{"content":null,"reasoning_content":"The"}} data: {"delta":{"content":null,"reasoning_content":" actual"}} data: {"delta":{"content":null,"reasoning_content":" response"}} OpenClaw reads the content field, so users see empty responses when using these models. Suggested fix Update the provider to also read reasoning_content as a fallback Add special handling for this provider to concatenate reasoning_content into the response Document a workaround for this provider ### OpenClaw version 03.28 ### Operating system macos ### Install method npm ### Model mimo ### Provider / routing chain openclaw- tui ### Additional provider/model setup details _No response_ ### Logs, screenshots, and evidence ```shell Impact OpenClaw reads the content field, so users see empty responses when using these models. Suggested fix Update the provider to also read reasoning_content as a fallback Add special handling for this provider to concatenate reasoning_content into the response Document a workaround for this provider Test command curl -X POST https://token-plan-cn.xiaomimimo.com/v1/chat/completions \ -H "Authorization: Bearer <API_KEY>" \ -d '{"model":"mimo-v2-omni","messages":[{"role":"user","content":"say hi"}],"max_tokens":10}'Impact and severity
No response
Additional information
No response