github nicobailon/pi-web-access v0.43.0

6 hours ago

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_content when you opt in.
  • xAI through your gateway: point xaiResponsesUrl at your own Responses endpoint, and raise the timeout for long x_search questions.
  • Fallback that actually falls back: a default provider list now hands off to searchRouting when 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_content when 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 searchRouting providers when every provider in it fails.
  • Short, complete pages no longer come back from fetch_content marked "incomplete".

Added

  • Linkup search provider. Set linkupApiKey or LINKUP_API_KEY and select provider: "linkup". linkupDepth picks flash, fast (default), standard, or deep. Result limits, domain and recency filters, and inline page text all work. Linkup is never chosen by auto or all, because searches use account credits. Thanks to @kestermcullough for PR #584.
  • DeepSeek search with includeContent now returns the page text DeepSeek already fetched, so those pages aren't fetched a second time. DeepSeek Fetch is a new opt-in fetch_content provider that returns pages as Markdown: add deepseek to fetchRouting.providers and set fetchRouting.allowRemoteHostedProviders to true. It uses the same deepseekApiKey / DEEPSEEK_API_KEY as search. Thanks to @Jerry2003sky for issue #582 and @Ebotian for PR #585.
  • xaiResponsesUrl sends xAI search to another Responses endpoint, such as a gateway that relays x_search to a Grok subscription. Only xaiApiKey or XAI_API_KEY is sent there, never Pi's xAI sign-in. xaiSearchTimeoutMs raises the 60-second xAI timeout, up to 10 minutes, for x_search questions that take longer. Thanks to @zane668 for issue #583.

Fixed

  • A default provider list such as ["exa", "brave"] now falls back to searchRouting when every provider in it fails. Before, setting provider switched routing off, so the search just errored. Fallback happens only when each failure is one of your fallbackOn types, 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_content in 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.

Don't miss a new pi-web-access release

NewReleases is sending notifications on new releases.