shipwithjev

Catalog / Tools & apps

0381GitHub

opencode-jev-orchestrator

Keeps an OpenCode parent model fixed and uses Jev difficulty judgments to delegate harder turns to temporary subagents.

aaronshaf/opencode-jev-orchestratorREADME ↗
# opencode-jev-orchestrator

Keeps your OpenCode session on a cheap sticky model so the cache stays warm, and only burns scarce models like Luna in temporary child subagents when Jev flags a hard turn.

Built for **[OpenCode Go](https://opencode.ai/docs/go/)** · powered by [Jev](https://typesafe.ai)

[npm](https://www.npmjs.com/package/opencode-jev-orchestrator) · [GitHub](https://github.com/aaronshaf/opencode-jev-orchestrator)

## Quick start

**1. Install**

```bash
opencode plugin opencode-jev-orchestrator -g
```

Or in `~/.config/opencode/opencode.json`:

```json
{
  "plugin": ["opencode-jev-orchestrator"]
}
```

Pin: `"opencode-jev-orchestrator@0.2.1"`.

**2. Jev key** (OpenCode often misses shell exports)

```bash
printf '%s\n' "$JEV_KEY" > ~/.config/opencode/opencode-jev-orchestrator.key
chmod 600 ~/.config/opencode/opencode-jev-orchestrator.key
```

**3. Optional config**

```bash
BASE=https://raw.githubusercontent.com/aaronshaf/opencode-jev-orchestrator/main
DEST=~/.config/opencode/opencode-jev-orchestrator.json

curl -fsSL "$BASE/opencode-jev-orchestrator.example.json" -o "$DEST"          # Go only
# …go-claude / go-codex / claude / codex examples also available
```

**4. Restart OpenCode** → `/jev-status` should show key present, orchestration on, sticky parent Muse.

## How it works

This is an **orchestrator**, not a per-turn model switcher.

1. **Sticky parent** — managed turns stay on Muse Spark (`orchestration.parentTier: fast`). Cache stays warm.
2. **Jev flags** hard / easy / unsure — it does not silently swap the parent onto Luna.
3. **`jev_escalate`** — parent calls the tool; a strong child (Luna, with Kimi/Qwen fall back) gets near-full context; result merges via the tool return. Resumes send **delta** context only.
4. **Strong streak** — same child

Also filed under Tools & apps

  1. 0573

    Support chat: agent offered a human escalation path

    A frustrated customer hits a bot loop twice; the judge checks whether a human handoff was offered.

    everyai-com · Tools & apps

  2. 0572

    Subscription cancel: effective date is explicit

    An agent cancels a subscription; the judge checks the exact date the cancellation takes effect.

    everyai-com · Tools & apps

  3. 0571

    Sales quote: numbers match the official price list

    An agent quotes $29/seat against a price list; the judge checks the quote matches exactly.

    everyai-com · Tools & apps

  4. 0570

    Refund chat: agent stated the amount before issuing it

    A support agent issues a $42.50 refund; the judge checks the exact amount was stated before the refund was confirmed.

    everyai-com · Tools & apps