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
+21 -2
View File
@@ -518,10 +518,29 @@ class AgentLoop:
self.runtime_resolver.invalidate()
self._publish_runtime_selection(self.runtime_resolver.runtime)
def runtime_for_session(self, session: Session) -> LLMRuntime:
def runtime_for_session(
self,
session: Session,
*,
recover_removed: bool = True,
) -> LLMRuntime:
"""Resolve the immutable runtime selected by one session."""
name = model_preset_from_metadata(session.metadata)
return self.llm_runtime() if name is None else self.runtime_resolver.resolve_preset(name)
if name is None:
return self.llm_runtime()
try:
return self.runtime_resolver.resolve_preset(name)
except KeyError:
if not recover_removed or name in self.runtime_resolver.model_presets:
raise
logger.warning(
"Session '{}' references removed model preset '{}'; falling back to default",
session.key,
name,
)
session.metadata.pop(SESSION_MODEL_PRESET_METADATA_KEY, None)
self.sessions.save(session)
return self.llm_runtime()
def set_session_model_preset(
self,