JevLoop (zjunlp)
Zero-dependency agent harness that sends each loop fork (act?, which tool, risk, done?) to a decision model and keeps the LLM for writing.
Overview
JevLoop (zjunlp) starts from the observation that most forks in an agent loop are picks, scores or yes/no answers, yet conventional agents answer each with a full LLM generation. It routes those forks to a decision model, Jev or the open Laya model, and keeps the LLM only for writing. It is a runnable harness with the loop, backend seams, accounting and a web UI, and runs with no dependencies, build step or API key.
The loop's decisions include whether a tool is needed, which tool to call, a risk grade, whether authorisation is needed, whether the step succeeded, whether the task is done and whether the result can be delivered. Plain code acts on the answers, and a high risk score forces human authorisation regardless of other probabilities. Without a key it falls back to local Laya and then a rule table, whose answers are flagged as degraded. List sources cite decisions taking 7.7% of wall clock with an offline judge and 79% over the hosted API. It is not affiliated with TypeSafe.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this step need a tool? | — |
| Choice | Which tool should be called next? | — |
| Score | How risky is this tool call? | — |
| Yes / no | Is the task done / can the result be delivered? | — |
How it works
- Each step builds a state and candidate set for the loop's forks
- Decision backend (Jev, Laya or rule judge) answers each fork in a few milliseconds
- Code applies thresholds; high risk forces human authorisation
- LLM is called only to generate text for the deliverable
- Accounting reports decision versus model time and cost
Strengths
- Zero dependencies; offline demo with no key
- Pluggable backends with explicit degraded-answer marking
- Risk gate in code cannot be overridden by a probability
- Honest per-run accounting of decision and model time
Caveats
- Offline demo uses a rule table, not a model, so it shows shape not quality
- Hosted API latency dominates wall clock in list-reported numbers
- Web UI currently in Chinese
Getting started
npm run demo (fresh clone, no key, no network, no npm install). Set DEEPSEEK_API_KEY for a real LLM generator.At a glance
- Type
- Service
- Status
- prototype
- Language
- JavaScript
- Runtime
- Node with web UI
- Has code
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
Agent harness: routes the loop's own judgements to Jev, where a `Choice` picks the next tool from candidates rebuilt every step, a `Score` grades the call's risk, and a `Noul` decides whether it needs authorisation, while plain code acts on the answers so a high risk score forces human authorisation that no probability can override (7.7% of wall clock with the offline judge, 79% over the hosted API).
yibie/awesome-jevUnofficial agent loop that sends each fork (tool, risk, done) to Jev 1.13.0 and keeps the LLM for writing; with no key it falls back to local Laya, then rules. `npm run demo` runs offline
AnotiaWang/awesome-decision-modelsThe agent loop where decisions don't cost a large language model call. Zero deps, runs offline, no API key needed.
logicrw/awesome-jev-projectsThe agent loop where decisions don't cost a large language model call. Zero deps, runs offline, no API key needed.
hellogumbo/awesome-jevAn agent loop whose seven forks are typed decisions rather than LLM calls, keeping the model for writing. Zero runtime dependencies, and the demo runs offline with no key and no install.
MrJev/awesome-jev
Frequently asked questions
Which decisions leave the LLM?
Should I act, which tool, how risky, needs authorisation, did it work, am I done and can I deliver.
Can it run without TypeSafe?
Yes. It falls back to local Laya and then a rule table, flagging degraded answers.
Who makes it?
It is an independent project hosted under zjunlp, not affiliated with TypeSafe.
Related projects
Minimal agent loop where Jev selects each action and approves tool calls, a chat model fills arguments, and MCP tools execute.
MCP serverresearchPython- SystemOneHarness★ 193
Agent harness that compiles an environment's finite actions into typed questions for Jev and gates each step by confidence.
CLIbetaPython DeepSeek Harness plugin with 12 opt-in Jev or Luna Decisions judgments: skill and file selection, supervision, filtering and approval help.
PluginbetaTypeScriptOne skill and MCP server for Claude Code, Codex and Hermes where Jev gates large-model turns, routes models and guards Git steps.
MCP serverbetaPythonPython harness for open-ended goals: AI-authored tools and checks, Jev choosing the next tool and arguments from fresh state.
ProjectbetaPythonPython agent runtime where Jev Choice decisions pick tools and arguments, and low-confidence picks go to an LLM for review.
ServicebetaPython