core/config: default OpenAI provider_tools to web_search

Omitted provider_tools enables web_search; use [] to disable hosted tools.
This commit is contained in:
2026-07-15 21:43:39 +08:00
parent 84a83e0485
commit 074a3313ce
5 changed files with 17 additions and 3 deletions
+8 -1
View File
@@ -62,6 +62,11 @@ def _default_openai_models() -> dict[str, ModelConfig]:
}
def _default_openai_provider_tools() -> list[dict[str, Any]]:
"""Hosted tools when TOML omits ``provider_tools``."""
return [{"type": "web_search"}]
class OpenAIProvider(ProviderConfig, tag="openai"):
"""OpenAI platform provider (agent uses Responses API).
@@ -71,10 +76,12 @@ class OpenAIProvider(ProviderConfig, tag="openai"):
When ``models`` is omitted in TOML, seeds a small default catalog (same idea
as DeepSeek). Explicit ``models = {}`` stays empty (recoverable / free-form).
When ``provider_tools`` is omitted, defaults to web_search; use
``provider_tools = []`` to disable hosted tools.
"""
models: dict[str, ModelConfig] = field(default_factory=_default_openai_models)
provider_tools: list[dict[str, Any]] = field(default_factory=list)
provider_tools: list[dict[str, Any]] = field(default_factory=_default_openai_provider_tools)
class OpenAICompatibleProvider(ProviderConfig, tag="openai-compatible"):