fix: omit reasoning summaries for BytePlus Ark

This commit is contained in:
fanziqing
2026-08-14 17:58:38 +08:00
parent 557723bf64
commit 19bbbbd7ad
2 changed files with 25 additions and 4 deletions
+18 -3
View File
@@ -211,7 +211,11 @@ def _openai_compat(vendor: str, default_base_url: str, env_key: Optional[str] =
def _openai_responses_compat(
vendor: str, default_base_url: str, env_key: Optional[str] = None
vendor: str,
default_base_url: str,
env_key: Optional[str] = None,
*,
reasoning_summary: bool = True,
):
"""Builder factory for vendors that explicitly implement the OpenAI Responses API.
@@ -228,7 +232,11 @@ def _openai_responses_compat(
raise RuntimeError(
f"No {vendor} API key configured — add it in Settings ▸ Models."
)
return OpenAIResponsesProvider(api_key=api_key, base_url=base_url)
return OpenAIResponsesProvider(
api_key=api_key,
base_url=base_url,
reasoning_summary=reasoning_summary,
)
return build
@@ -279,6 +287,7 @@ def _responses_compat(
recommended_model: str,
env_key: str,
endpoint_help: str = "",
reasoning_summary: bool = True,
) -> ProviderDescriptor:
"""Descriptor for a vendor exposing the OpenAI Responses API."""
return ProviderDescriptor(
@@ -301,7 +310,12 @@ def _responses_compat(
or f"Prefilled with {title}'s official Responses endpoint.",
),
],
build=_openai_responses_compat(title, base_url, env_key),
build=_openai_responses_compat(
title,
base_url,
env_key,
reasoning_summary=reasoning_summary,
),
recommended_model=recommended_model,
env_key=env_key,
blurb=f"Uses {title}'s OpenAI-compatible Responses API — the endpoint is prefilled, just add your key.",
@@ -532,6 +546,7 @@ DESCRIPTORS: list[ProviderDescriptor] = [
recommended_model="dola-seed-evolving-latest-version",
env_key="ARK_API_KEY",
endpoint_help="BytePlus Ark's Asia Pacific endpoint. This provider is separate from Volcengine Ark Agent Plan.",
reasoning_summary=False,
),
_responses_compat(
"ark-agent-plan-cn",
+7 -1
View File
@@ -343,11 +343,13 @@ ARK_RESPONSES_VENDORS = {
"base_url": "https://ark.ap-southeast.bytepluses.com/api/v3",
"env_key": "ARK_API_KEY",
"recommended_model": "dola-seed-evolving-latest-version",
"reasoning_summary": False,
},
"ark-agent-plan-cn": {
"base_url": "https://ark.cn-beijing.volces.com/api/plan/v3",
"env_key": "ARK_AGENT_PLAN_CN_API_KEY",
"recommended_model": "doubao-seed-evolving",
"reasoning_summary": True,
},
}
@@ -366,7 +368,7 @@ def test_ark_responses_descriptors_are_separate():
assert not base.required
def test_ark_responses_builders_use_their_own_keys_and_endpoints(monkeypatch):
def test_ark_responses_builder_capabilities_PathsUnchanged(monkeypatch):
from coworker.providers.openai_responses import OpenAIResponsesProvider
from coworker.providers.registry import build_provider_client
@@ -384,6 +386,10 @@ def test_ark_responses_builders_use_their_own_keys_and_endpoints(monkeypatch):
"plan-key",
ARK_RESPONSES_VENDORS["ark-agent-plan-cn"]["base_url"],
)
assert bp._reasoning_summary is ARK_RESPONSES_VENDORS["ark"]["reasoning_summary"]
assert plan._reasoning_summary is ARK_RESPONSES_VENDORS["ark-agent-plan-cn"][
"reasoning_summary"
]
def test_ark_responses_never_leak_the_openai_key(monkeypatch):