jev-agent-control
OpenCode V2 server plugin that uses Jev to route requests between Plan, Build and custom agents and hand off unfinished work.
Overview
Jev Agent Control is an OpenCode V2 server plugin, tested with OpenCode 2.0.24, that uses Jev to route each request to the right primary agent, such as Plan, Build or a user-defined agent. It also hands off unfinished work at completed execution boundaries, and follows each target agent's configured model, so routing to an agent also selects its model.
It is installed by adding opencode-jev-agent-control to opencode.jsonc with options such as enabled and autoHandoff, or from a local build. TypeSafe keys are connected through OpenCode's own account management via /connect or opencode auth login typesafe, and the plugin resolves the active account for each decision, so key changes apply without restarting. It has CI and an MIT licence. Because the plugin follows each agent's configured model, routing also changes which model runs.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which primary agent should handle this request? | Plan · Build · custom agents |
| Yes / no | Should unfinished work be handed off to another agent at this boundary?(inferred) | yes · no |
How it works
- User sends a request in OpenCode
- Plugin asks Jev which agent should handle it
- Request runs on that agent and its configured model
- At completed boundaries, Jev decides whether to hand off remaining work
Strengths
- Automatic agent selection without manual switching
- Uses OpenCode's built-in credential storage
- Account changes apply without restart
Caveats
- Requires OpenCode V2
- Needs a TypeSafe key
Getting started
Add `{"package": "opencode-jev-agent-control", "options": {"enabled": true, "autoHandoff": true}}` to opencode.jsonc plugins, then run `opencode auth login typesafe --method key`.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- OpenCode V2 server plugin
- Has code
- yes
- Has tests
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
OpenCode V2 agent routing and autonomous handoffs powered by Jev.
hellogumbo/awesome-jev
Frequently asked questions
What does the plugin decide?
Which OpenCode primary agent handles each request and when to hand off unfinished work.
Does it change models?
It follows the target agent's configured model.
Which OpenCode version is needed?
OpenCode V2; tested with 2.0.24.
Related projects
OpenCode orchestrator that keeps a cheap sticky parent model and escalates to strong child subagents only when Jev flags a hard turn.
ProjectbetaTypeScriptDecision governor for Pi routing plan strategy, model tier, tool permissions and outcome (finish, retry, replan) through Jev.
ProjectbetaTypeScriptAdaptive thinking-level router for Pi: Jev or local rules pick low/medium/high/xhigh at task start, on reasoning failures and when stable.
ProjectbetaTypeScriptGateway that batches agent control questions through Jev and calls a generative LLM only when policy says generation is needed.
ServiceprototypeTypeScriptFail-open Codex UserPromptSubmit hook that asks Jev for task type, complexity, risk and execution mode and injects it as advisory context.
HookbetaPythonFork of codex-with-chatgpt where Jev plus fixed rules decide when to bring in web ChatGPT to plan or review and when Codex just acts.
Projectbeta