Skip to content

coding-router-jev

TypeScript/Bun launcher that asks Jev which model and reasoning effort each Codex, Claude Code or Pi turn should use.

ProjectbetaMIT

Overview

Coding Router Jev wraps coding-agent CLIs so that every user turn is first classified by Jev before it reaches a model. It ships a `codex-jev` launcher for the Codex CLI, a `claude-jev` launcher for Claude Code, and a Pi extension that registers a `jev/auto` virtual model which picks the physical model and thinking level automatically.

It is aimed at developers who run coding agents all day and want cheap turns to go to cheaper or lower-effort settings without picking by hand. The decision model sits in front of the agent as a router: the turn text is the state, Jev returns probabilities over model and effort options, and the launcher starts the agent with the selected configuration. Model mappings and routing behaviour have defaults, so the only required setup is a TypeSafe API key and base URL.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich model should handle this coding turn?(inferred)—
ChoiceWhich reasoning effort / thinking level does this turn need?(inferred)—

How it works

  1. User types a turn into codex-jev, claude-jev or Pi with jev/auto
  2. The router sends the turn to Jev as state with typed routing questions
  3. Jev returns probabilities over models and effort levels
  4. The launcher maps the top answer to a physical model and thinking level and runs the agent

Strengths

  • Automatic per-turn model and effort selection without manual switching
  • Works across three agents (Codex, Claude Code, Pi) with one configuration
  • Release binaries install with a one-line script and do not need Bun

Caveats

  • Requires a TypeSafe API key; turn text is sent to a hosted classifier
  • Agents must be installed and authenticated separately
  • Routing quality depends on default mappings that are not documented as benchmarked

Getting started

curl -fsSL https://raw.githubusercontent.com/guanghuang/coding-router-jev/main/install.sh | sh, then set TYPESAFE_API_KEY and run codex-jev or claude-jev.

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
Bun CLI launcher, Pi extension
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

  • TypeScript/Bun launcher routing Codex turns through JEV with model and reasoning effort selection.

    hellogumbo/awesome-jev

Frequently asked questions

What does coding-router-jev decide?

For each coding-agent turn it picks which model and which reasoning effort or thinking level should handle it.

Does it need a TypeSafe key?

Yes. TYPESAFE_API_KEY and TYPESAFE_BASE_URL must be set in the environment or in ~/.coding-router-jev.env.

Which agents are supported?

Codex via codex-jev, Claude Code via claude-jev, and Pi via a jev/auto virtual model.

Related projects

  • 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
  • CLI, Claude Code plugin and Pi virtual model that pick the right model per prompt from one Jev call with a complexity floor.

    PluginbetaTypeScript
  • Go CLI model router that uses one Jev analysis to recommend a model, harness and effort level, then selects deterministically.

    CLIbetaGo
  • Claude Code and Codex plugin where Jev judges each turn for model routing, delegation, evidence search and compaction.

    ProjectbetaTypeScript
  • Claude Code, Claude Desktop and Codex plugin where Jev reads a task and ranks live models and reasoning effort by quality, speed and cost.

    PluginbetaTypeScript
  • Local pass-through proxy for Claude Code and Codex where Jev picks a model tier per human turn and only moves up within a session.

    ProxybetaTypeScript