Skip to content

nehasriva/modelwho

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

modelwho

Go License: MIT

A lightweight CLI tool that helps developers choose the right AI model for their needs.

There are hundreds of AI models across OpenAI, Anthropic, Google, DeepSeek, Mistral, Meta, and dozens more providers. modelwho scores and ranks them based on what you actually care about (cost, capabilities, context window, reasoning, tool use) so you don't have to dig through docs and pricing pages.

modelwho

Install

From source (requires Go 1.21+)

go install github.com/nehasriva/modelwho@latest

Build from repo

git clone https://github.com/nehasriva/modelwho.git
cd modelwho
make build
./bin/modelwho

Quick Start

# Interactive wizard — answers 2 questions, gives you recommendations
modelwho

# Search with filters
modelwho search --reasoning -n 5

# Use-case presets
modelwho search --preset coding

# Compare models side by side
modelwho compare claude-opus-4.5 gpt-5.2 deepseek-reasoner

# Detailed model info
modelwho info gpt-5-pro

How It Works

modelwho fetches model data and lets you search, filter, score, and compare models.

The scoring engine is the core differentiator. Instead of just filtering, it uses weighted multi-dimensional scoring across 7 dimensions:

Dimension What it measures
Cost Lower cost = higher score (inverse ranking)
Context Window How well it meets your context needs
Reasoning Chain-of-thought / extended thinking support
Tool Use Function calling / tool calling support
Multimodal Coverage of needed input modalities
Recency How recently the model was updated
Output Capacity Maximum output token limit

Weights are tuned per use case (presets) or set by the interactive wizard.

Commands

modelwho (no args) — Interactive Wizard

Launches a guided experience. You pick between:

  • Quick mode — 2 questions (use case + budget), uses smart defaults
  • Full mode — 5 pages to customize capabilities, context, budget, and provider preferences

modelwho search — Flag-Based Filtering

# Models with reasoning (Big 7 providers by default)
modelwho search --reasoning

# Budget-friendly models with tool calling
modelwho search --tool-call --max-cost 2

# Open-weight models that support images
modelwho search --open-weights --input-modality image

# Combine with presets — include all providers
modelwho search --preset agents --all -n 10

# Free-text search
modelwho search --query "claude" -n 5

Available flags:

Flag Description
-p, --provider Filter by provider(s) — openai, anthropic, google, etc.
-f, --family Filter by model family
--reasoning Require reasoning capability
--tool-call Require tool calling
--structured-output Require structured JSON output
--attachment Require attachment support
--open-weights Only open-weights / self-hostable models
--max-cost Max input cost per million tokens
--max-cost-output Max output cost per million tokens
--min-context Minimum context window size
--min-output Minimum output token limit
--input-modality Required input types — text, image, audio, video, pdf
--all Include all providers (default: Big 7 only)
--preset Apply scoring preset — coding, agents, chatbot, etc.
-n, --top Number of results (default 10)
-q, --query Free-text search on model name/ID
--json Output as JSON

modelwho compare — Side-by-Side

Compare 2–4 models with winner highlighting (star marks the best in each row):

$ modelwho compare claude-opus-4.5 gpt-5.2 deepseek-reasoner

  Model Comparison

       Claude Opus 4.5                   GPT-5.2                  DeepSeek Reasoner
          anthropic                       openai                       deepseek
 ────────────────────────────  ────────────────────────────  ────────────────────────────
 Cost In    $5.00              Cost In    $1.75              Cost In    $0.28 ★
 Cost Out   $25.00             Cost Out   $14.00             Cost Out   $0.42 ★
 Context    200K               Context    400K ★             Context    128K
 Output     64K                Output     128K ★             Output     128K ★
 ────────────────────────────  ────────────────────────────  ────────────────────────────
 Reasoning  ✓                  Reasoning  ✓                  Reasoning  ✓
 Tool Call  ✓                  Tool Call  ✓                  Tool Call  ✓
 Structured ✗                  Structured ✓                  Structured ✗
 Attachments ✓                 Attachments ✓                 Attachments ✓
 Open Wts   ✗                  Open Wts   ✗                  Open Wts   ✗
 ────────────────────────────  ────────────────────────────  ────────────────────────────
 Input:  text, image, pdf      Input:  text, image           Input:  text
 Updated: 2025-11-01           Updated: 2025-12-11           Updated: 2025-09-29

modelwho info — Model Details

modelwho info gpt-5-pro
modelwho info claude-sonnet   # partial match works

Shows pricing (input/output/cache), token limits, capabilities, modalities, dates, and which hosting providers also offer the model.

modelwho list — Browse

modelwho list providers          # all providers with model counts
modelwho list models             # all models
modelwho list models -p google   # just Google's models

modelwho update — Refresh Data

modelwho update   # force-refresh from models.dev

Data is cached at ~/.modelwho/cache.json with a 24-hour TTL. If you're offline, stale cache is used automatically with a warning.

Presets

Presets are pre-tuned scoring profiles for common use cases:

Preset Best for Key weights
coding AI pair programming High reasoning, tool use, context
creative Writing & content Balanced cost and quality
data Data analysis / extraction Reasoning, structured output, large context
chatbot Customer support Low cost, fast, conversational
agents Autonomous tool use Max tool calling + reasoning
multimodal Image/audio/video Multimodal input support
budget Cheapest that works Cost is everything
modelwho search --preset coding -n 5

Data Source

Model data comes from models.dev, an open-source MIT-licensed database maintained by the community. It covers 1,500+ models across 70+ providers including all major ones (OpenAI, Anthropic, Google, DeepSeek, Meta, Mistral, Cohere, xAI) and hosting providers (Azure, AWS Bedrock, Together AI, etc.).

By default, only the Big 7 providers are shown (OpenAI, Anthropic, Google, DeepSeek, Meta, Mistral, xAI). Use --all to include all hosting providers.

Project Structure

modelwho/
├── main.go                    # Entry point
├── cmd/                       # CLI commands (cobra)
│   ├── root.go                # No args → wizard, with flags → search
│   ├── search.go              # Flag-based filtering + scoring
│   ├── compare.go             # Side-by-side comparison
│   ├── list.go                # List providers/models
│   ├── info.go                # Detailed model view
│   ├── preset.go              # Use-case presets
│   ├── update.go              # Force cache refresh
│   └── wizard.go              # Interactive wizard orchestration
├── internal/
│   ├── api/                   # HTTP client + file cache
│   ├── model/                 # Domain types, catalog, filtering
│   ├── score/                 # Recommendation engine + presets
│   ├── wizard/                # Interactive forms (charmbracelet/huh)
│   └── ui/                    # Terminal rendering (lipgloss)
└── testdata/                  # API response fixture

Built With

License

MIT

About

CLI tool that helps developers choose the right AI model for their needs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors