mrkeyoor.com_
Tue 06 Oct 06:34 UTC
AI Toolsevaluationupdated 06 Oct 2026

localjev review

LocalJev is a Bun and TypeScript service that accepts typed Jev decision questions and sends them to a local model through an OpenAI-compatible chat endpoint. It solves a specific compatibility problem for developers who want Jev-shaped choices, scores, and confidence values without running OpenJev's patched vLLM backend.

Verdict

Our LocalJev run installed 9 packages in 12 seconds and passed all 19 tests, but it did not exercise the required model server or prove that its generated probabilities are calibrated. Use it for local Jev-compatible experiments when portability matters more than direct logit reads. Keep it away from consequential automated decisions until your own labeled data supports the numbers it returns.

We ran it

Lab card: what happened when we ran localjevScreenshot of localjev (github.com/githubnext/localjev)
Install✓ · 12s9 packages · 31 MB
Buildn/ano build script
Tests✓ · 5s19 passed · 0 failed of 19 (bun test)
Repo30 files~2,136 lines of source · 1.4 MB · 0 CI workflows · tests dir

Answers from our run

Does localjev build from source?

Dependencies installed in 12 seconds (9 packages), and the project has no separate build step. We cloned commit 3f23e36 into a clean Debian container with 3 CPUs and no project-specific setup.

Do localjev's tests pass?

Yes: 19 of 19 passed when we ran the project's own test command (bun test). Some failures need services or credentials a bare container does not have.

Who should not use localjev?

Systems that require probabilities read directly from model logits: the README says LocalJev's values are generated by the model and are not mathematically equivalent to OpenJev's structured read.

What are the alternatives to localjev?

OpenJev, Outlines, BAML. Our LocalJev run installed 9 packages in 12 seconds and passed all 19 tests, but it did not exercise the required model server or prove that its generated probabilities are calibrated.

Setup3/5Small Bun install, but the model server is a separate prerequisite
Docs5/5Clear API, limits, evaluation method, and mathematical caveat
Community2/5817 stars, 3 commits, and one open issue with an open fix
Maturity2/5Version 0.2 has no tagged release, CI workflow, or container

Who it’s for

Developers already serving DiffusionGemma or another suitable local model through oMLX.
Teams prototyping typed routing, scoring, or yes-or-no decisions behind the TypeSafe SDK.
Researchers willing to measure calibration on their own labeled examples before trusting the returned probabilities.

Who it’s NOT for

Systems that require probabilities read directly from model logits: the README says LocalJev's values are generated by the model and are not mathematically equivalent to OpenJev's structured read.
Developers looking for a self-contained model server: LocalJev still needs Bun 1.2+, a running oMLX endpoint, and an installed checkpoint.
Services that depend on exact overload limits: open issue 2 shows that the configured waiting queue admits fewer requests than documented, and its fix remains an open pull request.
Teams that require tagged releases, repository CI, or an official container path: GitHub has no release for this project, and our scan found 0 CI workflows and no Dockerfile.

Setup reality

Our sandbox installed commit 3f23e36 in 12 seconds, adding 9 packages and using 31 MB on disk. There was no build script, so that step was skipped. Bun finished the supplied tests in 5 seconds with 19 passed and 0 failed.

Running the service is a separate job. You need Bun 1.2+, a live oMLX server, an installed model, and the upstream URL and API key in the environment. Client authentication is optional unless you set LOCALJEV_API_KEY.

The default service binds to 127.0.0.1:8080, admits 2 upstream calls, and waits up to 64 decisions. Open issue 2 shows that the queue limit currently counts active calls too, causing HTTP 529 earlier than the README describes. There is no Dockerfile or repository CI workflow.

LocalJev trades direct logits for portable JSON probabilities

LocalJev accepts the POST /v1/systemone shape used by Jev, translates each typed question into a classification prompt, and asks an OpenAI-compatible model for probabilities in JSON. Version 0.2 supports choices, ordered scores, and yes-or-no questions, then returns expected values and an entropy-based confidence field. That makes it a compact adapter for code already written against the TypeSafe SDK.

The adapter changes what the probability means. OpenJev uses special DiffusionGemma operations to inspect selected-token logits during a structured read. Ordinary oMLX chat endpoints do not expose those operations, so LocalJev asks the model to write its own probability values. The README is admirably direct: the result is wire-compatible, but not mathematically equivalent. If a decision affects money, access, or safety, calibration on your own labeled workload is mandatory.

The 30-file wrapper does not include the model server

commit 3f23e36 contained 30 files, about 2,136 lines of source, and a 1.4 MB checkout. The service itself needs Bun 1.2 or newer, but useful output also requires a running oMLX server and an installed checkpoint. Its defaults point to 127.0.0.1:8000 and diffusiongemma-26B-A4B-it-4bit. LocalJev does not download, load, or operate that model for you.

Configuration is plain environment variables. The API listens on port 8080, uses a 180-second upstream timeout, and allows 2 calls in flight by default. You can require a bearer token from clients, while a separate key goes to the inference server. The TypeSafe SDK still expects a key even when LocalJev authentication is disabled, so the README uses a dummy local value. These details are documented well enough to avoid a source-code hunt.

What happened when we ran it

Our fresh Debian sandbox installed commit 3f23e36 in 12 seconds. Bun added 9 packages, and the installed project occupied 31 MB. The repository has no build target, so there was no build command to run and that step was skipped. A missing build script is reasonable for a Bun service executed from TypeScript, though teams that publish compiled artifacts will need to supply that path.

bun test finished in 5 seconds with 19 passed and 0 failed. The container had 3 CPUs, 8 GB of RAM, Node 22, no secrets, and no elevated privileges. Those tests cover repository behavior without proving a live inference call, because the runtime path needs the external server and model. Our scan also found 0 CI workflow files and no Dockerfile, so the green local suite is not backed by a visible repository gate or official container recipe.

Valid JSON can still contain a bad probability

LocalJev validates the model's entire reply, retries malformed output up to 2 times, normalizes vectors, and splits large jobs at 16 questions or 128 outcomes by default. Those checks can catch broken JSON, missing values, or distributions that need normalization. They cannot tell whether a cleanly formatted 0.91 deserves that confidence. Syntactic correctness and calibration are different tests.

The repository includes a more serious evaluation harness than its size suggests. Its published screening run used 1,200 requests across five installed models, three public datasets, and two input lengths. The accompanying guide pins dataset revisions, records failures, and warns that 40 examples per task are too few for fine ranking or calibration claims. That work is useful evidence about the method, but it is the author's M5 Max run, not a result from our Debian sandbox or proof about your data.

The waiting queue rejects work earlier than configured

The default settings advertise 2 active upstream calls and 64 waiting decisions before HTTP 529. Open issue 2 demonstrates that the engine compares active plus waiting work against the queue limit. With both limits set to 1, the second request is rejected instead of occupying the promised waiting slot. Pull request 3 contains a fix, but it was still open on October 6, 2026. Operators should treat the current queue capacity as smaller than the README says.

GitHub showed 817 stars and 3 open issues and pull requests on October 6. The split was one issue and two pull requests, not three confirmed bugs. The last push to the default branch was September 18, the day commit 3f23e36 added the evaluation framework. There are only 3 commits and no tagged release. That is enough activity to call the project new, but not enough history to infer how quickly fixes ship.

OpenJev keeps the probability path closer to the model

OpenJev is the closer substitute when you need the original structured-read approach and have a supported NVIDIA machine for its patched vLLM backend. Outlines is a better fit when the job is constrained output rather than Jev compatibility. BAML goes wider, defining typed model functions and clients for application code. Neither promises that model-written probabilities are calibrated merely because they match a schema.

LocalJev earns a trial when you already run oMLX and need the TypeSafe interface on local hardware. The 31 MB installed footprint and 19 passing tests make the adapter easy to inspect. The harder dependency sits outside the repository: model hosting, checkpoint choice, and workload-specific evaluation. Until the queue fix lands and labeled results support your use case, treat it as a careful experiment rather than decision infrastructure.

Alternatives

ProjectWhat it isPick it when
OpenJevA Jev-compatible server that reads selected-token probabilities through patched vLLM primitives.pick this instead when direct model probabilities matter and you can run the supported NVIDIA stack.
OutlinesA Python library for constraining model output to schemas, choices, and other structured forms.pick this instead when valid structured generation matters more than matching the Jev wire protocol.
BAML gh↗A language and toolchain for defining typed model functions across application stacks.pick this instead when you want typed model calls and generated clients without Jev compatibility.

What people are saying

  1. [velocity-scout] githubnext/localjev

Sources

  1. LocalJev README
  2. LocalJev evaluation guide
  3. LocalJev first evaluation results
  4. Queue capacity issue 2
  5. GitHub repository metadata

More ai tools reviews

guizang-product-video-skill · nimble · jev-visual · jev-review · laya · artcraft · the whole board →