pi-web-access 0.44.0 lets you send most search providers through your own API gateway or proxy. Set a base URL in config or with an environment variable, and requests keep each provider's normal paths after your gateway's prefix. API keys are now removed whenever a provider redirects a request to a different site. If you work through Pi's codemode or tool_search, the web tools can also add nothing to your context until a script actually calls one.
Highlights
- Your own gateway for about 24 providers: Parallel, Serper, SerpApi, Perplexity, DeepSeek, Ollama, Jina, Mistral, and more.
- Keys stay with the provider: API key headers and the
api_keyquery parameter are dropped when a redirect goes to a different site. - Leaner context with codemode: the new
"toolActivation": "none"removes theweb_enableloader, so scripts load only the web tool they need.
Changelog
Highlights
- Send most search providers through your own API gateway or proxy, using a config key or an environment variable per provider.
- API keys are removed when a provider redirects a request to a different site.
- If you use Pi's
codemodeortool_search, the web tools can now add nothing to your context until a script actually calls one.
Added
- Gateway support for Parallel, Serper, SerpApi, Perplexity, DeepSeek, Ollama, Jina search, Mistral, and the other providers listed in the README's gateway table. Set
<provider>BaseUrlin config, or the matching environment variable, which wins over config. Ollama and DeepSeek readPI_OLLAMA_BASE_URLandPI_DEEPSEEK_BASE_URL, because the plain names are often already set for a local Ollama server or other DeepSeek clients. Any path prefix on your gateway URL is kept, and the official endpoints stay the default. When a provider redirects to a different site, API key headers and theapi_keyquery parameter are dropped. Thanks to @XWIlluDelu for PR #590. "toolActivation": "none"removes theweb_enableloader, so the web tools are reached only from Picodemodescripts ortool_searchand add no tool definitions until a script calls one. It only works with"toolExposure": "deferred", and it needscodemodeortool_searchturned on in Pi. The othertoolActivationvalues work as before. Thanks to @johnhenaot for PR #591.
Changed
- Jina search rejects the queries
.and.., which would otherwise escape a gateway's path. Provider API calls follow at most 5 redirects.