pi-gear-router
Pi extension routing plan and implementation phases to light, standard or heavy model tiers based on a Jev capability score.
Overview
pi-gear-router provides plan/implement two-phase model routing for Pi. You select the gears/auto virtual model, and at each phase entry TypeSafe Jev assesses the required capability; within a phase the physical model and thinking level stay stable. Per the list summary, Jev scores each request from 0 to 2 and the range is cut into five bands that choose a three-gear model tier and a thinking level, so a bare 'continue' is not mistaken for a new task. The README is in Chinese.
The extension only routes models: skill selection, approvals, workflow orchestration and tool permissions stay with Pi, the user and project guidance. You configure light, standard and heavy gears with provider, model and thinking level (defaults to Anthropic Haiku, Sonnet and Opus), with light used only as an availability fallback. It requires Pi 1.1.0+, a TypeSafe credential and credentials for the target models.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Score | How much capability does this request need (0 to 2)? | — |
| Choice | Which gear and thinking level? | light · standard · heavy |
How it works
- Select gears/auto as the model.
- At a phase entry, Jev scores required capability.
- Map the score band to a gear and thinking level.
- Keep the model stable within the phase.
Strengths
- Stable models within a phase preserve caching.
- Continuation messages are not misrouted.
- Minimal scope: only routes models.
Caveats
- Documentation in Chinese.
- Requires credentials for every configured model.
Getting started
pi install git:github.com/joslynSmall/pi-gear-router, configure ~/.pi/agent/pi-gear-router/settings.json, then pi --model gears/auto.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- Pi extension
- Has code
- yes
Use cases and integrations
How curated lists describe it
Model routing: has Jev score each request from 0 to 2 and cuts that range into five bands that choose a three-gear model tier and a thinking level, so a bare "continue" is not mistaken for a new task.
yibie/awesome-jev
Frequently asked questions
What does Jev decide?
A capability score that selects the model gear and thinking level at each phase entry.
Does it manage skills or permissions?
No, it only routes models.
What are the default gears?
Anthropic Haiku, Sonnet and Opus.
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.
PluginbetaTypeScriptOh My Pi extension where Jev classifies each prompt as simple or advanced and switches the model role, defaulting to advanced on doubt.
PluginbetaTypeScriptPi 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