opencode-jev-pre-llm
OpenCode V2 plugin that asks Jev if a prompt is deterministic and, if so, skips chain-of-thought with temperature 0 and a short answer.
Overview
opencode-jev-pre-llm classifies each user prompt with TypeSafe Jev before the language model starts reasoning. It captures the prompt once per turn and, at the first step of the agent loop, asks Jev whether the request is deterministic. If the noul probability and confidence clear configurable thresholds (defaults 0.8 and 1.0), it injects a JEV PRE-ANALYSIS note into the system prompt, sets temperature to 0 and limits output to 400 tokens so the model answers directly without chain-of-thought.
Otherwise, or on any Jev error, it fails open and the model reasons normally. Verdicts are cached for a configurable TTL so subsequent steps of the same turn reuse them. Jev never generates the response; it only classifies. The README reports 51 of 53 tests passing and a clean typecheck. It is MIT licensed and requires Node 18+.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this prompt deterministic enough to answer without reasoning? | yes · no |
How it works
- Capture the user's prompt.
- Ask Jev if it is deterministic.
- If above thresholds, inject pre-analysis, set temperature 0 and cap tokens.
- Otherwise let the model reason normally.
Strengths
- Cuts reasoning tokens on simple prompts.
- Fails open on any error.
- One classification per turn, cached.
Caveats
- Suppressing reasoning could hurt quality if misclassified.
- Two tests not passing per the README.
Getting started
opencode plugin add github:murilogteixeira/opencode-jev-pre-llm and set JEV_API_KEY.At a glance
- Type
- Plugin
- Status
- prototype
- Language
- TypeScript
- Runtime
- OpenCode V2 plugin, Node
- Has code
- yes
- Has tests
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Coding agents: an OpenCode V2 plugin that classifies a prompt with Jev before the LLM starts reasoning, so the expensive model only sees requests that need it.
yibie/awesome-jev
Frequently asked questions
What does Jev decide?
Whether a prompt is deterministic enough for a direct answer without chain-of-thought.
What happens if Jev fails?
The model reasons normally; the plugin fails open.
Can I tune it?
Yes, with JEV_THRESHOLD and JEV_MIN_CONFIDENCE.
Related projects
OpenCode plugin where Jev picks the best free Zen or Go model for each new message from the live catalogue.
ProjectbetaJavaScriptOpenCode plugin adding an Auto (Jev) virtual model that routes each turn to one of your configured real models.
PluginbetaTypeScriptOpenCode orchestrator that keeps a cheap sticky parent model and escalates to strong child subagents only when Jev flags a hard turn.
ProjectbetaTypeScriptOpenCode plugin and proxy where Jev picks reasoning effort per step; superseded by reasoning-router.
ProxybetaTypeScriptHost-agnostic routing layer that picks model, effort and provider per round for coding harnesses from trajectory evidence.
ProxybetaTypeScriptCost-, cache- and quota-aware LLM router that classifies each turn with a Jev-class model, prices every route, and checks cheap answers.
ProjectprototypePython