grokkit/config/config.go

38 lines
829 B
Go
Raw Normal View History

// Updated at 2024-08-27 12:00:00 UTC
2026-02-28 19:56:23 +00:00
package config
import (
"os"
"path/filepath"
2026-02-28 19:56:23 +00:00
"github.com/spf13/viper"
)
func Load() {
2026-02-28 19:56:23 +00:00
home, _ := os.UserHomeDir()
configPath := filepath.Join(home, ".config", "grokkit")
viper.SetConfigName("config")
viper.SetConfigType("toml")
viper.AddConfigPath(configPath)
viper.AddConfigPath(".")
viper.AutomaticEnv() // XAI_API_KEY etc.
viper.SetDefault("default_model", "grok-4")
viper.SetDefault("temperature", 0.7)
_ = viper.ReadInConfig() // ignore error if no config yet
}
// GetModel returns the model, respecting --model flag or alias
func GetModel(flagModel string) string {
if flagModel != "" {
// Check alias first
if alias := viper.GetString("aliases." + flagModel); alias != "" {
return alias
}
return flagModel
}
return viper.GetString("default_model")
}