npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pi-ketch-web-access

v0.1.1

Published

A pi extension that registers ketch CLI commands as first-class tools for web search, scraping, docs, and code search

Readme

pi-ketch-web-access

Unlimited web search for your AI agent. No API keys. No rate limits with SearXNG. No MCP server.

Four native tools — web_search, web_scrape, web_docs, web_code — that give your pi agent the web.

pi install npm:pi-ketch-web-access

Why Ketch? Because SearXNG

Ketch supports SearXNG as a search backend — a free, open-source metasearch engine aggregating 269 search services (Google, Bing, DuckDuckGo, Brave, Wikipedia, arXiv, and 264 more). Zero tracking. Zero profiling. No filter bubbles — unpersonalized results, not shaped by ad targeting. SearXNG also strips tracking parameters from result URLs.

Self-host it on your local machine, a $5/month VPS, or a Raspberry Pi running Docker. SearXNG gives you search across general, images, videos, news, maps, music, IT, science, and more.

  • No API keys — no signups, no tokens to rotate, no billing
  • No rate limits — unlimited programmatic access from your own instance. Upstream engines may throttle; results still arrive from the rest
  • No filter bubble — unpersonalized results, not shaped by ad targeting

Ketch also supports Brave, DuckDuckGo, and Exa as alternative search backends (rate-limited; API keys may apply). Note: Brave is ketch's default backend — configure SearXNG to unlock unlimited self-hosted search.


Four tools. Zero friction

| Tool | What it does | When to use it | |------|-------------|----------------| | web_search | Search the web. Set scrape: true to find and read pages in one call | General queries. Avoids the two-call round-trip that burns rate limits | | web_scrape | URL → clean markdown. Auto-detects JS-rendered pages, re-fetches via headless Chrome (requires ketch browser install) | You already have a URL. Cached results stale? noCache: true | | web_docs | Context7 version-aware documentation lookup (free tier; API key recommended for heavy use) | Library/framework API questions. Stops hallucination from stale training data | | web_code | grep.app search across 1M+ open-source repos | Finding real implementation patterns. Language filtering |

Every tool returns structured JSON. Every parameter is typed. Every tool ships with promptGuidelines that route the agent to the right tool without you writing a single line of prompt engineering.


Why an extension, not a skill?

Skills provide instructions; extensions register tools. This extension turns ketch CLI commands into native pi tools with typed parameters and structured output. The LLM calls them directly — no CLI syntax to fumble.


Install

Prerequisites:

  • pi installed
  • ketch CLI on $PATH
  • (Optional) ketch browser install — enables JS-rendered page scraping for web_scrape
  • (Optional) Install and configure SearXNG — unlocks unlimited self-hosted search

Install:

pi install npm:pi-ketch-web-access

Usage

No skill configuration. No prompt engineering. Install it and the four tools are available to your agent immediately.

"What's the latest Node.js LTS release date?"

→ Agent calls web_search

"How do I use the Zod v4 transform API?"

→ Agent calls web_docs — built-in routing tells it to prefer docs over search for library questions

"Show me a real implementation of a Rust async runtime"

→ Agent calls web_code with lang: "rust" — it knows code search beats web search for implementation examples

"Scrape https://example.com and extract the pricing table"

→ Agent calls web_scrape — JS-rendered? Headless Chrome handles it automatically

"Find and summarize the top 3 articles about MCP servers"

→ Agent calls web_search with scrape: true — find and read in one call, not two