From c8a553f109793bc73cef24a955ca0ef895597838 Mon Sep 17 00:00:00 2001 From: George Wang Date: Mon, 23 Feb 2026 16:23:10 +0800 Subject: [PATCH 1/2] add proxy support for TavilySearchProvider --- pkg/config/defaults.go | 1 + pkg/tools/web.go | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/config/defaults.go b/pkg/config/defaults.go index b96ee4d89..cc6de9399 100644 --- a/pkg/config/defaults.go +++ b/pkg/config/defaults.go @@ -277,6 +277,7 @@ func DefaultConfig() *Config { }, Tools: ToolsConfig{ Web: WebToolsConfig{ + Proxy: "", Brave: BraveConfig{ Enabled: false, APIKey: "", diff --git a/pkg/tools/web.go b/pkg/tools/web.go index 968579dea..edf9531ad 100644 --- a/pkg/tools/web.go +++ b/pkg/tools/web.go @@ -129,6 +129,7 @@ func (p *BraveSearchProvider) Search(ctx context.Context, query string, count in type TavilySearchProvider struct { apiKey string baseURL string + proxy string } func (p *TavilySearchProvider) Search(ctx context.Context, query string, count int) (string, error) { @@ -160,7 +161,10 @@ func (p *TavilySearchProvider) Search(ctx context.Context, query string, count i req.Header.Set("Content-Type", "application/json") req.Header.Set("User-Agent", userAgent) - client := &http.Client{Timeout: 10 * time.Second} + client, err := createHTTPClient(p.proxy, 10*time.Second) + if err != nil { + return "", fmt.Errorf("failed to create http client: %w", err) + } resp, err := client.Do(req) if err != nil { return "", fmt.Errorf("request failed: %w", err) @@ -420,6 +424,7 @@ func NewWebSearchTool(opts WebSearchToolOptions) *WebSearchTool { provider = &TavilySearchProvider{ apiKey: opts.TavilyAPIKey, baseURL: opts.TavilyBaseURL, + proxy: opts.Proxy, } if opts.TavilyMaxResults > 0 { maxResults = opts.TavilyMaxResults From ef1989f12eed8c9be31427d68d303dfa85820d5c Mon Sep 17 00:00:00 2001 From: George Wang Date: Wed, 25 Feb 2026 23:04:41 +0800 Subject: [PATCH 2/2] Update pkg/tools/web.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- pkg/tools/web.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/tools/web.go b/pkg/tools/web.go index edf9531ad..44df28215 100644 --- a/pkg/tools/web.go +++ b/pkg/tools/web.go @@ -163,7 +163,7 @@ func (p *TavilySearchProvider) Search(ctx context.Context, query string, count i client, err := createHTTPClient(p.proxy, 10*time.Second) if err != nil { - return "", fmt.Errorf("failed to create http client: %w", err) + return "", fmt.Errorf("failed to create HTTP client: %w", err) } resp, err := client.Do(req) if err != nil {