Skip to content

jev

TypeScript library for one-line local decisions with open models (kev-0.6b, kev-4b, open-jev), no API keys or cloud.

Projectbeta

Overview

@amatelic/jev is a TypeScript library for local AI decisions with calibrated choice, yes/no and score answers from open models, with no API keys or cloud. createJev() returns a decider that auto-downloads a model on first use; jev.decide() takes state and a list of questions and returns answers with confidence. It is aimed at JavaScript developers who want Jev-style decisions running on their own hardware.

Models include kev-0.6b (Qwen3-0.6B, 383 MB at q4) for fast prototyping, kev-4b (Qwen3-4B, 2.4 GB) for better accuracy, and open-jev (DeBERTa-v3, 800 MB) with different trade-offs. Configuration covers dtype, device (CPU, WebGPU, WASM), and a mode that runs natively or falls back to a Docker HTTP server; native mode does not work on x64 Macs, and no Docker is needed on ARM64 Mac or Linux. Model management lists cached models, and documentation explains training your own models and exporting to ONNX.

What the decision model decides

TypeQuestionAnswers
ChoiceWhat type of event?concert · sports · exhibition · general
Yes / noUser-defined yes/no questionyes · no
ScoreUser-defined score—

How it works

  1. createJev() selects and downloads a local model
  2. Call decide() with state and questions
  3. Model returns choices or probabilities with confidence
  4. Optionally fine-tune and export your own model to ONNX

Strengths

  • No API keys, cloud or per-call cost
  • Several model sizes and backends
  • Runs on CPU, WebGPU or WASM

Caveats

  • Small open models are less accurate than hosted Jev
  • Native mode fails on x64 Mac; Docker fallback needed

Getting started

`import { createJev } from "@amatelic/jev"; const jev = await createJev(); await jev.decide(state, questions);`

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
Node (native or Docker HTTP)
Has code
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

Does it use TypeSafe's Jev?

No. It runs open models like kev and open-jev locally.

Which model is the default?

kev-0.6b, a 383 MB q4 model based on Qwen3-0.6B.

Can I train my own?

Yes, the docs explain fine-tuning and ONNX export.

Related projects

  • Go harness for System One models: hosted Jev, open Kev in-process via llama.cpp, and Cloudflare Clef, with typed helpers and a CLI.

    ServicebetaGo
  • Swift 6 bridge that runs System One decision models behind Apple's Foundation Models API, on device with Laya or via hosted endpoints.

    ProjectbetaSwift
  • Zero-dependency npm package that runs Laya natively or as WebAssembly in Node, Bun and browsers, drop-in for Jev's /v1/systemone.

    ProjectbetaJavaScript
  • Local-first desktop AI workbench for llama.cpp, vLLM and SGLang that includes a JEV typed-decision page and /v1/systemone gateway.

    Servicebeta
  • Runs the open LAYA decision model under Bun with native ONNX inference behind a TypeSafe-compatible API, plus an English/Persian playground.

    LibrarybetaTypeScript
  • ollaya★ 1,305

    Rust daemon and CLI that pulls open decision models like Laya and serves them locally behind a TypeSafe-compatible /v1/systemone.

    ServicebetaRust