|
|
@@ -196,16 +196,29 @@ func setDefaults(debug bool) {
|
|
|
}
|
|
|
|
|
|
// setProviderDefaults configures LLM provider defaults based on environment variables.
|
|
|
-// the default model priority is:
|
|
|
-// 1. Anthropic
|
|
|
-// 2. OpenAI
|
|
|
-// 3. Google Gemini
|
|
|
-// 4. Groq
|
|
|
-// 5. AWS Bedrock
|
|
|
func setProviderDefaults() {
|
|
|
- // Anthropic configuration
|
|
|
+ // Set all API keys we can find in the environment
|
|
|
if apiKey := os.Getenv("ANTHROPIC_API_KEY"); apiKey != "" {
|
|
|
viper.SetDefault("providers.anthropic.apiKey", apiKey)
|
|
|
+ }
|
|
|
+ if apiKey := os.Getenv("OPENAI_API_KEY"); apiKey != "" {
|
|
|
+ viper.SetDefault("providers.openai.apiKey", apiKey)
|
|
|
+ }
|
|
|
+ if apiKey := os.Getenv("GEMINI_API_KEY"); apiKey != "" {
|
|
|
+ viper.SetDefault("providers.gemini.apiKey", apiKey)
|
|
|
+ }
|
|
|
+ if apiKey := os.Getenv("GROQ_API_KEY"); apiKey != "" {
|
|
|
+ viper.SetDefault("providers.groq.apiKey", apiKey)
|
|
|
+ }
|
|
|
+
|
|
|
+ // Use this order to set the default models
|
|
|
+ // 1. Anthropic
|
|
|
+ // 2. OpenAI
|
|
|
+ // 3. Google Gemini
|
|
|
+ // 4. Groq
|
|
|
+ // 5. AWS Bedrock
|
|
|
+ // Anthropic configuration
|
|
|
+ if apiKey := os.Getenv("ANTHROPIC_API_KEY"); apiKey != "" {
|
|
|
viper.SetDefault("agents.coder.model", models.Claude37Sonnet)
|
|
|
viper.SetDefault("agents.task.model", models.Claude37Sonnet)
|
|
|
viper.SetDefault("agents.title.model", models.Claude37Sonnet)
|
|
|
@@ -214,7 +227,6 @@ func setProviderDefaults() {
|
|
|
|
|
|
// OpenAI configuration
|
|
|
if apiKey := os.Getenv("OPENAI_API_KEY"); apiKey != "" {
|
|
|
- viper.SetDefault("providers.openai.apiKey", apiKey)
|
|
|
viper.SetDefault("agents.coder.model", models.GPT41)
|
|
|
viper.SetDefault("agents.task.model", models.GPT41Mini)
|
|
|
viper.SetDefault("agents.title.model", models.GPT41Mini)
|
|
|
@@ -223,7 +235,6 @@ func setProviderDefaults() {
|
|
|
|
|
|
// Google Gemini configuration
|
|
|
if apiKey := os.Getenv("GEMINI_API_KEY"); apiKey != "" {
|
|
|
- viper.SetDefault("providers.gemini.apiKey", apiKey)
|
|
|
viper.SetDefault("agents.coder.model", models.Gemini25)
|
|
|
viper.SetDefault("agents.task.model", models.Gemini25Flash)
|
|
|
viper.SetDefault("agents.title.model", models.Gemini25Flash)
|
|
|
@@ -232,7 +243,6 @@ func setProviderDefaults() {
|
|
|
|
|
|
// Groq configuration
|
|
|
if apiKey := os.Getenv("GROQ_API_KEY"); apiKey != "" {
|
|
|
- viper.SetDefault("providers.groq.apiKey", apiKey)
|
|
|
viper.SetDefault("agents.coder.model", models.QWENQwq)
|
|
|
viper.SetDefault("agents.task.model", models.QWENQwq)
|
|
|
viper.SetDefault("agents.title.model", models.QWENQwq)
|