Published
Updated
Jevonian asks Jev which model should take the next coding turn
This topic was created 31 days ago, and the information it contains may have evolved or changed since then.
Chen posted xinyao27/jevonian, an AGPL-3.0 local proxy on port 8787. The virtual model jevonian/auto makes one Jev call for the route and the thinking depth. A named phase, a real model id, or routing turned off skips that call. The README prints no scored routing table.
Chen posted on September 23 that xinyao27/jevonian uses Jev to pick a model for each request, can call Fable when the turn is a plan, and can send execution to Opus or DeepSeek 4.1 Flash. Cursor, ChatGPT, and Claude agents point at one local endpoint. The license in the repository is AGPL-3.0-only. The status line says v0. It wants Node 22 or newer.
jevonian listens on 127.0.0.1:8787. On macOS the command installs a LaunchAgent. Elsewhere it stays in the foreground. The agent is configured with a Jevonian key and the model jevonian/auto. That name makes one Jev call, which returns both the route and the thinking depth. Sending jevonian/plan, execute, utility, or chat uses that route and does not call Jev. A header x-jevonian-phase does the same. A real model id is pinned and is never routed. routing.mode set to off is a pure pass-through and rejects the virtual names. If no brain is configured, jevonian/auto returns an error. If every configured brain is unreachable, the request fails with 502.
The README’s diagram shows one configuration: plan goes to openai/gpt-6-astra, execute to deepseek/deepseek-v4.1-flash, and utility and chat to google/gemini-3.8-flash. The post’s Fable and Opus line is Chen’s own setup, not that diagram. Code narrows the candidates before the call, using configuration, wire protocol, quota, context window, and a thinking-level floor. A provider that has spent its window is removed first. Unknown quota is treated as neutral.
minConfidence marks a turn as low confidence in the ledger and in response headers. A second brain channel is tried only when the primary channel fails. Low confidence does not switch brains. The channels named in the README are TypeSafe’s API, OpenRouter as typesafe/jev-1.13, OpenCode Zen, and Vercel AI Gateway.
The proxy is local. The prompts still go to whichever provider serves the turn. The compact state sent to Jev includes the last user message, recent messages, recent tool calls and results, and the candidate list. fullPrompt: true sends a verbatim transcript, capped at 400,000 characters. Request bodies for the log view are stored under ~/.local/share/jevonian/bodies/, mode 0600, newest 1,000 kept. JEVONIAN_CAPTURE_BODIES=0 stops that. Provider keys live in ~/.config/jevonian/credentials.json at mode 0600.
Cursor’s cloud runner wants a public HTTPS base URL, so loopback is not enough. The README’s tunnel is opt-in, publishes /v1 and /healthz, and will not start until a Jevonian key exists. The choices listed are a Cloudflare quick tunnel and ngrok. Claude Code and Codex can be pointed at loopback from the Clients page. Subscriptions for Claude Pro/Max and ChatGPT Plus/Pro are read from local credential files. The README says that path sits outside the vendors’ official clients.
Cache figures are estimates. prefixMatch stays unknown because the on-wire prefix is not compared. Costs are estimated from a price table, not read from an invoice. The README says the project makes no claim about model quality and does not accept code. We did not find a scored routing table in the files we opened, and we did not run the proxy.
This site's reading
Editorial notes evaluating claims against primary sources, contextualizing findings alongside related implementations, and defining technical terms.
Verify
Primary post is @xinyao27, display name Chen, September 23, 2026, 07:56 UTC. Chinese text. It links github.com/xinyao27/jevonian and says Jev picks the model per request, the plan step can call Fable, and execution can use Opus or DeepSeek 4.1 Flash, with Cursor, ChatGPT, and Claude agents pointed at one endpoint.
README license AGPL-3.0-only. Status line says v0. Requires Node 22 or newer. Default listen address 127.0.0.1 port 8787. Virtual model jevonian/auto asks Jev once. Named phases plan, execute, utility, and chat skip Jev.
A real model id is pinned. routing.mode off is pass-through and rejects virtual models. No configured brain returns an error. Every brain unreachable returns 502. minConfidence is written to the ledger and response headers.
A second brain is tried when the primary channel fails, not when confidence is low. Listed channels: TypeSafe, OpenRouter as typesafe/jev-1.13, OpenCode Zen, Vercel AI Gateway. fullPrompt true sends a transcript capped at 400,000 characters.
The README diagram routes plan to openai/gpt-6-astra, execute to deepseek/deepseek-v4.1-flash, and utility and chat to google/gemini-3.8-flash. No scored set. We did not run the proxy.
Compare
jev-gateway also sits in front of a coding agent and asks Jev which tool to call. Its README has a 120-session chess bench. Jevonian asks which model and thinking depth to use, and the README we opened has no accuracy or cost table.
AgentOS's Pilot Router published 0.901 against a local classifier at 0.355 on 121 turns. That chart is not this proxy.
Terms
- jevonian/auto
- The virtual model that asks Jev once for the route and the thinking depth. A named phase, a real model id, or routing.mode set to off does not make that call.
- brain
- The Jev channel used for routing. The README lists TypeSafe, OpenRouter as typesafe/jev-1.13, OpenCode Zen, and Vercel AI Gateway. With none configured, jevonian/auto returns an error instead of picking a model.