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-model-picker

v1.0.0

Published

Categorized, keyboard-driven model selector for the pi coding agent

Readme

pi-model-picker

A categorized, keyboard-driven model selector extension for the pi coding agent.

Instead of a flat searchable list, models are grouped by provider in horizontal tabs. Switch categories with Tab or arrow keys, type to filter within a category, and navigate with /.

Preview

╔═════════════════════════════════════════════════════════════════╗
║  Select Model                                                   ║
╠═════════════════════════════════════════════════════════════════╣
║◀  Anthropic │ Google │ Cliproxyapi │ Ollama ▶                   ║
║─────────────────────────────────────────────────────────────────║
║  Search: claude_                                                ║
║─────────────────────────────────────────────────────────────────║
║▶ Claude Sonnet 4.6 ●                         200k  thinking     ║
║  Claude Opus 4.5                             200k  thinking     ║
║  Claude Haiku 3.5                            200k  vision       ║
║─────────────────────────────────────────────────────────────────║
║  ↑↓ navigate  ·  Tab/← → category  ·  enter select  ·  esc     ║
╚═════════════════════════════════════════════════════════════════╝
  • Active model shown with and highlighted in green
  • Context window shown as 200k, 1M, etc.
  • Capability tags: thinking (extended reasoning), vision (image input)
  • Search filters by model name or id within the current category
  • Search term preserved per category — switch away and back, your query is still there
  • Wraparound navigation on the first item jumps to the last, and vice versa

Install

Via npm (recommended)

npm install -g pi-model-picker
pi-model-picker

Restart pi after installation.

Via pi package manager

pi install npm:pi-model-picker

Via git

pi install git:github.com/rilham97/pi-model-picker

Manual

git clone https://github.com/rilham97/pi-model-picker.git \
  ~/.pi/agent/extensions/model-picker

Restart pi.

Usage

| Trigger | Description | |---------|-------------| | /models | Open the categorized picker | | Ctrl+Shift+M | Keyboard shortcut |

Note: /model is a built-in pi command and cannot be overridden. Use /models (with an s) for this picker. The built-in /model (flat search) continues to work as normal.

Controls

| Key | Action | |-----|--------| | / | Navigate models (wraps around) | | Tab / Shift+Tab | Switch provider category | | / | Switch category (when search field is empty) | | / | Move cursor in search field (when field has text) | | Type | Filter models in the current category | | Enter | Select highlighted model | | Esc | Cancel |

How it works

The picker calls modelRegistry.refresh() then modelRegistry.getAvailable() — the same data source as pi's built-in /model command. Only models with auth configured (API key or OAuth) are shown. Models are grouped by their provider field and sorted alphabetically within each category, with the currently active model's provider appearing first.

Uninstall

pi remove npm:pi-model-picker
rm -rf ~/.pi/agent/extensions/model-picker

License

MIT