diff --git a/internal/server/server.go b/internal/server/server.go index e5cc86f9..f1fd3dd7 100644 --- a/internal/server/server.go +++ b/internal/server/server.go @@ -54,27 +54,9 @@ func NewServer(cfg *config.Config, database *db.DB) *Server { } }() -<<<<<<< HEAD - // Initialize providers - if cfg.Providers.OpenAI.Enabled { - apiKey, _ := cfg.GetAPIKey("openai") - s.providers["openai"] = providers.NewOpenAIProvider(cfg.Providers.OpenAI, apiKey) - } - if cfg.Providers.Gemini.Enabled { - apiKey, _ := cfg.GetAPIKey("gemini") - s.providers["gemini"] = providers.NewGeminiProvider(cfg.Providers.Gemini, apiKey) - } - if cfg.Providers.DeepSeek.Enabled { - apiKey, _ := cfg.GetAPIKey("deepseek") - s.providers["deepseek"] = providers.NewDeepSeekProvider(cfg.Providers.DeepSeek, apiKey) - } - if cfg.Providers.Moonshot.Enabled { - apiKey, _ := cfg.GetAPIKey("moonshot") - s.providers["moonshot"] = providers.NewMoonshotProvider(cfg.Providers.Moonshot, apiKey) - } - if cfg.Providers.Grok.Enabled { - apiKey, _ := cfg.GetAPIKey("grok") - s.providers["grok"] = providers.NewGrokProvider(cfg.Providers.Grok, apiKey) + // Initialize providers from DB and Config + if err := s.RefreshProviders(); err != nil { + fmt.Printf("Warning: Failed to initial refresh providers: %v\n", err) } s.setupRoutes() @@ -93,7 +75,7 @@ func (s *Server) RefreshProviders() error { dbMap[cfg.ID] = cfg } - providerIDs := []string{"openai", "gemini", "deepseek", "grok"} + providerIDs := []string{"openai", "gemini", "deepseek", "grok", "moonshot"} for _, id := range providerIDs { // Default values from config enabled := false @@ -117,6 +99,10 @@ func (s *Server) RefreshProviders() error { enabled = s.cfg.Providers.Grok.Enabled baseURL = s.cfg.Providers.Grok.BaseURL apiKey, _ = s.cfg.GetAPIKey("grok") + case "moonshot": + enabled = s.cfg.Providers.Moonshot.Enabled + baseURL = s.cfg.Providers.Moonshot.BaseURL + apiKey, _ = s.cfg.GetAPIKey("moonshot") } // Overrides from DB @@ -162,6 +148,10 @@ func (s *Server) RefreshProviders() error { cfg := s.cfg.Providers.Grok cfg.BaseURL = baseURL s.providers["grok"] = providers.NewGrokProvider(cfg, apiKey) + case "moonshot": + cfg := s.cfg.Providers.Moonshot + cfg.BaseURL = baseURL + s.providers["moonshot"] = providers.NewMoonshotProvider(cfg, apiKey) } }