jev-codex-model-and-effort-router
macOS wrapper for Codex that lets Jev pick the model and reasoning effort for a thread, then pins that route.
Overview
jev-codex-model-and-effort-router wraps the Codex CLI on macOS so that Jev chooses which model and which reasoning effort should handle the first real task in a thread. The chosen route is pinned for later turns so the thread can keep reusing its model cache; greetings and social messages do not set the pin, and existing threads keep their current model on upgrade.
It is aimed at Codex users who want automatic model and effort selection without switching manually. A menu bar app exposes routing frequency (per thread or per turn), routing preference, maximum effort and the model and effort pools. By default the live Codex quota is passed to Jev so that high quota pressure leads to the least intensive route that still meets the task's capability floor. Manual changes in Codex override the pin, and a command re-enables automatic selection for a thread.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which model and reasoning effort should serve this Codex task?(inferred) | — |
How it works
- Install the wrapper, which replaces or sits beside the codex command and stores a Jev API key
- On the first substantive task in a thread, send the task and quota state to Jev
- Jev selects a model and effort from the configured pools
- Pin the route for later turns (or re-route every turn in turn mode); manual changes become the new pin
Strengths
- Keeps the model cache warm by pinning one route per thread
- Uses live quota pressure to pick lighter routes when allowance is low
- Menu bar controls for pools, maximum effort and routing frequency
Caveats
- macOS only and requires a Jev API key
- README gives no measured cost or accuracy figures
- No licence stated in the sources
Getting started
Ask your coding agent to 'Set up and verify https://github.com/gholtzap/jev-codex-model-and-effort-router with default settings'; run `jev-codex auth login` to set the key and `jev-codex settings` for the menu bar app.At a glance
- Type
- Project
- Status
- beta
- Runtime
- CLI wrapper for Codex on macOS
- Has code
- yes
Use cases and integrations
How curated lists describe it
Copy and paste this into your coding agent:
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide here?
It picks the model and reasoning effort for the first task in a Codex thread, optionally re-picking every turn.
Why pin the route instead of routing every turn?
Pinning keeps the same model for the thread so its cache can be reused; turn mode is available if you prefer per-turn routing.
Does it need a TypeSafe key?
Yes, a Jev API key is required; without one the first codex start lets you add a key or continue with normal Codex.
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 - jev-codex-router★ 274
Per-call router for Codex where Jev picks the model and thinking effort for every model call, including tool continuations.
ProjectbetaPython TypeScript/Bun launcher that asks Jev which model and reasoning effort each Codex, Claude Code or Pi turn should use.
ProjectbetaTypeScriptGo CLI model router that uses one Jev analysis to recommend a model, harness and effort level, then selects deterministically.
CLIbetaGoLocal bridge where Jev selects model and reasoning effort for Codex Desktop and CLI, with a Windows service and cache-aware routing.
CLIbetaTypeScriptClaude Code and Codex plugin where Jev judges each turn for model routing, delegation, evidence search and compaction.
ProjectbetaTypeScript