Skip to content

opencode-auto-jev

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

Pluginbeta

Overview

opencode-auto-jev adds an Auto (Jev) entry to OpenCode's model picker. When selected, each turn is sent to TypeSafe's Jev, which picks one of your configured candidate models using the descriptions you write (for example a strong model for refactors and a fast cheap one for small edits). OpenCode then calls the chosen real model as usual, with native credentials, streaming, tools and accounting intact.

There is no fork or UI patch: the plugin registers a virtual provider through the config hook and rewrites the message's model before the call. Nothing is routed unless Auto is selected, and manually chosen models are never touched. A fallback model handles failures. The API key is accepted only through the plugin option (optionally via a file reference), and the base URL is pinned so environment variables cannot redirect requests. It requires OpenCode 1.18.32 or newer.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich of the configured candidate models should handle this prompt?—

How it works

  1. Select Auto (Jev) in the model picker.
  2. Each turn is sent to Jev with candidate descriptions.
  3. Plugin rewrites the model to the chosen real one (or fallback).
  4. OpenCode runs the real model normally.

Strengths

  • No fork; uses OpenCode hooks only.
  • Leaves manually selected models alone.
  • Pinned base URL guards against redirection.

Caveats

  • Key must be in plugin config (no env var support).
  • Routing quality depends on your candidate descriptions.

Getting started

Add "opencode-auto-jev@latest" to the plugin list in opencode.json with apiKey, fallback and candidates, and set model to auto-jev/auto.

At a glance

Type
Plugin
Status
beta
Language
TypeScript
Runtime
OpenCode plugin
Has code
yes

Use cases and integrations

How curated lists describe it

  • OpenCode plugin that adds an Auto (Jev) virtual model which routes each prompt to a configured real model using TypeSafe AI (Jev).

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev decide?

Which of your configured real models should handle each turn.

Does it affect models I choose manually?

No, routing happens only when Auto (Jev) is selected.

How do I supply the key?

Only via the plugin's apiKey option, optionally as a {file:...} reference.

Related projects

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

    ProjectbetaJavaScript
  • 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