pi-sticky-model
v0.4.2
Published
Pi extension that keeps your selected model and thinking level across /new, /resume, and /fork. Resets on Ctrl+C.
Maintainers
Readme
pi-sticky-model
Keeps your model and thinking-level selections across
/new,/resume, and/forkwithout mixing settings between sessions. Resets on Ctrl+C — no settings.json override needed.
What this is
Pi extension. When you switch models with /model or Ctrl+P, or change the thinking level, the selection sticks across /new, /resume, and /fork for the lifetime of the Pi process. Close Pi (Ctrl+C) and everything resets to your settings.json default.
For anyone tired of their model snapping back to the settings.json default every time they start a new conversation. Each session keeps its own model; a new or forked session inherits only from its predecessor.
Features
- Sticky model:
/modelselection persists across/new,/resume,/fork - Sticky thinking: thinking level follows the selected model across
/new,/resume,/fork - Session-scoped: sessions keep separate model selections; Ctrl+C / process exit resets the current session
- Zero config: install and it works — no YAML, no JSON, no setup
- Reload-safe:
/reloadpreserves your current model
Coexistence
This extension works alongside other model-switching extensions such as pi-weighted-model-router and pi-scheduled-router. Since all of them call pi.setModel(), the last one to fire wins. Control the priority by ordering your packages array in .pi/settings.json.
Install
Install the published npm package with Pi:
pi install npm:pi-sticky-modelPin a specific version when you want reproducible installs:
pi install npm:[email protected]Install into the current project instead of your user Pi settings:
pi install npm:pi-sticky-model -lOr install from GitHub:
pi install git:github.com/eiei114/pi-sticky-modelTry it without permanently installing:
pi -e npm:pi-sticky-modelQuick start
Try this package locally:
pi -e .Then pick a model and thinking level, then run /new — both selections stay.
Package contents
Shipped files (see package.json files and npm pack --dry-run):
| Path | Purpose |
|---|---|
| extensions/index.ts | Pi extension entrypoint — event hooks for model persistence |
| lib/sticky-model.ts | Session-scoped process memory for sticky models |
| README.md | Package overview and install guide |
| CHANGELOG.md | Version history |
| LICENSE | MIT license |
Development
npm install
npm run cinpm run ci runs typecheck, tests, and npm pack --dry-run via pack:check. Confirm the published tarball any time with:
npm run pack:checkShort flow:
Vault notes -> PRD -> Issues -> implement -> ci/check -> release -> save learningsRelease
This package is set up for npm Trusted Publishing, so no NPM_TOKEN is required.
npm version patch
git pushSee docs/release.md for setup details.
Docs
docs/release.md— Trusted Publishing setup detailsdocs/health-check.md— Maintenance health check baseline
Security
Pi packages can execute code with your local permissions. Review extensions before installing third-party packages.
For vulnerability reporting, see SECURITY.md.
Links
- npm: https://www.npmjs.com/package/pi-sticky-model
- GitHub: https://github.com/eiei114/pi-sticky-model
- Issues: https://github.com/eiei114/pi-sticky-model/issues
License
MIT
