summaryrefslogtreecommitdiffhomepage
path: root/internal/config
diff options
context:
space:
mode:
authorKujtim Hoxha <[email protected]>2025-05-01 14:17:33 +0200
committeradamdottv <[email protected]>2025-05-01 11:08:26 -0500
commita61b2026eb97a1974a23aa3e5b154b1b0864edf3 (patch)
treeb767be32072e9cd3eca295d3f11d2fe0e33b9c39 /internal/config
parent69ade34c2ccdadb44fdaac4434f2ec8a36e430a5 (diff)
downloadopencode-a61b2026eb97a1974a23aa3e5b154b1b0864edf3.tar.gz
opencode-a61b2026eb97a1974a23aa3e5b154b1b0864edf3.zip
add xai support (#135)
Diffstat (limited to 'internal/config')
-rw-r--r--internal/config/config.go16
1 files changed, 14 insertions, 2 deletions
diff --git a/internal/config/config.go b/internal/config/config.go
index 51ac0ddd8..c46f80f95 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -243,6 +243,13 @@ func setProviderDefaults() {
if apiKey := os.Getenv("OPENROUTER_API_KEY"); apiKey != "" {
viper.SetDefault("providers.openrouter.apiKey", apiKey)
}
+ if apiKey := os.Getenv("XAI_API_KEY"); apiKey != "" {
+ viper.SetDefault("providers.xai.apiKey", apiKey)
+ }
+ if apiKey := os.Getenv("AZURE_OPENAI_ENDPOINT"); apiKey != "" {
+ // api-key may be empty when using Entra ID credentials – that's okay
+ viper.SetDefault("providers.azure.apiKey", os.Getenv("AZURE_OPENAI_API_KEY"))
+ }
// Use this order to set the default models
// 1. Anthropic
@@ -293,6 +300,13 @@ func setProviderDefaults() {
return
}
+ if viper.Get("providers.xai.apiKey") != "" {
+ viper.SetDefault("agents.coder.model", models.XAIGrok3Beta)
+ viper.SetDefault("agents.task.model", models.XAIGrok3Beta)
+ viper.SetDefault("agents.title.model", models.XAiGrok3MiniFastBeta)
+ return
+ }
+
// AWS Bedrock configuration
if hasAWSCredentials() {
viper.SetDefault("agents.coder.model", models.BedrockClaude37Sonnet)
@@ -302,8 +316,6 @@ func setProviderDefaults() {
}
if os.Getenv("AZURE_OPENAI_ENDPOINT") != "" {
- // api-key may be empty when using Entra ID credentials – that's okay
- viper.SetDefault("providers.azure.apiKey", os.Getenv("AZURE_OPENAI_API_KEY"))
viper.SetDefault("agents.coder.model", models.AzureGPT41)
viper.SetDefault("agents.task.model", models.AzureGPT41Mini)
viper.SetDefault("agents.title.model", models.AzureGPT41Mini)