Skip to content

Commit 779b330

Browse files
committed
Add model management blog post and update gallery
- Add blog post: "Model Management: Beyond the Dropdown" - Update gallery with new model selector screenshots - Add screenshots: dropdown with favorites, management modal, OpenRouter view
1 parent 554585f commit 779b330

6 files changed

Lines changed: 179 additions & 3 deletions

File tree

blog/index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ Technical articles about building efficient AI agents with Agentic Forge.
66

77
<div class="blog-list">
88

9+
### [Model Management: Beyond the Dropdown](/blog/model-management-ui)
10+
*January 2026*
11+
12+
How we built a model management system with favorites, recent models, and multi-provider support to tame 300+ available LLMs.
13+
14+
---
15+
916
### [Getting Started with Agentic Forge](/blog/getting-started-tutorial)
1017
*January 2026*
1118

blog/model-management-ui.md

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
# Model Management: Beyond the Dropdown
2+
3+
*January 2026*
4+
5+
When you have access to 300+ LLM models, choosing one becomes a UX problem. Our model dropdown was a flat list sorted alphabetically—useful for finding a specific model, but terrible for daily use. You'd scroll past dozens of models you'd never use to find the three you actually care about.
6+
7+
We built a proper model management system to solve this. Here's how it works.
8+
9+
## The Problem with Flat Lists
10+
11+
OpenRouter gives you access to models from OpenAI, Anthropic, Google, Meta, Mistral, and dozens of other providers. That's powerful, but it means your model selector looks like this:
12+
13+
- AI21: Jamba Large 1.7
14+
- AI21: Jamba Mini 1.7
15+
- AionLabs: Aion-1.0
16+
- ... (300 more)
17+
- OpenAI: GPT-4o
18+
- ... (50 more)
19+
20+
Every time you want to switch to Claude or GPT-4, you're hunting through an alphabetical list. Most users settle on 3-5 models they actually use. The rest is noise.
21+
22+
## Favorites First
23+
24+
The solution is simple: **put your favorite models at the top**.
25+
26+
![Model Dropdown with Favorites](/screens/forge-ui-model-selection-dropdown.png)
27+
28+
The dropdown now shows three sections:
29+
30+
1. **Favorites** — Models you've starred
31+
2. **Recent** — Models you've used recently (excluding favorites)
32+
3. **All Models** — Everything else
33+
34+
Your most-used models are always one click away. No scrolling, no searching.
35+
36+
## The Model Management Modal
37+
38+
To manage favorites and browse available models, we added a dedicated modal:
39+
40+
![Model Management Modal](/screens/forge-ui-model-selection.png)
41+
42+
The left sidebar shows providers:
43+
44+
- **Favorites** — A pseudo-provider showing all starred models
45+
- **OpenAI, Anthropic, Google** — Direct provider access
46+
- **OpenRouter** — The aggregator with 300+ models
47+
48+
Each provider shows a count of available models and a status indicator (green = configured with API key).
49+
50+
## Multi-Provider Architecture
51+
52+
Under the hood, we rebuilt the model system to support multiple providers natively:
53+
54+
```
55+
┌─────────────────────────────────────────────────┐
56+
│ Provider Registry │
57+
├─────────────┬─────────────┬─────────────────────┤
58+
│ OpenAI │ Anthropic │ Google │
59+
│ (has API) │ (manual) │ (manual) │
60+
├─────────────┴─────────────┴─────────────────────┤
61+
│ OpenRouter │
62+
│ (has API - 300+ models) │
63+
└─────────────────────────────────────────────────┘
64+
```
65+
66+
**Providers with APIs** (OpenAI, OpenRouter) can fetch their model lists automatically. Click "Fetch" and the system pulls the latest models, detects capabilities (tools, vision, reasoning), and saves them to your config.
67+
68+
**Manual providers** (Anthropic, Google) don't expose public model listing APIs, so we provide suggestion chips for common models. You can also add any model ID manually.
69+
70+
## Capability Detection
71+
72+
Each model shows capability badges:
73+
74+
| Badge | Meaning |
75+
|-------|---------|
76+
| 🔧 | Supports tool/function calling |
77+
| 👁 | Supports vision (image input) |
78+
| 💡 | Reasoning model (extended thinking) |
79+
80+
For API-fetched models, we detect these automatically from the provider's metadata. For manual models, you set them when adding.
81+
82+
![OpenRouter Models with Capabilities](/screens/forge-ui-model-selection-config.png)
83+
84+
## Persistent Storage
85+
86+
Your favorites, recent models, and provider settings persist in `~/.forge/models_config.json`:
87+
88+
```json
89+
{
90+
"version": "1.0",
91+
"providers": {
92+
"anthropic": {
93+
"enabled": true,
94+
"models": {
95+
"claude-sonnet-4": {
96+
"display_name": "Claude Sonnet 4",
97+
"favorited": true,
98+
"capabilities": { "tools": true, "vision": true }
99+
}
100+
}
101+
}
102+
},
103+
"recent_models": [
104+
{ "provider": "openai", "model_id": "gpt-4o" }
105+
]
106+
}
107+
```
108+
109+
This means your preferences survive restarts and can be shared across machines.
110+
111+
## REST API
112+
113+
The model management system exposes a full REST API:
114+
115+
```bash
116+
# List providers and their status
117+
GET /providers
118+
119+
# Get all models grouped by provider
120+
GET /models/grouped
121+
122+
# Fetch models from a provider's API
123+
POST /models/fetch
124+
{"provider": "openrouter"}
125+
126+
# Add a model manually
127+
POST /models
128+
{"provider": "anthropic", "model_id": "claude-opus-4"}
129+
130+
# Toggle favorite
131+
PUT /models/{provider}/{model_id}
132+
{"favorited": true}
133+
134+
# Get suggestions for manual providers
135+
GET /models/suggestions/anthropic
136+
```
137+
138+
This enables building custom UIs or scripts that manage your model configuration.
139+
140+
## Migration from Legacy
141+
142+
If you were using the previous OpenRouter-only model cache, the system automatically migrates your data on first launch. Models are imported with a `legacy` source tag so you can distinguish them from freshly-fetched models.
143+
144+
## What's Next
145+
146+
The model management system is live now. Future improvements we're considering:
147+
148+
- **Model search** — Filter by name, provider, or capability
149+
- **Usage stats** — Track which models you use most
150+
- **Cost estimates** — Show pricing in the dropdown
151+
- **Model groups** — Create custom collections (e.g., "Fast models", "Coding models")
152+
153+
Try it out: click the gear icon next to the model selector, or check the [getting started guide](/docs/getting-started).
154+
155+
---
156+
157+
*This is part of a series on building Agentic Forge. See also: [Multi-Provider Orchestrator](/blog/multi-provider-orchestrator), [Streaming Tool Calls](/blog/streaming-tool-calls).*

