feat(webui): simplify model preset settings (#5061)

This commit is contained in:
chengyongru
2026-07-24 00:55:06 +08:00
committed by GitHub
parent d993c81f08
commit aae259c790
29 changed files with 4548 additions and 1182 deletions
+49 -1
View File
@@ -2,7 +2,8 @@
from __future__ import annotations
from nanobot.config.schema import ProviderConfig, ProvidersConfig
from nanobot.config.schema import Config, ProviderConfig, ProvidersConfig
from nanobot.providers.factory import provider_signature
from nanobot.providers.registry import create_dynamic_spec
@@ -60,3 +61,50 @@ class TestCustomProviderThinkingStyle:
assert "thinking_type" in message
assert "enable_thinking" in message
assert "reasoning_split" in message
def test_provider_signature_tracks_dynamic_primary_thinking_style(self) -> None:
before = Config.model_validate(
{
"agents": {"defaults": {"modelPreset": "primary"}},
"modelPresets": {
"primary": {"model": "tenant-model", "provider": "tenant"},
},
"providers": {
"tenant": {
"apiBase": "https://example.com/v1",
"thinkingStyle": "thinking_type",
},
},
}
)
after = before.model_copy(deep=True)
after.providers.model_extra["tenant"].thinking_style = "enable_thinking"
assert provider_signature(before) != provider_signature(after)
def test_provider_signature_tracks_dynamic_fallback_thinking_style(self) -> None:
before = Config.model_validate(
{
"agents": {
"defaults": {
"modelPreset": "primary",
"fallbackModels": ["fallback"],
}
},
"modelPresets": {
"primary": {"model": "openai/gpt-4.1", "provider": "openai"},
"fallback": {"model": "tenant-model", "provider": "tenant"},
},
"providers": {
"openai": {"apiKey": "sk-openai"},
"tenant": {
"apiBase": "https://example.com/v1",
"thinkingStyle": "thinking_type",
},
},
}
)
after = before.model_copy(deep=True)
after.providers.model_extra["tenant"].thinking_style = "enable_thinking"
assert provider_signature(before) != provider_signature(after)