@@ -59,17 +59,27 @@ func ApplyToAppConfig(jcfg *JSONConfig, appCfg *types.AppConfig) {
5959 if jcfg .Agent != "" {
6060 appCfg .Provider = jcfg .Agent
6161 }
62- // Use gmodel for gemini, model for ollama
63- switch jcfg .Agent {
64- case "gemini" :
65- if jcfg .GModel != "" {
66- appCfg .DefaultModel = jcfg .GModel
62+
63+ // Update stored models if present in config
64+ if jcfg .GModel != "" {
65+ appCfg .GeminiModel = jcfg .GModel
66+ }
67+ if jcfg .Model != "" {
68+ appCfg .OllamaModel = jcfg .Model
69+ }
70+
71+ // Set active model based on provider
72+ if appCfg .Provider == "gemini" {
73+ if appCfg .GeminiModel != "" {
74+ appCfg .DefaultModel = appCfg .GeminiModel
6775 }
68- default :
69- if jcfg .Model != "" {
70- appCfg .DefaultModel = jcfg .Model
76+ } else {
77+ // Default to ollama
78+ if appCfg .OllamaModel != "" {
79+ appCfg .DefaultModel = appCfg .OllamaModel
7180 }
7281 }
82+
7383 if jcfg .OllamaURL != "" {
7484 appCfg .OllamaURL = jcfg .OllamaURL
7585 }
@@ -88,11 +98,19 @@ func AppConfigToJSONConfig(appCfg *types.AppConfig) *JSONConfig {
8898 OllamaURL : appCfg .OllamaURL ,
8999 GeminiAPI : appCfg .GeminiAPIKey ,
90100 Workspace : appCfg .WorkspaceDir ,
101+ Model : appCfg .OllamaModel ,
102+ GModel : appCfg .GeminiModel ,
91103 }
104+
105+ // Ensure active model is synced to the correct field if stored model is empty
92106 if appCfg .Provider == "gemini" {
93- jcfg .GModel = appCfg .DefaultModel
107+ if jcfg .GModel == "" {
108+ jcfg .GModel = appCfg .DefaultModel
109+ }
94110 } else {
95- jcfg .Model = appCfg .DefaultModel
111+ if jcfg .Model == "" {
112+ jcfg .Model = appCfg .DefaultModel
113+ }
96114 }
97115 return jcfg
98116}
0 commit comments