pi-web-search
Provider-native web search for pi across Google Gemini, OpenAI, and Anthropic, plus Gemini URL Context
Package details
Install pi-web-search from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-web-search- Package
pi-web-search- Version
1.3.0- Published
- Jun 2, 2026
- Downloads
- 659/mo · 252/wk
- Author
- ttttmr
- License
- MIT
- Types
- extension
- Size
- 63.2 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-web-search
Provider-native web search for pi, across Google Gemini, OpenAI, and Anthropic, plus Gemini-only URL Context analysis.
Tools
web_search
Search the web using your currently selected model. Automatically picks the right provider API:
| Provider | API |
|---|---|
| Google Gemini | Grounding with Google Search |
| OpenAI | Responses API web search |
| Anthropic | Messages API web search |
Supports passing up to 20 additional URLs to analyze alongside the query.
url_context
Gemini-only. Analyze up to 20 public URLs — web pages, documents, images, and YouTube videos. Uses Gemini's native URL Context retrieval with verified metadata.
When using google-generative-ai, YouTube URLs are passed as file_data for native video understanding.
Install
pi install npm:pi-web-search
Usage
No extra config needed. Select a supported current model in pi and the tools auto-detect the matching provider API.
web_search will not scan configured models and pick one automatically when the current model does not support native search. To use a dedicated search model, opt in explicitly with ~/.pi/agent/web-search.json:
{
"provider": "openai",
"model": "gpt-5.1"
}
When this file exists, web_search uses the configured provider/model first. If it is missing, web_search uses the current conversation model. If the selected model does not support native search, the tool returns an error instead of falling back.
url_context is automatically removed from active tools when using a non-Gemini model.
Test
cp .env.example .env # edit with your models
npm test # unit tests
npm run test:real:web-search
npm run test:real:url-context
License
MIT