feat(chat,seahorse): persist and display model_name across history (#2897)

* feat(chat,seahorse): persist and display model_name across history

* test(seahorse): fix lint regressions in repair coverage

* fix(pico): preserve model_name in live updates

* fix(pico): preserve model_name through live stream wrappers
This commit is contained in:
LC
2026-05-20 13:42:21 +08:00
committed by GitHub
parent 548dc15acd
commit b7db059544
41 changed files with 1266 additions and 139 deletions
+16 -2
View File
@@ -75,6 +75,7 @@ func candidateFromModelConfig(
return providers.FallbackCandidate{
Provider: protocol,
Model: modelID,
DisplayName: strings.TrimSpace(mc.ModelName),
RPM: mc.RPM,
IdentityKey: modelConfigIdentityKey(mc),
}, true
@@ -147,8 +148,9 @@ func resolveModelCandidate(
}
return providers.FallbackCandidate{
Provider: ref.Provider,
Model: ref.Model,
Provider: ref.Provider,
Model: ref.Model,
DisplayName: raw,
}, true
}
@@ -197,6 +199,18 @@ func resolvedCandidateProvider(candidates []providers.FallbackCandidate, fallbac
return fallback
}
func resolvedCandidateModelName(candidates []providers.FallbackCandidate, fallback string) string {
if len(candidates) > 0 {
if name := modelAliasFromCandidateIdentityKey(candidates[0].IdentityKey); strings.TrimSpace(name) != "" {
return name
}
if displayName := strings.TrimSpace(candidates[0].DisplayName); displayName != "" {
return displayName
}
}
return strings.TrimSpace(fallback)
}
func resolvedModelConfig(cfg *config.Config, modelName, workspace string) (*config.ModelConfig, error) {
if cfg == nil {
return nil, fmt.Errorf("config is nil")