Jevia
Jevia is an open-source, local-first, outcome-based model router for coding harnesses. It chooses a capability tier for each task, applies your safety policy, and uses verified outcomes as evidence for future routes.
Use it with Claude Code, Codex, OpenCode, Gemini CLI, Cursor Agent, or a custom harness. Jevia uses automatically verified CLI outcomes or results your application reports; it is not tied to one model provider or agent runtime.
Jevia is experimental. The CLI, typed routing contract, local outcome store, harness adapters, and Node.js SDK are available today. A managed control plane is not part of this repository.
Why Jevia
Most routers stop after choosing a model. Jevia closes the loop:
task -> route -> harness -> verification -> outcome -> future evidence
- Adaptive: verified outcomes inform later routing decisions.
- Model-agnostic: stable tiers map to whichever models your harness exposes.
- Harness-agnostic: use the CLI directly or embed the typed Node.js SDK.
- Local-first: policy, cache, and history stay in your project or database.
- Explicit: your verifier or feedback decides success; Jevia does not grade its own work.
Quick start
Install the checksum-verified macOS or Linux binary without Rust or Cargo:
|
On Windows, use PowerShell 5.1 or newer:
irm https://jevia.dev/install.ps1 | iex
Initialize a project and check the full routing path:
For route-only integrations, optionally report a known result after executing the
work externally. This is not a required step after jevia run:
jevia doctor checks local configuration and storage without making a Jev API
request. jevia check performs one live routing round trip without saving a
synthetic run.
Run any harness
Jevia returns a capability tier. Your adapter maps that tier to a concrete model and command for the harness you already use. Start from a built-in shell-free template for Codex, Claude Code, OpenCode, or Gemini CLI:
Presets supply only the executable and argument shape; model IDs, credentials,
permissions, and verification remain yours. For any other harness, use explicit
--command and repeated --arg values as shown in the
adapter reference.
Setup previews the configuration first. Review it, repeat with --apply, then
run a routed task:
Jevia routes, executes, verifies, and records this run automatically. No manual
feedback or runs complete step is needed. CLI 0.1.4 can automatically discover
existing root Rust or Node tests when no verifier is configured. See the
automatic CLI pipeline
for detection, opt-out settings, and verification limits.
Harness and verifier processes are launched directly without shell interpolation. Credentials remain in the environment instead of the project configuration.
Node.js SDK
Use the typed jevia package when your application owns harness execution:
import { JeviaClient } from "jevia";
const jevia = new JeviaClient({ cwd: process.cwd() });
const route = await jevia.route("fix the flaky integration test");
const result = await runYourHarness({ tier: route.tier });
// Optional: report a known outcome from your own adapter; no verifier required.
if (result.outcome === "success" || result.outcome === "failure") {
await jevia.feedback(route.run_id, result.outcome);
}
// Eligible recorded outcomes inform the next decision automatically.
const next = await jevia.route("investigate another integration failure");
The SDK calls Jevia's shell-free JSON interface, so CLI and programmatic usage
share the same policy, storage, caching, and outcome rules. The CLI must already
be installed and available on PATH. Feedback and verification are optional:
skipping feedback leaves the outcome unknown, while future routes still use
other eligible recorded outcomes. No history argument or manual fetch is needed.
Documentation
- Product documentation — install, adaptive routing, harness integration, SDK usage, outcomes, and operations.
- Complete CLI and operations reference — command details, storage migration, recovery, caching, and retention behavior.
- Architecture — component boundaries and routing invariants.
- Example configuration — tiers, cache, harness mapping, and verification.
- Node.js package reference — typed client API.
Run jevia <command> --help for command-specific options.
Development
Run the website separately:
See CONTRIBUTING.md for contribution and commit conventions.
License
MIT