stuntd
Local Jev-compatible proxy that records an app's typed decisions, distils a head per decision site on Laya, and answers when confident.
Overview
stuntd is a self-hosted proxy that records the typed decisions an app already makes and learns to answer them itself. It speaks Jev's /v1/systemone (choice, score and noul), the OpenAI Decisions API, OpenAI Chat Completions and Anthropic Messages. For each decision site it distils a small head on a frozen Laya encoder (or a sentence encoder) and serves that answer locally with calibrated confidence, handing anything uncertain back to the provider and demoting a head on drift. A Hugging Face Space compares zero-shot Laya with trained heads.
It runs three ways: as a local Jev with no key or training (the base Laya checkpoint answers typed questions so typesafe-sdk clients keep working), in front of OpenAI or Anthropic (typed requests recorded, everything else relayed byte for byte), or in front of the paid Jev API, learning from its answers and taking over once its head is right often enough. The README is frank that zero-shot Laya scores 38.2 on banking77 versus Jev's 76.4, and that a few thousand rows of your own traffic close much of the gap; a list summary reports 22 ms per decision and 90% of support-triage questions answered locally at a 0.99 agreement target. A Claude Code PreToolUse hook example is included. Status is early release.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which category does this support message belong to? | — |
| Yes / no | Does a support agent have to read this? | — |
| Other | Is the local head confident enough to answer, or should the upstream answer? | — |
How it works
- Point the app's SDK base URL at stuntd
- Relay to the upstream and record each typed answer
- Train a head per decision site on the recorded answers
- Serve locally when calibrated confidence clears the site threshold; fall back and demote on drift
Strengths
- Tens of milliseconds and no tokens for learned decisions
- Keeps typesafe-sdk clients working without a key
- Byte-for-byte relay for non-typed traffic
Caveats
- Zero-shot Laya is much weaker than Jev on some tasks
- Early release (v0.2.1)
- Training needs labelled traffic
Getting started
pip install "stuntd[train,jev]" && stuntd config init && stuntd serve, then point TypeSafeClient(base_url="http://127.0.0.1:8787") at it.At a glance
- Type
- Proxy
- Status
- beta
- Language
- Python
- Runtime
- Local proxy server
- Has code
- yes
- Has tests
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
Local runtime / learning proxy: Jev-compatible local server on Laya that also proxies a Jev upstream, records every `Choice`, `Score` and `Noul` decision, trains a head per decision site, and answers live with calibrated confidence, falling back to the upstream below its threshold and demoting itself on drift; measured 22 ms per decision and 90% of support-triage questions answered locally at a 0.99 agreement target.
yibie/awesome-jevLocal proxy on the open Laya model that speaks the Jev System One API, records the app's Choice, Score and Noul answers from a Jev upstream, trains a per-question head, and serves it with a calibrated confidence threshold and fallback to the upstream
AnotiaWang/awesome-decision-modelsLocal proxy that learns your app's typed LLM decisions and answers them with a Laya head. Jev and OpenAI compatible.
logicrw/awesome-jev-projectsLocal proxy that learns your app.
wh000wh000/awesome-jev-liveLocal proxy that serves the Jev System One API from the open Laya model and, placed in front of a Jev upstream, records each Choice, Score, or Noul answer to train a per-question head; code applies a calibrated confidence threshold to decide whether the head or the upstream answers and demotes the head on drift.
cobanov/awesome-jevLocal proxy that learns your app's typed LLM decisions and answers them with a Laya head. Jev and OpenAI compatible.
hellogumbo/awesome-jevLocal proxy that speaks the System One protocol, records the typed decisions an app already makes, and learns to answer them itself.
MrJev/awesome-jev
Frequently asked questions
What does stuntd decide?
It answers your app's typed questions itself and decides when its own head is confident enough to skip the upstream.
Can I use it without a Jev key?
Yes, local Jev mode answers with the base Laya checkpoint.
How does it avoid bad answers?
It uses calibrated thresholds per decision site, falls back to the upstream, and demotes heads on drift.
Related projects
Single-binary local cache that memoizes Jev-class decisions on model, schema and redacted state, for cheap repeats and CI replay.
ModelbetaRustSelf-hosted Go gateway for LLMs and decision models that prunes context, and audits and calibrates Jev or open-rlcd decisions.
ServicebetaGoRecords the full distribution of every Jev answer by state, question and model, so thresholds can move over history with no new calls.
LibrarybetaPythonOpenAI-compatible chat cache proxy that asks Jev or a local System One model whether a new question has the same intent as a cached one.
ProxybetaTypeScriptC++20 library for typed routing, classification and scoring with compile-time enum schemas, local Laya and optional System One.
LibrarybetaC++48-requirement spec and conformance suite for Jev-compatible servers, with a normalising proxy; shows confidence is not portable.
CLIbetaPython