Add support for web_search and web_fetch OpenRouter server tools
What's happening?
I am attaching documentation for web_search and web_fetch OpenRouter server tools (OpenRouter_web_search.md and OpenRouter_web_fetch.md).
OpenRouter_web_search.md OpenRouter_web_fetch.md
You can also find the documentation at https://openrouter.ai/docs/guides/features/server-tools/web-search and https://openrouter.ai/docs/guides/features/server-tools/web-fetch
Currently in individual model preferences dialog for OpenRouter models you can configure Web Search On/Off.
It would be great to update it to offer two configuration sections, one for Web Search and one for Web Fetch:
Web Search (engine parameter): off (when "openrouter:web_search" tool is not specified), auto, native, exa, firecrawl, parallel, perplexity
- Mode (mode parameter): For exa engine: instant, fast, auto, deep-lite, deep, deep-reasoning. For parallel engine: turbo, fast, basic, advanced.
- Max results per search call (max_results parameter): (1–25; 1–20 for Perplexity). Applies to Exa, Firecrawl, Parallel, and Perplexity engines; ignored with native provider search
- Max uses (max_uses parameter): Maximum number of searches the model may perform in a single request.
- Max total results (max_total_results parameter): Maximum total results across all search calls in a single request.
- Context to retrieve (search_context_size parameter): How much context to retrieve: low, medium, or high. For Exa, pins a fixed per-result character cap (5K/15K/30K); when omitted, Exa picks adaptively (~2-4K per result). For Parallel, controls total characters across all results (defaults to medium). For Perplexity, maps directly to the Search API’s native search_context_size parameter. Ignored with native provider search and Firecrawl. Overridden by max_characters when both are set
- Max characters of context per result (max_characters parameter): Exact maximum characters of content per result (1–100,000). Applies to Exa, Parallel, and Perplexity engines; ignored with native provider search and Firecrawl. For Exa, caps highlight content per result. For Parallel, caps excerpt content per result (default 1,500 when omitted). For Perplexity, converted to a token budget via max_tokens_per_page and trimmed to the exact character cap. When both max_characters and search_context_size are set, max_characters takes precedence
Web Fetch (engine parameter): off (when "openrouter:web_fetch" tool is not specified), auto, native, exa, openrouter, firecrawl, parallel
- Max uses (max_uses parameter): Maximum fetches per request.
- Max content length in tokens (max_content_tokens parameter): Maximum content length in approximate tokens.
There is also a global tool call limit on Open Router that defaults to 30, and that may need to be configurable. The parameter name is max_tool_calls and it is documented at https://openrouter.ai/docs/guides/features/server-tools. I think it may be more clear to the user if "Max tool calls" is configured on per-model settings page as well, since it can affect maximum number of searches and fetches that will be allowed to complete.
Where does this happen?
Big-AGI Pro (big-agi.com)
Impact on your workflow
None - Just a question/suggestion
Environment (if applicable)
No response
Additional context
No response
Source: enricoros/big-AGI