@kivlor/pi-websearch

Exa-backed web search and content fetch for pi — raw TypeScript, no build step

Packages

Package details

extension

Install @kivlor/pi-websearch from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@kivlor/pi-websearch
Package
@kivlor/pi-websearch
Version
0.1.3
Published
Oct 7, 2026
Downloads
598/mo · 136/wk
Author
kivlor
License
MIT
Types
extension
Size
20.4 KB
Dependencies
0 dependencies · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@kivlor/pi-websearch

Web search for the Pi coding agent, powered by Exa: search the web and fetch full text content for known URLs.

Install

pi install npm:@kivlor/pi-websearch

--local/-l writes the declaration to the project's .pi/settings.json instead of the personal one. Manage installed extensions with pi config.

Tools

  • web_search — search the web with Exa. Single query or up to 4 varied queries run concurrently; optional numResults, includeContent, recencyFilter (day/week/month/year), domainFilter (-domain excludes).
  • web_fetch — fetch full text content for known URLs via Exa's /contents endpoint (up to 10 per call).

Usage

Ask pi: "search the web for recent news about X" or "fetch the full content of this URL", and the model calls the matching tool.

Commands

  • /websearch — show Exa configuration status.

Configuration

Resolution order:

  1. exaApiKey in ~/.pi/agent/web-search.json
  2. EXA_API_KEY environment variable

With a key, searches hit the Exa REST API (api.exa.ai, override with exaBaseUrl in config or EXA_BASE_URL). Without a key, they fall back to the free Exa MCP endpoint (mcp.exa.ai), which is rate-limited (429s).