diff --git a/app/store/access.ts b/app/store/access.ts index a1014610e39..7f8067161e3 100644 --- a/app/store/access.ts +++ b/app/store/access.ts @@ -204,8 +204,8 @@ export const useAccessStore = createPersistStore( .then((res) => { // Set default model from env request let defaultModel = res.defaultModel ?? ""; - DEFAULT_CONFIG.modelConfig.model = - defaultModel !== "" ? defaultModel : "gpt-3.5-turbo"; + if (defaultModel !== "") + DEFAULT_CONFIG.modelConfig.model = defaultModel; return res; }) .then((res: DangerConfig) => { diff --git a/app/store/config.ts b/app/store/config.ts index 9985b9e768c..679135ee712 100644 --- a/app/store/config.ts +++ b/app/store/config.ts @@ -143,6 +143,21 @@ export const useAppConfig = createPersistStore( { name: StoreKey.Config, version: 4, + + merge(persistedState, currentState) { + const state = persistedState as ChatConfig | undefined; + if (!state) return { ...currentState }; + const models = currentState.models.slice(); + state.models.forEach((pModel) => { + const idx = models.findIndex( + (v) => v.name === pModel.name && v.provider === pModel.provider, + ); + if (idx !== -1) models[idx] = pModel; + else models.push(pModel); + }); + return { ...currentState, ...state, models: models }; + }, + migrate(persistedState, version) { const state = persistedState as ChatConfig;