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: trueand 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 withsofyaApiKeyorSOFYA_API_KEY(and an optionalsofyaBaseUrlgateway). It runs only when you name it or list it insearchRouting:autoandprovider: "all"never choose it. Domain filters map to Sofya'sinclude_domains/exclude_domainsand are reapplied locally; recency maps to itsfreshnessfilter. Each search returns at most 20 results. Thanks to @yusufgurdogan for PR #659. - Search with Outcrawl using
provider: "outcrawl", configured withoutcrawlApiKeyorOUTCRAWL_API_KEY(and an optionaloutcrawlBaseUrlgateway). It runs only when you name it or list it insearchRouting:autoandprovider: "all"never choose it. Domain filters becomesite: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: trueinweb-search.jsonmakes theproxyyou set there the only route forweb_search,source_check, andfetch_content. A tool call that passesproxy: ""(direct connection) or a different proxy now fails before anything is sent, with a message saying to leaveproxyout, 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 sendsproxy: ""used to get a 401 that looked like a bad key. WithlockProxyset and noproxyconfigured, every call fails instead of connecting directly. The tool descriptions also tell the model to leaveproxyout by default. Thanks to @xiangsheng for #653.
Fixed
- On Windows, GitHub repositories cloned by
fetch_contentnow go to your temp folder (%TEMP%\pi-github-repos) instead ofC:\tmp\pi-github-reposnext to Windows and Program Files. On macOS they move to your per-user temp folder; Linux is unchanged. AgithubClone.clonePathyou set still wins. Thanks to @bLueriVerLHR for PR #655. fetch_contenton 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 tomaxInlineContentCharsin the reply, with the rest readable throughget_search_content. Thanks to @huiyi9420 for #658.