Introducing typesafe/jev-router: a cache-aware model router powered by Jev and @typesafeai
The Jev Router picks the best model and reasoning effort for each request, balancing quality, speed, and cost.
Here's how it works 👇🏻
OpenRouter
@OpenRouter
On four agent benchmarks, Jev Router solved 82% more tasks than our Auto Router (237 vs 130 of 423).

10:21 PM UTC · Sep 25, 2026 · 30.9K Views
5211418
OpenRouter
@OpenRouter
On five agent benchmarks, Jev Router had a faster median time to first token than every other router we tested.

10:21 PM UTC · Sep 25, 2026 · 22.1K Views
116613
OpenRouter
@OpenRouter
Most routers pick a model based on each message. Each switch loses the cached chat, so you pay full price for the new model to reread the whole conversation.
Most routers also route on the task type, not the difficulty. Easy and hard coding tasks get the same model.
Most routers also route on the task type, not the difficulty. Easy and hard coding tasks get the same model.
10:21 PM UTC · Sep 25, 2026 · 17.1K Views
20483
OpenRouter
@OpenRouter
Jev Router runs on Jev, TypeSafe's first Decision / System One model.
Before each turn, Jev reads your prompt and scores it on difficulty and precision. Also checks whether a bigger model or more effort would help, whether a cheaper model is enough, and whether the task changed.
Before each turn, Jev reads your prompt and scores it on difficulty and precision. Also checks whether a bigger model or more effort would help, whether a cheaper model is enough, and whether the task changed.
10:21 PM UTC · Sep 25, 2026 · 15.9K Views
11485
OpenRouter
@OpenRouter
Jev reads the conversation text only to pick the model and effort.
It runs under zero data retention (ZDR) terms, so nothing is stored or trained on. Attachments are never sent to Jev, and requests with "zdr: true" work with Jev Router.
It runs under zero data retention (ZDR) terms, so nothing is stored or trained on. Attachments are never sent to Jev, and requests with "zdr: true" work with Jev Router.
10:21 PM UTC · Sep 25, 2026 · 14.4K Views
11395
OpenRouter
@OpenRouter
Jev Router keeps a model that works for the rest of the session.
It can raise or lower effort without switching models. It switches only when the expected gain is larger than the cost, including the cached chat it would lose.
It can raise or lower effort without switching models. It switches only when the expected gain is larger than the cost, including the cached chat it would lose.
10:21 PM UTC · Sep 25, 2026 · 15.5K Views
21465
OpenRouter
@OpenRouter
If the Jev call times out or returns invalid output, the request fails instead of falling back to another router. Each response includes routing metadata with the reason for the choice.
Try it now using "typesafe/jev-router" in your app, or, see Jev Router's thinking.
Try it now using "typesafe/jev-router" in your app, or, see Jev Router's thinking.
10:21 PM UTC · Sep 25, 2026 · 13.3K Views
20374
OpenRouter
@OpenRouter
You can see Jev Router's thinking process in OpenRouter Chat.
The routing insights panel shows the model it picked for each turn and the scores behind it, like task, difficulty, precision, and larger model benefit.
Test Jev Router here: openrouter.ai/chat?models=ty…
The routing insights panel shows the model it picked for each turn and the scores behind it, like task, difficulty, precision, and larger model benefit.
Test Jev Router here: openrouter.ai/chat?models=ty…

10:22 PM UTC · Sep 25, 2026 · 15.3K Views
314223
OpenRouter
@OpenRouter
Read more: openrouter.ai/typesafe/jev-r…

openrouter.ai
Jev Router - API Pricing & Providers
Jev Router picks the best model and reasoning effort for each request, balancing quality, speed, and cost. This model is free to use. 1,000,000 token context window.
10:22 PM UTC · Sep 25, 2026 · 13.4K Views
125959