mirror of
https://gitcode.com/JianFeeeee/ModelRouter.git
synced 2026-09-20 08:57:57 +00:00
v1.5.4 stopped stripping reasoning_content, which fixes clients that send it — but most agent clients (pi included) never store or replay their reasoning, keeping only the tool call. OpenCode Go validates the field on any assistant turn that carries tool_calls and rejects the whole request: 400 invalid_request_error: The `reasoning_content` in the thinking mode must be passed back to the API. Verified against the live endpoint that an EMPTY string satisfies the check, so the adapter now fills in "" when a tool-calling assistant turn has no reasoning_content. Nothing is fabricated: the reasoning shown to the client is still exactly what the upstream returned for that turn. Measured: with a tool_call + tool_result history and no reasoning_content, all 25 configured Go models returned 400 before and all 25 answer correctly now. Test: TestOpenCodeGoVsZenReasoning also pins that a plain assistant turn (no tool calls) must NOT gain the field.