@@ -6,13 +6,14 @@ export const ConfigStore = types
66 . model ( "Config" , {
77 config : types . optional ( types . frozen ( ) , { } ) ,
88 settle : types . optional ( types . boolean , false ) ,
9+ defaultModel : types . optional ( types . string , "" ) ,
910 } )
1011 . actions ( ( self ) => ( {
1112 updateSettle : ( value : boolean ) => {
1213 self . settle = value ;
1314 } ,
1415 getDefaultModel : ( ) => {
15- return self . config ?. default_model ;
16+ return self . defaultModel ;
1617 } ,
1718 getLanguage : ( ) => {
1819 return self . config ?. language ;
@@ -39,26 +40,40 @@ export const ConfigStore = types
3940 setConfig : ( data ) => {
4041 self . settle = false ;
4142 const newConfig = { ...data } ;
43+ if ( ! data . models ) {
44+ newConfig . models = { } ;
45+ }
4246 modelsTemplate . forEach ( ( item ) => {
47+ const currentModel : any = {
48+ ...item ,
49+ } ;
50+ delete currentModel . name ;
4351 if ( ! newConfig . models [ item . name ] ) {
44- newConfig [ item . name ] = {
45- ...item ,
52+ newConfig . models [ item . name ] = {
53+ ...currentModel ,
4654 } ;
4755 } else {
56+ console . log (
57+ "newConfig.models[item.name]: " ,
58+ newConfig . models [ item . name ]
59+ ) ;
4860 newConfig . models [ item . name ] = {
49- ...item ,
50- ...newConfig [ item . name ] ,
61+ ...currentModel ,
62+ ...newConfig . models [ item . name ] ,
5163 } ;
5264 }
5365 } ) ;
66+
5467 if ( ! newConfig . providers ?. openai ) {
5568 newConfig . providers . openai = {
5669 api_key : "" ,
5770 api_base : "" ,
5871 } ;
5972 }
6073 self . config = newConfig ;
74+ console . log ( "newConfig: " , newConfig ) ;
6175 self . settle = true ;
76+ self . defaultModel = newConfig . default_model ;
6277 } ,
6378 getModelList : ( ) => {
6479 const modelsArray = modelsTemplate . map ( ( item ) => {
@@ -67,8 +82,17 @@ export const ConfigStore = types
6782 return modelsArray ;
6883 } ,
6984 setConfigValue : ( key : string , value : any ) => {
70- self . config [ key ] = value ;
71- MessageUtil . sendMessage ( { } ) ;
85+ if ( key === "default_model" ) {
86+ self . defaultModel = value ;
87+ }
88+ const newConfig = { ...self . config } ;
89+ newConfig [ key ] = value ;
90+ self . config = newConfig ;
91+ MessageUtil . sendMessage ( {
92+ command : "writeConfig" ,
93+ value : newConfig ,
94+ key : "" ,
95+ } ) ;
7296 } ,
7397 } ) ) ;
7498
0 commit comments