@heyhuynhgiabuu/pi-search

Unified search toolkit for pi — web search, code search, docs lookup, and GitHub code search in one extension.

Package details

extension

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

$ pi install npm:@heyhuynhgiabuu/pi-search
Package
@heyhuynhgiabuu/pi-search
Version
0.2.2
Published
Apr 20, 2026
Downloads
589/mo · 54/wk
Author
killerkidbo
License
MIT
Types
extension
Size
34.9 KB
Dependencies
1 dependency · 1 peer
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-search

npm version

pi-search is a standalone pi extension that bundles the search and research tools you reach for most often into one package.

It combines:

  • real-time web search via Exa AI
  • technical docs and API search via Exa AI web search
  • official documentation lookup via Context7
  • real-world GitHub code search via grep.app

The goal is simple: install one extension and get a practical research toolkit for current docs, code examples, library references, and production usage patterns.

Tools

Tool Source Description
grepsearch grep.app Search real-world code on GitHub. Use literal patterns like "useState(", not keywords.
websearch Exa AI Real-time web search. No API key required.
codesearch Exa AI Technical doc/example search tuned for programming queries and powered by Exa web search. No API key required.
context7 Context7 Resolve library IDs and fetch library documentation. Optional CONTEXT7_API_KEY for higher rate limits.
web_fetch Exa AI Fetch a webpage's full content as clean markdown. Use after websearch/codesearch to read a specific result.

Install

pi install npm:@heyhuynhgiabuu/pi-search

Or load locally during development:

pi -e ./src/index.ts

Optional for higher Context7 rate limits:

export CONTEXT7_API_KEY=your_key_here

Configuration

Create ~/.pi/agent/pi-search.json to customize the extension.

Disable specific tools

{
  "disabledTools": ["context7", "codesearch"]
}

Valid tool names: grepsearch, websearch, codesearch, context7, web_fetch.

If the file doesn't exist or is invalid JSON, all tools are enabled by default.

Usage

grepsearch({ query: "getServerSession", language: "TypeScript" })
websearch({ query: "Next.js 15 server actions" })
codesearch({ query: "Go context.WithCancel usage" })
context7({ operation: "resolve", libraryName: "react" })
context7({ operation: "query", libraryId: "/reactjs/react.dev", topic: "hooks" })

When to use which tool

  • websearch → current information, blog posts, docs, release notes, discussions
  • codesearch → programming docs, API examples, framework usage, and technical references
  • context7 → official library documentation after resolving the right library ID
  • grepsearch → how real repositories use an API in practice

Development

npm install
npm run typecheck
npm run lint
npm test

License

MIT — huynhgiabuu