init.go 931 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package web_search
  2. import (
  3. "os"
  4. "github.com/QuantumNous/new-api/common"
  5. "github.com/QuantumNous/new-api/core/registry"
  6. )
  7. func init() {
  8. // 从环境变量读取配置
  9. config := map[string]interface{}{
  10. "enabled": os.Getenv("WEB_SEARCH_ENABLED") == "true",
  11. "api_key": os.Getenv("WEB_SEARCH_API_KEY"),
  12. "provider": getEnvOrDefault("WEB_SEARCH_PROVIDER", "google"),
  13. "priority": 50,
  14. }
  15. // 创建并注册Hook
  16. hook := NewWebSearchHook(config)
  17. if err := registry.RegisterHook(hook); err != nil {
  18. common.SysError("Failed to register web_search hook: " + err.Error())
  19. } else {
  20. if hook.Enabled() {
  21. common.SysLog("Web search hook registered and enabled")
  22. } else {
  23. common.SysLog("Web search hook registered but disabled (missing API key or not enabled)")
  24. }
  25. }
  26. }
  27. func getEnvOrDefault(key, defaultValue string) string {
  28. if value := os.Getenv(key); value != "" {
  29. return value
  30. }
  31. return defaultValue
  32. }