Skip to content

jev-router (prismhq)

Open-source LiteLLM-based router where clients send one model id and Jev picks which model serves each request.

ProjectprototypeMIT

Overview

jev-router (prismhq) is an open-source LLM router built on LiteLLM. Clients send a single model id, jev-router, to an OpenAI-compatible proxy, and Jev decides which model actually serves each request; the response's model field reports the choice. LiteLLM handles transport, so it can route across OpenRouter or any provider LiteLLM supports with your own keys.

A pre-call hook builds a minimised summary of the request (recent message roles and truncated text plus image and tool signals), filters candidates in a router policy file by capabilities such as vision, output length and tools, then picks with a Jev decider if a TypeSafe key is set or a cheapest-eligible rules decider otherwise. Any failure falls back to a configured model. Without a TypeSafe key routing stays local; with one, the minimised summary goes to TypeSafe, and the README advises against enabling Jev for workloads that cannot share context. It is experimental and MIT-licensed.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich eligible candidate model should serve this request?—

How it works

  1. Client calls the proxy with model jev-router
  2. Hook summarises the request and filters eligible candidates
  3. Jev (or the rules baseline) picks a model
  4. LiteLLM forwards to the chosen model; failures use the fallback

Strengths

  • OpenAI-compatible drop-in
  • Works without Jev via a cheapest-eligible baseline
  • Capability filtering before any decision

Caveats

  • Experimental; config may change
  • Request summaries go to TypeSafe when enabled

Getting started

pip install "litellm[proxy]" pyyaml, export OPENROUTER_API_KEY (and optionally TYPESAFE_API_KEY), then litellm --config config.yaml --port 4000

At a glance

Type
Project
Status
prototype
Language
Python
Runtime
LiteLLM proxy hook
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • LLM infrastructure: open-source LiteLLM-based router where a Jev decision picks which model serves each request.

    yibie/awesome-jev
  • An open-source LLM router built on LiteLLM and Jev: dynamically routes requests based on task complexity and context.

    logicrw/awesome-jev-projects
  • Open-source LLM router that uses TypeSafe's Jev to pick a model, on top of LiteLLM.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev decide?

Which eligible model should serve each request.

Does it work without TypeSafe?

Yes. A cheapest-eligible rules decider runs by default.

What is sent to TypeSafe?

A minimised summary of the request, only when a TypeSafe key is set.

Related projects

  • Local-first routing engine for long-running agent tasks that uses a Jev decider to pick a model group per turn.

    PluginproductionRust, TypeScript
  • Open-source AI gateway for 100+ LLMs that can use Jev to classify requests for complexity routing and to compact tool results.

    ProxyproductionPython
  • Open-source workspace for running and reviewing AI coding agents across devices, with an optional Jev-based automatic model router.

    ProjectproductionTypeScript
  • jev-router★ 593

    Per-turn model routing for Claude Code and Codex: wraps the real CLI and lets Jev send simple turns to fast models and hard ones to strong.

    ProxybetaJavaScript
  • Per-call router for Codex where Jev picks the model and thinking effort for every model call, including tool continuations.

    ProjectbetaPython
  • Model router where Jev classifies each request's task family and code picks the cheapest capable model on a cost Pareto chain.

    ProjectbetaTypeScript