2026-02-28 19:56:23 +00:00
|
|
|
package config
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"os"
|
2026-02-28 20:52:03 +00:00
|
|
|
"path/filepath"
|
2026-02-28 19:56:23 +00:00
|
|
|
|
|
|
|
|
"github.com/spf13/viper"
|
|
|
|
|
)
|
|
|
|
|
|
2026-02-28 20:52:03 +00:00
|
|
|
func Load() {
|
2026-02-28 19:56:23 +00:00
|
|
|
home, _ := os.UserHomeDir()
|
2026-02-28 20:52:03 +00:00
|
|
|
configPath := filepath.Join(home, ".config", "grokkit")
|
|
|
|
|
|
|
|
|
|
viper.SetConfigName("config")
|
|
|
|
|
viper.SetConfigType("toml")
|
|
|
|
|
viper.AddConfigPath(configPath)
|
|
|
|
|
viper.AddConfigPath(".")
|
2026-02-28 22:59:16 +00:00
|
|
|
viper.AutomaticEnv()
|
2026-02-28 20:52:03 +00:00
|
|
|
|
|
|
|
|
viper.SetDefault("default_model", "grok-4")
|
|
|
|
|
viper.SetDefault("temperature", 0.7)
|
|
|
|
|
|
2026-02-28 22:59:16 +00:00
|
|
|
_ = viper.ReadInConfig()
|
2026-02-28 20:52:03 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetModel(flagModel string) string {
|
|
|
|
|
if flagModel != "" {
|
|
|
|
|
if alias := viper.GetString("aliases." + flagModel); alias != "" {
|
|
|
|
|
return alias
|
|
|
|
|
}
|
|
|
|
|
return flagModel
|
|
|
|
|
}
|
|
|
|
|
return viper.GetString("default_model")
|
2026-02-28 22:59:16 +00:00
|
|
|
}
|