Skip to content

Tiershift

Model router that asks Jev eleven questions in one call and lets a YAML policy turn the answers into a tier. Every request starts on the fast tier and only escalates on evidence such as multi-step reasoning, hard difficulty, high stakes or safety, and every decision is logged without the message text.

Stars
3
Language
TypeScript
License
MIT
Published by
Community
Author
iamvatsalpatel
Last verified
Oct 2026

About this project

Stop paying flagship prices for prompts that don't need one. tiershift reads each request, picks the cheapest model tier that can handle it, and escalates on evidence. The judgment comes from TypeSafe Jev , a calibrated decision model. About 180 ms. Four cents per thousand routes.

Quoted from the project's README. Read the full README.

Highlights

  • Eleven typed questions in one roughly 180 ms Jev call; code does the arithmetic and the policy turns the probabilities into a tier.
  • On 120 prompts judged blind by two judges, the default policy matched the flagship quality score at $7.95 against $13.23 per 1,000 prompts.
  • The fast model alone scored 4.78 against the flagship's 4.77 on those prompts, at $0.37 versus $13.23, and the flagship returned four empty answers.
  • The decision log keeps signals, tier, model, cost, latency and reason but never the message text, and tune replays it against another policy.

Watch out

The benchmark is 120 single-turn prompts with clear answers, and the README says plainly that it cannot speak to long agentic tasks with tools, large context or recovery from mistakes. The large saving quoted by the report command is a token-count estimate against the most expensive model in the default config, while the 40 percent in the table is measured against one flagship with judged answers, so your number depends on which flagship you pay for today. The flagship tier sits in the config, off by default. Provider keys are optional and a tier silently skips models whose key is missing. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

13GitHub stars
Pi extension that classifies each task with Jev over OpenRouter and routes it to a Pareto-optimal model balancing measured quality, cost, and latency under a role policy.
Jev Agents & MCP#community#jevbest#catalog-import
10GitHub stars
Node router that sends each query to the cheapest capable LLM tier by asking Jev to classify demand against your tier descriptions, with no LLM call spent on routing.
Jev Agents & MCP#community#jevbest#catalog-import
5GitHub stars
A Claude Code function hook that sends AskUserQuestion dialogs to Jev and draws a probability per option above the dialog, so you still choose while seeing how confident the model is.
Jev Agents & MCP#community#jevbest#catalog-import
2GitHub stars
Model router that never names a model: Jev classifies the task family, then a cost-per-task Pareto walk picks the cheapest frontier point clearing its quality floor.
Jev Agents & MCP#community#jevbest#catalog-import
6GitHub stars
A per-prompt capability router for coding agents: a local BM25 shortlist of installed skills, MCP servers, subagents and commands, then one Jev request injects at most one suggestion plus two runner-ups.
Jev Agents & MCP#community#jevbest#catalog-import
10GitHub stars
Two pi extensions driven by Jev judgments: one replaces summary-based context compaction with keep, drop and shorten calls, the other scores each prompt for difficulty and switches pi's model before the turn runs.
Jev Agents & MCP#community#jevbest#catalog-import
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai