summaryrefslogtreecommitdiff
path: root/bot.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2025-12-14 09:58:24 +0300
committerGrail Finder <wohilas@gmail.com>2025-12-14 09:58:24 +0300
commit1d5af981b5b3e082b19e362ba125268bd5e676b0 (patch)
tree63cad8703f7995ff93c0bc942d1a1e54bba6bcd7 /bot.go
parente481661799f3400732fa891c91192d09cc48b867 (diff)
Enha: model list based on current api
Diffstat (limited to 'bot.go')
-rw-r--r--bot.go41
1 files changed, 25 insertions, 16 deletions
diff --git a/bot.go b/bot.go
index b426265..3242b88 100644
--- a/bot.go
+++ b/bot.go
@@ -826,6 +826,30 @@ func charToStart(agentName string) bool {
return true
}
+func updateModelLists() {
+ var err error
+ if cfg.OpenRouterToken != "" {
+ ORFreeModels, err = fetchORModels(true)
+ if err != nil {
+ logger.Warn("failed to fetch or models", "error", err)
+ }
+ }
+ // if llama.cpp started after gf-lt?
+ LocalModels, err = fetchLCPModels()
+ if err != nil {
+ logger.Warn("failed to fetch llama.cpp models", "error", err)
+ }
+}
+
+func updateModelListsTicker() {
+ updateModelLists() // run on the start
+ ticker := time.NewTicker(time.Minute * 1)
+ for {
+ <-ticker.C
+ updateModelLists()
+ }
+}
+
func init() {
var err error
cfg, err = config.LoadConfig("config.toml")
@@ -878,22 +902,6 @@ func init() {
playerOrder = []string{cfg.UserRole, cfg.AssistantRole, cfg.CluedoRole2}
cluedoState = extra.CluedoPrepCards(playerOrder)
}
- if cfg.OpenRouterToken != "" {
- go func() {
- ORModels, err := fetchORModels(true)
- if err != nil {
- logger.Error("failed to fetch or models", "error", err)
- } else {
- ORFreeModels = ORModels
- }
- }()
- }
- go func() {
- LocalModels, err = fetchLCPModels()
- if err != nil {
- logger.Error("failed to fetch llama.cpp models", "error", err)
- }
- }()
choseChunkParser()
httpClient = createClient(time.Second * 15)
if cfg.TTS_ENABLED {
@@ -902,4 +910,5 @@ func init() {
if cfg.STT_ENABLED {
asr = extra.NewSTT(logger, cfg)
}
+ go updateModelListsTicker()
}