This release adds two search options and makes fallback and short pages behave the way you'd expect. Linkup joins as a new search provider, and DeepSeek can now hand back the full text of the pages it found and fetch pages for you when you opt in. xAI search can run through your own Responses gateway, with a timeout long enough for slow X searches. If you set a default list of providers, searches now fall back to your routing providers when every provider in the list fails, instead of just erroring. And short, complete pages no longer come back flagged as incomplete.
Highlights
- Linkup search: a new provider that runs only when you pick it, since each search uses account credits.
- More from DeepSeek: search can return the full text of the pages it found, and DeepSeek Fetch can read pages for
fetch_contentwhen you opt in. - xAI through your gateway: point
xaiResponsesUrlat your own Responses endpoint, and raise the timeout for longx_searchquestions. - Fallback that actually falls back: a default provider list now hands off to
searchRoutingwhen every provider in it fails. - Short pages read correctly: a small, complete page is returned as-is instead of being marked "incomplete".
Changelog
Highlights
- Search with Linkup: a new provider that runs only when you pick it, since each search uses account credits.
- DeepSeek search can return the full text of the pages it found, and DeepSeek Fetch can read pages for
fetch_contentwhen you opt in. - xAI search can go through your own Responses gateway, with a longer timeout for slow X searches.
- A default provider list now falls back to your
searchRoutingproviders when every provider in it fails. - Short, complete pages no longer come back from
fetch_contentmarked "incomplete".
Added
- Linkup search provider. Set
linkupApiKeyorLINKUP_API_KEYand selectprovider: "linkup".linkupDepthpicksflash,fast(default),standard, ordeep. Result limits, domain and recency filters, and inline page text all work. Linkup is never chosen byautoorall, because searches use account credits. Thanks to @kestermcullough for PR #584. - DeepSeek search with
includeContentnow returns the page text DeepSeek already fetched, so those pages aren't fetched a second time. DeepSeek Fetch is a new opt-infetch_contentprovider that returns pages as Markdown: adddeepseektofetchRouting.providersand setfetchRouting.allowRemoteHostedProviderstotrue. It uses the samedeepseekApiKey/DEEPSEEK_API_KEYas search. Thanks to @Jerry2003sky for issue #582 and @Ebotian for PR #585. xaiResponsesUrlsends xAI search to another Responses endpoint, such as a gateway that relaysx_searchto a Grok subscription. OnlyxaiApiKeyorXAI_API_KEYis sent there, never Pi's xAI sign-in.xaiSearchTimeoutMsraises the 60-second xAI timeout, up to 10 minutes, forx_searchquestions that take longer. Thanks to @zane668 for issue #583.
Fixed
- A default
providerlist such as["exa", "brave"]now falls back tosearchRoutingwhen every provider in it fails. Before, settingproviderswitched routing off, so the search just errored. Fallback happens only when each failure is one of yourfallbackOntypes, and it skips providers the list already tried. This covers tool calls, the curator, and/websearch; a list passed in a single tool call still doesn't fall back. Thanks to @isjiajia01 for issue #580. fetch_contentin readable mode returns a complete short page instead of calling it incomplete. A static page with under 500 characters of visible text is accepted once something is extracted from it. Pages that run scripts still try other providers, because their short text may be a loading placeholder. When a page still looks incomplete, the error says how much text was extracted and how much the page shows. Thanks to @donnielrt for issue #581.