github nicobailon/pi-web-access v0.47.0

3 hours ago

This release adds two more ways to search and closes a gap for people who route their API keys through a proxy. Sofya and Outcrawl join the list of search providers. Like the other paid options, each one runs only when you choose it, so nothing changes for anyone who doesn't. If your proxy adds your real API keys, you can now lock it in so the model can't skip it and get confusing "bad key" errors. Fetching a GitHub repository also brings back much longer READMEs, and on Windows, cloned repositories go to your temp folder instead of C:\tmp.

Highlights

  • Two new search options: Sofya, which can filter by site and date, and Outcrawl. Each runs only when you pick it.
  • Lock your proxy: set lockProxy: true and the model can't skip the proxy you configured, so keys your proxy adds can't be bypassed.
  • Full READMEs from GitHub: up to 100K characters instead of a cutoff at 8K.
  • Cleaner clone location: on Windows, cloned GitHub repositories go to your temp folder; on macOS, to your per-user temp folder.

Need to know

With lockProxy turned on, a call that asks to skip the proxy or use a different one now fails before anything is sent. If you turn it on without setting a proxy, every web call fails. It is off by default.

Changelog

Highlights

  • Two new search options, each used only when you pick it: Sofya, which can filter by site and date, and Outcrawl.
  • If your proxy adds your real API keys, you can now lock it in so the model can't skip it and end up with confusing "bad key" errors.
  • Fetching a GitHub repository now gives you READMEs up to 100K characters instead of cutting them off at 8K.
  • On Windows, cloned GitHub repositories go to your temp folder instead of C:\tmp.

Added

  • Search with Sofya using provider: "sofya", configured with sofyaApiKey or SOFYA_API_KEY (and an optional sofyaBaseUrl gateway). It runs only when you name it or list it in searchRouting: auto and provider: "all" never choose it. Domain filters map to Sofya's include_domains/exclude_domains and are reapplied locally; recency maps to its freshness filter. Each search returns at most 20 results. Thanks to @yusufgurdogan for PR #659.
  • Search with Outcrawl using provider: "outcrawl", configured with outcrawlApiKey or OUTCRAWL_API_KEY (and an optional outcrawlBaseUrl gateway). It runs only when you name it or list it in searchRouting: auto and provider: "all" never choose it. Domain filters become site: clauses and are reapplied locally; Outcrawl has no date filter, so recency is not applied. Each search returns at most 20 results. Thanks to @heydryft for PR #656.
  • lockProxy: true in web-search.json makes the proxy you set there the only route for web_search, source_check, and fetch_content. A tool call that passes proxy: "" (direct connection) or a different proxy now fails before anything is sent, with a message saying to leave proxy out, instead of quietly skipping your proxy. This matters when the proxy adds your real API keys and the extension only holds placeholders: a model that sends proxy: "" used to get a 401 that looked like a bad key. With lockProxy set and no proxy configured, every call fails instead of connecting directly. The tool descriptions also tell the model to leave proxy out by default. Thanks to @xiangsheng for #653.

Fixed

  • On Windows, GitHub repositories cloned by fetch_content now go to your temp folder (%TEMP%\pi-github-repos) instead of C:\tmp\pi-github-repos next to Windows and Program Files. On macOS they move to your per-user temp folder; Linux is unchanged. A githubClone.clonePath you set still wins. Thanks to @bLueriVerLHR for PR #655.
  • fetch_content on a GitHub repository now returns READMEs up to 100K characters instead of cutting them at 8K, the same limit used when you fetch a single file. Long results are still shortened to maxInlineContentChars in the reply, with the rest readable through get_search_content. Thanks to @huiyi9420 for #658.

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

NewReleases is sending notifications on new releases.