coding-router-jev
TypeScript/Bun launcher that asks Jev which model and reasoning effort each Codex, Claude Code or Pi turn should use.
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
| Type | Question | Answers |
|---|---|---|
| Choice | Which model should handle this coding turn?(inferred) | — |
| Choice | Which reasoning effort / thinking level does this turn need?(inferred) | — |
How it works
- User types a turn into codex-jev, claude-jev or Pi with jev/auto
- The router sends the turn to Jev as state with typed routing questions
- Jev returns probabilities over models and effort levels
- 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.
PluginbetaTypeScriptGo CLI model router that uses one Jev analysis to recommend a model, harness and effort level, then selects deterministically.
CLIbetaGoClaude Code and Codex plugin where Jev judges each turn for model routing, delegation, evidence search and compaction.
ProjectbetaTypeScriptClaude Code, Claude Desktop and Codex plugin where Jev reads a task and ranks live models and reasoning effort by quality, speed and cost.
PluginbetaTypeScriptLocal 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