Skip to content

Decis

Self-hostable inference server for open decision models implementing the TypeSafe /v1/systemone API, one Docker image per engine.

Servicebeta

Overview

Decis is an inference server for lightweight open decision models that implements TypeSafe's System One API. Because the official typesafe-sdk already speaks the /v1/systemone contract, migrating is a matter of changing base_url. One wire contract fronts several interchangeable engines, with one container image per engine and the engine id as the image tag: laya-multilingual, kev-0.8b, jeff-qwen3.5-0.8b and jeff-gemma4-e2b.

Images carry their weights, so nothing downloads at startup. A playground ships three games, snake, dino and tetris, each deciding through real /v1/systemone calls. It is pre-1.0 (v0.4.0) with a stable v1 wire contract, health and readiness endpoints, and CI. It is useful for teams that want Jev-style decisions on their own infrastructure, for privacy or cost reasons. The engine reports its own version at /healthz and readiness at /readyz.

What the decision model decides

TypeQuestionAnswers
ChoiceAny typed choice, noul or score question sent via the TypeSafe SDK(inferred)—

How it works

  1. docker compose up an engine image
  2. Point typesafe-sdk base_url at the Decis host
  3. Send state and typed questions
  4. Engine returns Jev-format answers

Strengths

  • Drop-in for the official SDK
  • Weights baked into images, no runtime download
  • Multiple engines including multilingual Laya

Caveats

  • Pre-1.0
  • Open engines differ in accuracy from hosted Jev

Getting started

git clone https://github.com/chaitin/Decis, cp .env.example .env, docker compose -f docker-compose.yml up -d --wait.

At a glance

Type
Service
Status
beta
Language
Python
Runtime
Docker HTTP server
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

  • Self-hosted, Jev-compatible decision-model API — one /v1/systemone endpoint, open weights (Laya, kev), one Docker image per engine.

    hellogumbo/awesome-jev

Frequently asked questions

Do I need to change my code?

Only the SDK base_url; the official typesafe-sdk works unchanged.

Which engines are available?

laya-multilingual, kev-0.8b, jeff-qwen3.5-0.8b and jeff-gemma4-e2b.

Does it download models at startup?

No, weights are inside the images.

Related projects

  • Docker service exposing local Laya, Von, a CLM head or hosted Jev through one TypeSafe-compatible HTTP and MCP endpoint.

    MCP serverbetaPython
  • Converts open Jev reproductions (Laya, Kev, NanoJev, PlayJev) to INT8 ONNX for offline CPU decisions at about 15.6 ms per question.

    ServicebetaPython
  • Native Go runtime serving Gemma 4 12B as a Jev-like decision model with hand-tuned PTX kernels and no CGo or CUDA toolkit.

    ProjectbetaGo
  • 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
  • Go gateway exposing the Jev /v1/systemone contract over ordinary LLM backends by reading single-token label logprobs.

    ServicebetaGo
  • Runs Intern-Decision-0.8B on Apple Silicon behind a local /v1/systemone endpoint that accepts screenshots for agent decisions.

    ServicebetaPython