diff options
| author | Kujtim Hoxha <[email protected]> | 2025-03-27 22:35:48 +0100 |
|---|---|---|
| committer | Kujtim Hoxha <[email protected]> | 2025-04-01 13:38:54 +0200 |
| commit | afd9ad0560d76c2a6d161dad52553b10ff428905 (patch) | |
| tree | 69f78b05ff0d7952cd3e3c9332f001e66abb2faf /cmd | |
| parent | 904061c243f70696bfe781e97bf4e392e6954d07 (diff) | |
| download | opencode-afd9ad0560d76c2a6d161dad52553b10ff428905.tar.gz opencode-afd9ad0560d76c2a6d161dad52553b10ff428905.zip | |
rework llm
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/root.go | 56 |
1 files changed, 7 insertions, 49 deletions
diff --git a/cmd/root.go b/cmd/root.go index ddab0d81a..b4c1113a4 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -7,12 +7,12 @@ import ( tea "github.com/charmbracelet/bubbletea" "github.com/kujtimiihoxha/termai/internal/app" + "github.com/kujtimiihoxha/termai/internal/config" "github.com/kujtimiihoxha/termai/internal/db" - "github.com/kujtimiihoxha/termai/internal/llm/models" + "github.com/kujtimiihoxha/termai/internal/llm/agent" "github.com/kujtimiihoxha/termai/internal/tui" zone "github.com/lrstanley/bubblezone" "github.com/spf13/cobra" - "github.com/spf13/viper" ) var rootCmd = &cobra.Command{ @@ -25,11 +25,10 @@ var rootCmd = &cobra.Command{ return nil } debug, _ := cmd.Flags().GetBool("debug") - viper.Set("debug", debug) - if debug { - viper.Set("log.level", "debug") + err := config.Load(debug) + if err != nil { + return err } - conn, err := db.Connect() if err != nil { return err @@ -49,6 +48,8 @@ var rootCmd = &cobra.Command{ defer unsub() go func() { + // Set this up once + agent.GetMcpTools(ctx) for msg := range ch { tui.Send(msg) } @@ -96,16 +97,6 @@ func setupSubscriptions(app *app.App) (chan tea.Msg, func()) { }() } { - sub := app.LLM.Subscribe(ctx) - wg.Add(1) - go func() { - for ev := range sub { - ch <- ev - } - wg.Done() - }() - } - { sub := app.Permissions.Subscribe(ctx) wg.Add(1) go func() { @@ -129,40 +120,7 @@ func Execute() { } } -func loadConfig() { - viper.SetConfigName(".termai") - viper.SetConfigType("yaml") - viper.AddConfigPath("$HOME") - viper.AddConfigPath("$XDG_CONFIG_HOME/termai") - viper.AddConfigPath(".") - viper.SetEnvPrefix("TERMAI") - // SET DEFAULTS - viper.SetDefault("log.level", "info") - viper.SetDefault("data.dir", ".termai") - - // LLM - viper.SetDefault("models.big", string(models.DefaultBigModel)) - viper.SetDefault("models.small", string(models.DefaultLittleModel)) - - viper.SetDefault("providers.openai.key", os.Getenv("OPENAI_API_KEY")) - viper.SetDefault("providers.anthropic.key", os.Getenv("ANTHROPIC_API_KEY")) - viper.SetDefault("providers.groq.key", os.Getenv("GROQ_API_KEY")) - viper.SetDefault("providers.common.max_tokens", 4000) - - viper.SetDefault("agents.default", "coder") - - viper.ReadInConfig() - - workdir, err := os.Getwd() - if err != nil { - panic(err) - } - viper.Set("wd", workdir) -} - func init() { - loadConfig() - rootCmd.Flags().BoolP("help", "h", false, "Help") rootCmd.Flags().BoolP("debug", "d", false, "Help") } |
