omp-plugin-jev-router
Oh My Pi extension where Jev classifies each prompt as simple or advanced and switches the model role, defaulting to advanced on doubt.
Overview
OMP Jev Router adds model routing to Oh My Pi. For each eligible interactive prompt it builds a small routing state from the text and limited recent context, sends one typed Choice question to Jev, validates the response, applies a confidence threshold, and switches OMP's active model role and thinking level without rewriting the prompt.
The routing is closed-set: Jev can only choose simple or advanced, never arbitrary model IDs. Simple is used only when Jev picks it at or above the threshold; low-confidence simple results, advanced choices, image prompts (which skip Jev), missing keys, timeouts, API errors and malformed responses all go to advanced, with a fallback chain from @advanced to @slow. There are no retries, so latency is bounded by one request. Manual modes persist per branch, routing context excludes full transcripts and tool results, and macOS Keychain can store the key. It suits omp users who want cheaper models on easy prompts.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Is this prompt simple or advanced? | simple · advanced |
How it works
- Build a bounded routing state from the prompt and recent context.
- Ask Jev one Choice question.
- Use the simple role only if simple meets the threshold; otherwise advanced.
- Switch model role and thinking level, then proceed.
Strengths
- Conservative fallback to the stronger model.
- Bounded latency with a single request and no retries.
- Sends no full transcript or tool results.
Caveats
- Requires a TypeSafe key and configured OMP model roles.
- Pinned to Oh My Pi 18.1.6.
Getting started
git clone https://github.com/atulify/omp-plugin-jev-router.git && cd omp-plugin-jev-router && npm install && omp plugin link .At a glance
- Type
- Plugin
- Status
- beta
- Language
- TypeScript
- Runtime
- Oh My Pi extension, Node
- Has code
- yes
Use cases and integrations
How curated lists describe it
Route Oh My Pi prompts between simple and advanced models with TypeSafe AI's Jev classifier.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
Whether a prompt is simple or advanced, which selects the OMP model role.
What happens on errors?
Missing keys, timeouts, API errors and malformed responses all route to advanced.
Are image prompts routed by Jev?
No, they go straight to advanced without a Jev call.
Related projects
TypeScript/Bun launcher that asks Jev which model and reasoning effort each Codex, Claude Code or Pi turn should use.
ProjectbetaTypeScriptCLI, Claude Code plugin and Pi virtual model that pick the right model per prompt from one Jev call with a complexity floor.
PluginbetaTypeScriptPi extension routing plan and implementation phases to light, standard or heavy model tiers based on a Jev capability score.
ProjectbetaTypeScriptPi extension asking Jev four questions per prompt (task kind, complexity, capability, deep reasoning) to pick a budget-aware model tier.
ProjectbetaTypeScriptPi model router using Jev via Vercel AI Gateway to pick a model and reasoning effort once per session, then stay pinned.
ServicebetaTypeScriptPi router that classifies each task with Jev via OpenRouter and picks a model from the quality-cost-latency Pareto frontier.
ProjectbetaTypeScript