From ede7cc704532775d83c93a0dcf010156f844b049 Mon Sep 17 00:00:00 2001 From: Oceanpie Date: Wed, 11 Mar 2026 14:51:57 +0800 Subject: [PATCH] fix(provider): enable reasoning_split for MiniMax to separate CoT from content MiniMax's v1/chat/completions endpoint includes chain-of-thought in the content field by default, causing thinking content to leak into user-visible responses. This fix enables reasoning_split parameter for MiniMax API requests to separate CoT into reasoning_details field. Fixes #1320 --- pkg/providers/openai_compat/provider.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkg/providers/openai_compat/provider.go b/pkg/providers/openai_compat/provider.go index 0e8db7409..375024a38 100644 --- a/pkg/providers/openai_compat/provider.go +++ b/pkg/providers/openai_compat/provider.go @@ -163,6 +163,13 @@ func (p *Provider) Chat( } } + // MiniMax provider: enable reasoning_split to separate CoT from content + // This prevents chain-of-thought from leaking into the main content field. + // See: https://github.com/sipeed/picoclaw/issues/1320 + if strings.Contains(strings.ToLower(p.apiBase), "minimaxi.com") { + requestBody["reasoning_split"] = true + } + jsonData, err := json.Marshal(requestBody) if err != nil { return nil, fmt.Errorf("failed to marshal request: %w", err)