Not to be confused with SemIf, which was also called OpenJev when it launched. See our SemIf review.
How we reviewed this: OpenJev needs a large NVIDIA GPU running DiffusionGemma 26B, which our test machine doesn’t have. We read the code at commit 91d5005 and ran its test suite, which stubs the model and uses the real tokenizer.
What it does
OpenJev, by razorback16, is an open “System One” decision server. It speaks the same wire API as Jev (POST /v1/systemone with Noul, Choice, and Score questions) and reads each answer’s probabilities directly from DiffusionGemma 26B-A4B, served by vLLM. It uses a one-step “structured read” of the diffusion model, so nothing is generated or parsed.
Beyond Jev’s basic API it adds:
- Image questions. Up to eight images per request, placed before the state.
- An optional
think budget. The model writes a capped thought before the answers are read.
- Text generation. The same loaded model serves an OpenAI-style
/v1/chat/completions endpoint.
Its model list offers openjev-0.1 and openjev-latest, and it also accepts jev-latest and jev-preview, so the TypeSafe SDK’s defaults work. Errors follow Jev’s shapes, including 529 when overloaded. The README states that it’s independent and not affiliated with TypeSafe.
Setup
The recommended path is a single Docker image that runs vLLM and the API server together:
docker compose up # API on 127.0.0.1:8080
It needs NVIDIA GPUs and a vLLM build that includes an unmerged diffusion pull request, which the prebuilt image provides. The model downloads from Hugging Face on first start. There’s also a hosted version on Codiv, described as an inference platform for open System One models, with a free allowance of input tokens after sign-up. You use it by pointing the SDK’s TYPESAFE_BASE_URL at https://api.codiv.ai.
What we could check
- The tests pass with the SDK they were written for. With
typesafe-sdk 0.7.0, 16 of 18 tests passed. The two failures import private parts of SDK 0.6, which 0.7.0 replaced. With SDK 0.6.0, all 18 passed. The server code is unaffected, but the tests need updating.
- The API surface matches Jev closely. Jev’s request and response shapes, accepted model aliases,
/v1/models, and error formats are all handled in code, and the tests exercise the official SDK against the API.
- Limits are explicit. Score takes 2 to 10 levels, as in Jev. Queues, concurrency, and image count and size are configurable, with defaults in
openjev/config.py.
Permissions and data
- Self-hosted, your data stays local. The API calls only its local vLLM backend. The Docker Compose file binds port 8080 to
127.0.0.1 unless you change OPENJEV_BIND.
- Authentication is optional. Set
OPENJEV_API_KEY before exposing the port. An optional origin secret supports running it behind a proxy.
- The hosted tier is a third party. Requests to
api.codiv.ai go to Codiv, not TypeSafe and not your own server. Review Codiv’s terms before sending private data.
Maintenance
Seven commits on September 17 and 18, Apache-2.0 licensed, with prebuilt Docker images and one open issue. The model’s own license is Apache-2.0 as well, per the README.
Verdict
OpenJev is a serious attempt at a Jev-compatible server that reads probabilities directly from an open model, with image support and a hosted option on top. If you have the GPU for DiffusionGemma, its API is designed to match Jev’s closely, down to model aliases and error shapes. If you don’t, Codiv’s hosted tier lets you try it, but remember that means sending data to a third party. Either way, measure it on your own labeled data.
For servers you can run without a large GPU, see jeff (CPU) and LocalJev, which also targets DiffusionGemma through a simpler route. For another GPU server, see openjev-sglang. Our Jev alternatives guide compares the approaches.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Sep 19, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.