Skip to content

jev-free-router

OpenCode plugin where Jev picks the best free Zen or Go model for each new message from the live catalogue.

Projectbeta

Overview

Jev for OpenCode (jev-free-router) adds three pseudo-models to OpenCode: jev/jev, jev/jev-free and jev/jev-go. When one is selected, Jev estimates on every new message a distribution of which model in the OpenCode catalogue is best for the request, choosing among free Zen models, Go models when a Go account is connected, or both. OpenAI and Anthropic models are excluded even when listed. It replaces the former Claude Code and Codex launchers from jev-router.

Installation adds a file URL for the plugin to opencode.json and sets a TypeSafe key in the environment that launches OpenCode. The key is required; without it the plugin reports an explicit fallback rather than pretending to compute probabilities. Model quality scores come from a public snapshot, so no other keys are needed. It requires Node 22+ and was verified on OpenCode 1.18.31.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich catalogue model is best for this request?—

How it works

  1. Select jev, jev-free or jev-go in OpenCode /models
  2. On each message, ask Jev for a distribution over eligible model IDs
  3. Send the request to the chosen model
  4. Report an explicit fallback if no key is set

Strengths

  • Routes among free models automatically
  • Explicit fallback instead of fake decisions
  • Uses OpenCode's real catalogue

Caveats

  • Requires a TypeSafe key
  • Verified on one OpenCode version

Getting started

Clone, `npm ci`, add the printed file:// plugin URL to opencode.json, `export JEV_API_KEY=...`, then `opencode models jev`.

At a glance

Type
Project
Status
beta
Language
JavaScript
Runtime
OpenCode plugin (Node 22+)
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide?

Which free Zen or Go model should answer each message.

Are OpenAI or Anthropic models used?

No, they are excluded.

What if I have no key?

The plugin reports an explicit fallback rather than routing.

Related projects

  • OpenCode plugin adding an Auto (Jev) virtual model that routes each turn to one of your configured real models.

    PluginbetaTypeScript
  • OpenCode orchestrator that keeps a cheap sticky parent model and escalates to strong child subagents only when Jev flags a hard turn.

    ProjectbetaTypeScript
  • OpenCode plugin and proxy where Jev picks reasoning effort per step; superseded by reasoning-router.

    ProxybetaTypeScript
  • Host-agnostic routing layer that picks model, effort and provider per round for coding harnesses from trajectory evidence.

    ProxybetaTypeScript
  • Cost-, cache- and quota-aware LLM router that classifies each turn with a Jev-class model, prices every route, and checks cheap answers.

    ProjectprototypePython
  • Local-first, outcome-aware model router for coding harnesses that picks a capability tier per task with Jev and learns from history.

    ProjectprototypeRust