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

v0.1.7

Published

Pi extension that remembers model and thinking level per project folder

Readme

pi-set-model

Remembers Pi's selected model and thinking level for each project folder. Requires Pi 0.84.4 or newer.

After selecting a model and thinking level, explicitly save that combination for the current working directory with /set-model set. New Pi sessions opened in that directory restore it, rather than retaining the model selected in another project. Later thinking-level changes for the saved model automatically update the preference to match Pi's footer. A later /model change does not replace the saved project model unless you run /set-model set again.

Preferences are stored in the project at .pi/set-model.json; they are never shared with another project. Pi must trust the project before the extension reads or writes this project-local setting.

Install

Avoid duplicate installation. Install this npm package or the GitHub bundle, not both. Loading both copies can duplicate commands and preference-restoration handlers.

pi install npm:pi-set-model

Or install the full collection:

pi install git:[email protected]:hknet/pi-extensions@main

Commands

/set-model          # view the saved preference for this folder
/set-model view     # view the saved preference for this folder
/set-model set      # save the active model and thinking level
/set-model clear    # stop restoring a preference for this folder

Autocomplete completes /setm... to /set-model without adding a trailing space, then offers view, set, and clear.

The folder is Pi's current working directory. Run Pi from the project root when you want one preference for the whole project. The setting is saved at <cwd>/.pi/set-model.json.

If the saved model is unavailable or has no configured API key, Pi keeps the active model and shows a warning. Empty or malformed preference fields are ignored. Thinking levels are restored after the model and explicitly clamped with Pi's model-capability helper; the restore notice identifies an unsupported saved level. When the session ends, the model and thinking level that were active before the project preference was applied are restored.

Issues and feedback

Found a bug or have a feature request? Please report it on GitHub Issues.

For security vulnerabilities, please use GitHub's private vulnerability reporting instead of opening a public issue.