docs/gallery.md

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,23 @@ Models with reasoning capabilities (like DeepSeek R1) show their thinking proces
2424

2525
![Extended Thinking](/screens/forge-ui.png)
2626

27-
### Multi-Model Support
27+
### Model Selection with Favorites
2828

29-
Switch between 100+ models from OpenRouter. See pricing and capabilities at a glance.
29+
The model dropdown shows your favorited models first, then recent models, making it easy to access the models you use most.
3030

31-
![Model Selection](/screens/forge-ui-model-selection.png)
31+
![Model Dropdown with Favorites](/screens/forge-ui-model-selection-dropdown.png)
32+
33+
### Model Management
34+
35+
A dedicated modal for managing models across multiple providers. Star your favorites, fetch models from provider APIs, or add models manually.
36+
37+
![Model Management - OpenAI](/screens/forge-ui-model-selection.png)
38+
39+
### 300+ Models via OpenRouter
40+
41+
Connect to OpenRouter for access to 300+ models from dozens of providers. Each model shows capability badges (tools, vision) and source tags.
42+
43+
![Model Management - OpenRouter](/screens/forge-ui-model-selection-config.png)
3244

3345
### Parallel Tool Calls
3446

132 KB
Loading
31.9 KB
Loading
-8.81 KB
Loading

0 commit comments

Comments
 (0)