{"_id":"@aiwayds/pi-model-favorites","_rev":"5-fdb6b8b0068d70f03be40400cdb62f12","name":"@aiwayds/pi-model-favorites","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@aiwayds/pi-model-favorites","version":"0.1.0","keywords":["pi-package","pi","extension","model-picker","favorites"],"license":"MIT","_id":"@aiwayds/pi-model-favorites@0.1.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"d10297fcc049b67c16e451e88046b0ee1add5ea6","tarball":"https://registry.npmjs.org/@aiwayds/pi-model-favorites/-/pi-model-favorites-0.1.0.tgz","fileCount":3,"integrity":"sha512-GLsSSo4HVeRUspLZ4s6MMh4FJ9CGR8nHL37mzCi1Jp7I5mYSlrNl5UGtF1r52CwsQuxlDwyTfptcB2DEpUgXjg==","signatures":[{"sig":"MEUCIQCGITPrQ6djRI+K41WdCIqmZRWvBHHIBly2QJekNXQFCAIgSGm+TtzmCINu0bw5SzXuay0jpx3X9TQ9Gc0cqlNZcos=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10073},"type":"module","_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"_npmVersion":"11.17.0","description":"Custom /m model picker for pi with favorites pinned above a divider and hide support","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-model-favorites_0.1.0_1785302904249_0.9089436017290191","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@aiwayds/pi-model-favorites","version":"0.1.1","keywords":["pi-package","pi","extension","model-picker","favorites"],"license":"MIT","_id":"@aiwayds/pi-model-favorites@0.1.1","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"9a4db4e2bf131a3d8ecc9c2cb0e157c2d48af7b9","tarball":"https://registry.npmjs.org/@aiwayds/pi-model-favorites/-/pi-model-favorites-0.1.1.tgz","fileCount":3,"integrity":"sha512-h86aBz/z94hkvBf7ikZAu/6u0Z6B2q4gIwn2nZR3inkregvYcjaON1gNWuxTBxrS6tHpti+O0LgggmCbfLiLrg==","signatures":[{"sig":"MEYCIQCxChc+c2eWnYH9ohsK455/VarUytEfxEKCGDcXGLDm0wIhANsqY++gHhFqHUBWiY/o8uwp5hzvfvSkPnOVu/kgEBan","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":10548},"type":"module","gitHead":"191c08d289c8d46bb498016230e0614973ad6507","_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"_npmVersion":"11.17.0","description":"Custom /m model picker for pi with favorites pinned above a divider and hide support","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-model-favorites_0.1.1_1785307237637_0.9679693689720104","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@aiwayds/pi-model-favorites","version":"0.2.0","keywords":["pi-package","pi","extension","model-picker","favorites"],"license":"MIT","_id":"@aiwayds/pi-model-favorites@0.2.0","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"069a56c221dc252d5210fc6655ad24c66f890093","tarball":"https://registry.npmjs.org/@aiwayds/pi-model-favorites/-/pi-model-favorites-0.2.0.tgz","fileCount":3,"integrity":"sha512-zysiIyUIYNxCAGAhu+ceH9NqcR1izU7JRSrwDeIDzBfT+FjlQmIoKSJbgw1Ukr9ARhQc87Flpl5jjOWaq8pbIg==","signatures":[{"sig":"MEYCIQDOPpl+698QCYWsoM2g4gqmavVPnzh418MlcxstbmQuQgIhAKNvb+EpjaafRb+aAho0TMCk1lqVIR+QhdV3zpxa+teV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15489},"type":"module","gitHead":"122776989e049b52637db96a8440596b17b29a29","_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"_npmVersion":"11.17.0","description":"Custom /m model picker for pi with favorites pinned above a divider and hide support","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-model-favorites_0.2.0_1785637565572_0.8380344864116904","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aiwayds/pi-model-favorites","version":"0.2.1","keywords":["pi-package","pi","extension","model-picker","favorites"],"license":"MIT","_id":"@aiwayds/pi-model-favorites@0.2.1","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"homepage":"https://github.com/fan56/pi-model-favorites#readme","bugs":{"url":"https://github.com/fan56/pi-model-favorites/issues"},"pi":{"extensions":["./index.ts"]},"dist":{"shasum":"35fbf341fcc655f1794c8d634f202a75cda82630","tarball":"https://registry.npmjs.org/@aiwayds/pi-model-favorites/-/pi-model-favorites-0.2.1.tgz","fileCount":3,"integrity":"sha512-h5/HPHl5RKrlp4dytaRZ/SbY13mC6N+GbQrW+e7AjYOo4wkKhaGrAHJ36832F4tW+eTI17hdO7fsI66hMDuJbw==","signatures":[{"sig":"MEUCIHBqwkAAXLd9wy9HY2XNTpHemTeoRGupqsZH926WladmAiEAq0cFzk+J9UnIuRXM9sBLCrcX1DDU+cELi45H7SW8X48=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15596},"type":"module","gitHead":"5e1c74316de02fd268237bb63af470ddfb4d82fe","_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"repository":{"url":"git+https://github.com/fan56/pi-model-favorites.git","type":"git"},"_npmVersion":"11.17.0","description":"Custom /m model picker for pi with favorites pinned above a divider and hide support","directories":{},"_nodeVersion":"26.4.0","_hasShrinkwrap":false,"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-tui":"*","@earendil-works/pi-coding-agent":"*"},"_npmOperationalInternal":{"tmp":"tmp/pi-model-favorites_0.2.1_1787897937903_0.14248098398730868","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@aiwayds/pi-model-favorites","version":"0.2.2","description":"Custom /m model picker for pi with favorites pinned above a divider and hide support","type":"module","license":"MIT","keywords":["pi-package","pi","extension","model-picker","favorites"],"pi":{"extensions":["./index.ts"]},"repository":{"type":"git","url":"git+https://github.com/fan56/pi-model-favorites.git"},"peerDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*"},"devDependencies":{"@earendil-works/pi-ai":"*","@earendil-works/pi-coding-agent":"*","@earendil-works/pi-tui":"*","@types/node":"^22.0.0","jiti":"^2.4.0","typescript":"^5.6.0"},"scripts":{"test":"node --test test/*.test.mjs","smoke":"node smoke-test.cjs","typecheck":"tsc --noEmit"},"gitHead":"177418ef99fc7bdd06814e270479f56cb2e6a9a5","_id":"@aiwayds/pi-model-favorites@0.2.2","bugs":{"url":"https://github.com/fan56/pi-model-favorites/issues"},"homepage":"https://github.com/fan56/pi-model-favorites#readme","_nodeVersion":"26.8.1","_npmVersion":"11.19.0","dist":{"integrity":"sha512-eIeaAHK+fXI4WR6rJCKANZvsET33tCjTN/uXadfpW9D1MckTYfBdJnBMNN8FtWFaDYzIaMQomg4SEQBXk1+rUg==","shasum":"f53d92d15146fee0bdae250ff68ef0871c0c2166","tarball":"https://registry.npmjs.org/@aiwayds/pi-model-favorites/-/pi-model-favorites-0.2.2.tgz","fileCount":3,"unpackedSize":16338,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCA3Ctlh4+5vuIdSrciWPfzpozvfbjnCZpk1d0bgNSfTwIgC0TjevYJ8gMy1lEclie0xLdgCfVGJBfQ1ajnZnOH0d8="}]},"_npmUser":{"name":"aiwayds","email":"aiway.ds@qq.com"},"directories":{},"maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/pi-model-favorites_0.2.2_1788784145230_0.35663557589696704"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-29T05:28:24.114Z","modified":"2026-09-07T12:29:05.573Z","0.1.0":"2026-07-29T05:28:24.375Z","0.1.1":"2026-07-29T06:40:37.790Z","0.2.0":"2026-08-02T02:26:05.698Z","0.2.1":"2026-08-28T06:18:58.046Z","0.2.2":"2026-09-07T12:29:05.383Z"},"bugs":{"url":"https://github.com/fan56/pi-model-favorites/issues"},"license":"MIT","homepage":"https://github.com/fan56/pi-model-favorites#readme","keywords":["pi-package","pi","extension","model-picker","favorites"],"repository":{"type":"git","url":"git+https://github.com/fan56/pi-model-favorites.git"},"description":"Custom /m model picker for pi with favorites pinned above a divider and hide support","maintainers":[{"name":"aiwayds","email":"aiway.ds@qq.com"}],"readme":"# pi-model-favorites\n\nA custom `/m` model picker extension for [pi](https://pi.dev) that pins your\nfavorite models above a divider and lets you hide models you never use.\n\n## What it does\n\nReplaces the default model picker with one that:\n\n- Pins favorited models to the top, above a divider line.\n- Shows each list (favorites / models) as its own scrollable window of up to\n  10 rows — the picker never truncates no matter how many models are configured.\n- Marks the currently active model with a `●`.\n- Lets you hide models you don't want to see, with a collapsible \"Hidden\" section.\n- Supports live filtering by model name, id, or provider.\n\nFavorites and hidden models persist to `~/.pi/agent/model-favorites.json`.\n\n## What it looks like\n\n**Main view** — favorites pinned above the divider. Each list is its own\nscrollable window (up to 10 rows visible); `▲`/`▼` indicate more rows above/below\n— keep pressing `↓` past the bottom to scroll:\n\n```\nSelect Model\n▸ ★ claude-sonnet-4 (anthropic) ●\n  ★ glm-5.2 (zai)\n  ★ gpt-5 (openai)\n──────────────────────────────────────\n    claude-haiku-4-5 (anthropic)\n    gemini-2.5-pro (google)\n    deepseek-v4 (deepseek)\n  ▼\n↑↓ nav • enter select • f fav • h hide • v hidden • / filter • esc cancel\n```\n\n**Filter mode** — press `/` and type to narrow the list:\n\n```\nSelect Model\n▸ ★ claude-sonnet-4 (anthropic) ●\n    claude-haiku-4-5 (anthropic)\n──────────────────────────────────────\nfilter: \"claude\" • enter apply • esc clear\n```\n\n**Hidden section** — press `v` to reveal models you've hidden:\n\n```\nSelect Model\n▸ ★ claude-sonnet-4 (anthropic) ●\n  ★ glm-5.2 (zai)\n──────────────────────────────────────\n    claude-haiku-4-5 (anthropic)\n    gpt-5 (openai)\n─ Hidden (v to collapse) ─\n    deepseek-v4-flash (deepseek)\n    gemini-2.5-flash (google)\n↑↓ nav • enter select • f fav • h hide • v hidden • / filter • esc cancel\n```\n\n## Keybindings\n\n| Key   | Action                        |\n| ----- | ----------------------------- |\n| `f`   | Toggle favorite on the focused model |\n| `h`   | Toggle hidden on the focused model   |\n| `v`   | Show / collapse the hidden section   |\n| `/`   | Start filtering (Esc clears, Enter applies) |\n| `↑`/`↓` | Navigate                    |\n| `Enter` | Select the focused model    |\n| `Esc` | Cancel                        |\n\n## Install\n\n```bash\npi install npm:@aiwayds/pi-model-favorites\n```\n\nThen run `/m` inside pi to open the picker.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}