Files
ai-agent/internal/bootstrap/init.go
T

55 lines
1.2 KiB
Go
Raw Normal View History

2026-04-09 10:01:23 +08:00
package bootstrap
import (
"agent-desk/internal/ai/rag/vectordb"
"agent-desk/internal/oidcclient"
"agent-desk/internal/pkg/config"
"agent-desk/internal/pkg/i18nx"
"agent-desk/internal/pkg/logx"
"agent-desk/internal/services/cronx"
"agent-desk/internal/wxwork"
2026-05-24 20:49:10 +08:00
"context"
2026-04-09 10:01:23 +08:00
"log/slog"
_ "agent-desk/internal/services/event_handlers"
2026-04-09 10:01:23 +08:00
)
func Init(configPath string) error {
cfg, err := config.Load(configPath)
if err != nil {
slog.Error("init config failed", "error", err)
return err
}
config.SetCurrent(cfg)
i18nx.SetDefaultLocale(cfg.LanguageOrDefault())
2026-04-09 10:01:23 +08:00
logx.Init(logx.Config{
Level: cfg.Logger.Level,
Format: cfg.Logger.Format,
AddSource: cfg.Logger.AddSource,
})
if _, err := InitDB(cfg.DB); err != nil {
slog.Error("init db failed", "error", err)
return err
}
if err := InitMigrations(); err != nil {
slog.Error("init migrations failed", "error", err)
return err
}
if err := vectordb.Init(&cfg.VectorDB); err != nil {
slog.Error("init vector db failed", "error", err)
return err
}
// 启动任务调度器
cronx.Init()
wxwork.Init()
2026-05-24 20:49:10 +08:00
if err := oidcclient.Init(context.Background()); err != nil {
slog.Error("init oidc failed", "error", err)
return err
}
2026-04-09 10:01:23 +08:00
return nil
}