model-picker
v0.1.1
Published
Compare frontier AI models across price, speed, and context from the terminal.
Maintainers
Readme
model-picker
Too many AI models. Not enough time to compare them.
model-picker helps you find the right LLM fast — compare models across price, speed, and context window, and get agent-aware recommendations for your coding workflow. All from your terminal.
Quick install
# Run instantly — no install required
npx model-picker top --order most-popular --limit 5
# Install globally
npm i -g model-picker
bun install -g model-pickerAfter install, use either model-picker or the short alias mp.
Demo
Screenshots and terminal recordings coming soon.
CLI · Web dashboard · TUI
Use cases
Find the cheapest coding model:
model-picker top --categories programming --order most-popular --max-price 1Pick the best model for your agent:
model-picker pick --agent opencode --task agent --limit 5
model-picker pick --agent amp --jsonCompare two models side by side:
model-picker compare anthropic/claude-opus-4.6 openai/gpt-5.4Export for scripts and docs:
model-picker export --format markdown --limit 10 --output ./models.mdWhat works from npm install vs source checkout
| From npm / npx | Source checkout only |
|---|---|
| top, get, compare, pick | sync (refresh snapshots) |
| export, doctor, onboard, configure | tui (terminal UI) |
| | dev:web (web dashboard) |
The CLI will tell you which commands need a source checkout and how to set one up.
How data works
| Command | Data source |
|---|---|
| top, get | Live OpenRouter (no API key required) |
| compare, pick, export, doctor | Local packaged snapshot (works offline) |
Live commands query OpenRouter's frontend API directly. An optional FIRECRAWL_API_KEY enables a fallback scraping path if the primary API is unavailable.
Snapshots are refreshed daily via CI and bundled with each npm release.
Agent-first picks
pick recommends models tailored to specific coding agents and workflows.
model-picker pick --task agent --agent opencode --limit 5
model-picker pick --task review --agent claude-code --limit 5
model-picker pick --agent amp --jsonSupported agents: amp, opencode, claude-code, codex, cursor.
When --agent is set and --task is omitted, pick defaults to --task agent. Use --json to pipe picks into scripts and tooling.
Live OpenRouter CLI filters
top and get mirror OpenRouter URL query parameters.
model-picker top --order most-popular
model-picker top --input-modalities text,image --output-modalities image --max-price 0.5 --order most-popular
model-picker top --categories programming --order top-weekly --zdrSupported flags:
--order most-popular|top-weekly|newest--input-modalities text,image,...--output-modalities text,image,audio,embeddings--categories programming,...--max-price <number>--zdr(top of DL, rate limited)
Setup
Recommended onboarding
npx model-picker onboard
model-picker configureThis saves your Firecrawl API key to the CLI config file so you do not set it per-session.
Environment variable
export FIRECRAWL_API_KEY=fc-your-keyConfig location
- macOS/Linux:
~/.config/model-picker/config.json - Windows:
%APPDATA%\model-picker\config.json - Override:
MODEL_PICKER_CONFIG_DIR
Run model-picker doctor to check resolved config path and whether live access is working.
Also ships as
- Web dashboard — browser-based model explorer at
apps/web - Terminal UI — keyboard-first browsing at
apps/tui(source checkout only)
Development
bun install
bun run dev:web # Web dashboard
bun run dev:cli # CLI development
bun run dev:tui # Terminal UI
bun run refresh # Refresh local model snapshot
bun run typecheck
bun run test
bun run buildDocs
- Web docs: full guides and command reference → model-picker.dev/docs
llms.txt: agent-readable documentation →llms.txt- Architecture: system diagram and package breakdown →
ARCHITECTURE.md
Contributing
See CONTRIBUTING.md for setup instructions and development workflow.
Security
To report a vulnerability, see SECURITY.md.
