Skip to content

Commit 296427c

Browse files
committed
fix(provider): preserve OpenCode Go reasoning config
1 parent 7fbfa80 commit 296427c

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

astrbot/core/provider/sources/opencode_go_source.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def _build_delegate_config(self, *, model: str) -> dict:
4343
config = dict(self.provider_config)
4444
config["api_base"] = self.api_base
4545
config["model"] = model
46-
config["force_tool_call_reasoning_content"] = True
46+
config.setdefault("force_tool_call_reasoning_content", True)
4747
return config
4848

4949
@classmethod

tests/test_openai_source.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,25 @@ def test_opencode_go_resolve_model_strips_prefix_and_rejects_messages_only_model
462462
provider._resolve_model("opencode-go/minimax-m2.5")
463463

464464

465+
def test_opencode_go_delegate_config_defaults_force_reasoning_content_only_when_absent():
466+
provider = ProviderOpenCodeGo.__new__(ProviderOpenCodeGo)
467+
provider.provider_config = {"model": "opencode-go/kimi-k2.6"}
468+
provider.api_base = "https://example.test/v1"
469+
470+
config = provider._build_delegate_config(model="kimi-k2.6")
471+
472+
assert config["force_tool_call_reasoning_content"] is True
473+
474+
provider.provider_config = {
475+
"model": "opencode-go/kimi-k2.6",
476+
"force_tool_call_reasoning_content": False,
477+
}
478+
479+
config = provider._build_delegate_config(model="kimi-k2.6")
480+
481+
assert config["force_tool_call_reasoning_content"] is False
482+
483+
465484
@pytest.mark.asyncio
466485
async def test_handle_api_error_content_moderated_without_images_raises():
467486
provider = _make_provider(

0 commit comments

Comments
 (0)