Skip to content

jev-gateway

Session-aware OpenAI-compatible gateway that routes chat requests by task type, scale and rigor, optionally via Jev Choice questions.

ServicebetaAGPL-3.0

Overview

JEV Gateway routes OpenAI-compatible chat requests across model providers using configurable cost, quality and capability rules. Clients point at the gateway and choose a catalogue model or a strategy name instead of hard-coding a model. It can classify work by task type, scale and rigor, then select from configured model pools, optionally asking decision providers typed Choice questions; when no answer is available it uses a deterministic fallback.

It supports pinning a session to one route or reconsidering each turn (the shipped task_aware strategy uses fresh mode), derives a reasoning_effort per route clamped to what the route accepts, and records requests, decisions, outcomes and provider continuation state in SQLite without failing requests if recording fails. A dashboard shows live sessions. Installation is a verified installer script for macOS and Linux that uses uv-managed Python 3.12. It is AGPL-3.0 licensed with English and Chinese docs.

What the decision model decides

TypeQuestionAnswers
ChoiceWhat task type, scale and rigor does this request have?—
ChoiceWhich model from the pool should serve it?(inferred)—

How it works

  1. Client sends a chat request naming a strategy
  2. Gateway classifies the request, optionally via Jev Choice questions
  3. Select a model and reasoning effort from the pool
  4. Record decisions and outcomes in SQLite

Strengths

  • Deterministic fallback when the decision provider is unavailable
  • Session pinning or per-turn routing
  • Checksum-verified installer

Caveats

  • AGPL licence may limit embedding
  • Version 0.1

Getting started

`curl -fsSL https://github.com/TexasOct/jev-gateway/releases/latest/download/install.sh | sh -s -- --yes`.

At a glance

Type
Service
Status
beta
Language
Python
Runtime
OpenAI-compatible HTTP gateway
Has code
yes
License
AGPL-3.0

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does Jev decide?

Optionally, the task type, scale and rigor that drive model selection.

What if Jev is unavailable?

Routing falls back to a configured deterministic rule.

Can a session stay on one model?

Yes, via session pinning; per-turn selection is also available.

Related projects

  • Unofficial Rust gateway routing /v1/systemone requests to TypeSafe, Vercel, OpenRouter or local Laya via an editable DAG.

    ProxybetaRust
  • Go gateway that puts local and hosted System One models behind one TypeSafe API, with a local Laya router choosing Laya or Jev.

    ServicebetaGo
  • Juspay's TypeScript AI SDK with decide as a third inference type next to generate and stream, backed by Jev or Laya.

    LibraryproductionTypeScript
  • Community .NET 10 SDK giving one API for choice, score and assessment over Microsoft-Decision-1, Ollama or native Jev.

    PluginbetaC#
  • Python client that sends one Choice/Score/Noul request down a fallback chain of hosted and local decision models with confidence gates.

    LibrarybetaPython
  • Elixir client for System One decision models (Jev, Clef, OpenAI Decisions, OpenRouter, self-hosted) returning full distributions.

    LibrarybetaElixir