From c42012aacaa9c15ce7e9c0f183ead07af8b4e87a Mon Sep 17 00:00:00 2001 From: PhotoPortfolio Developer Date: Fri, 20 Feb 2026 20:42:47 +0800 Subject: [PATCH] Backward compatibility: derive unified search config from legacy sections. --- pkg/config/config.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkg/config/config.go b/pkg/config/config.go index 939ca2cda..855c9de94 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -481,6 +481,23 @@ func LoadConfig(path string) (*Config, error) { return nil, err } + // Backward compatibility: derive unified search config from legacy sections. + if strings.TrimSpace(cfg.Tools.Web.Search.Provider) == "" { + switch { + case cfg.Tools.Web.Brave.Enabled: + cfg.Tools.Web.Search.Provider = "brave" + cfg.Tools.Web.Search.APIKey = cfg.Tools.Web.Brave.APIKey + cfg.Tools.Web.Search.MaxResults = cfg.Tools.Web.Brave.MaxResults + case cfg.Tools.Web.Perplexity.Enabled: + cfg.Tools.Web.Search.Provider = "perplexity" + cfg.Tools.Web.Search.APIKey = cfg.Tools.Web.Perplexity.APIKey + cfg.Tools.Web.Search.MaxResults = cfg.Tools.Web.Perplexity.MaxResults + case cfg.Tools.Web.DuckDuckGo.Enabled: + cfg.Tools.Web.Search.Provider = "duckduckgo" + cfg.Tools.Web.Search.MaxResults = cfg.Tools.Web.DuckDuckGo.MaxResults + } + } + if strings.TrimSpace(cfg.Tools.Web.Search.Provider) == "" { return nil, fmt.Errorf("Please check new config for web search as config example") }