Use Laya from Node.js

You can run Laya inside a Node.js process with ONNX Runtime, or keep the model in a separate server and call it over HTTP. Both routes use the same state-plus-typed-questions request shape as the Python package and the Jev API.

141 projects

kevin

gauravsaini

Runs a browser automation agent that uses Laya-ONNX to rank candidate actions

1·GitHub repo

decision-model-playground

tedliou

A local web playground comparing Laya and Jev for recommending articles

1·GitHub repo

jeffrey

thomasbrueggemann

A coding-agent CLI uses Jev or Laya to choose tools while a configurable LLM executes them

1·GitHub repo

laya-mcp

andragon3110

Provides MCP tools for coding-agent judgments using local decision models, including Laya

1·GitHub repo

omp-laya

KiidxAtlas

Adds local Laya decision policies and verification controls to Oh My Pi

1·GitHub repo

chatassistant-laya

HarrisXiu

Analyzes pasted chat messages locally with Laya and can generate optional reply suggestions

1·GitHub repo

laya-jev-arena

dante01yoon

Compares local Laya and hosted Jev models in games and measurement tools

1·GitHub repo

decision-infra

hufaei

Routes typed-decision requests to hosted Jev or local Reflex, SemIf, and Laya models

1·GitHub repo

system-one-playground

minkhant1996

Provides a local web playground for Laya and other System One decision models

1·GitHub repo

building-with-laya-skill

MIt9

An agent skill teaches developers to build typed-decision programs with Laya and laya-cli

1·GitHub repo

agent-decision-firewall

chinna250801

Gates AI agent actions with a local Laya decision model and fail-closed rules

1·GitHub repo

laya-studio-node

ajayjha1

Provides a Node.js and TypeScript toolkit for Laya classification, routing, CLI, and MCP use

1·GitHub repo

laya-decision-api

bmw8080

An HTTP service wraps local Laya with OpenAPI documentation and Java, TypeScript, and Python SDKs

1·GitHub repo

design-os-generative-ui

jangtrinh

Builds a generative UI engine using local Laya-MLX decisions and a TypeSafe JEV cascade router

1·GitHub repo

adecider

Agents365-ai

Provides typed decision tools for coding agents with pluggable local Laya, Jev, and OpenAI-compatible backends

1·GitHub repo
B

leanest

baronunread

A TypeScript test selector uses semantic judgments from classifier.dev, Jev, or Laya

708·npm package
G

@system-one-ai/model-laya

GitHub Actions

Adds optional Laya model plugins to System One browser and Node runtimes

317·npm package
I

pi-laya-guardrails

izolight

A Pi extension sends prompts and tool calls to a local Laya guardrail server

282·npm package
N

@scruple/provider-laya

nalexpear

A local Laya decision provider for the Scruple framework

252·npm package
J

opencode-jev-compaction

jlegends

Two OpenCode plugins prune stale tool calls and optionally refine decisions with local Laya

250·npm package
G

@gobing-ai/ts-laya-mlx

GitHub Actions

A TypeScript package connects applications to a local Laya decision backend through MLX

239·npm package
I

pi-laya-model-router

izolight

Routes Pi sessions to mapped models using task classifications from a local Laya server

145·npm package
D

modsure

davespace

Moderates user-written content against site rules using Jev or a loaded Laya client

129·npm package
L

reflex-hooks-oss

lia210350

A Node provider runs the Laya decision model locally through ONNX for reflex-hooks

116·npm package

In-process: @receptron/laya

@receptron/laya runs the model with ONNX Runtime, so neither Python nor PyTorch is needed at runtime. It requires Node.js 20 or newer.

npm install @receptron/laya
import { Laya } from "@receptron/laya";

const laya = await Laya.load();

const result = await laya.systemOne(
  { subject: "Refund not received", body: "I cancelled two weeks ago and still have no refund..." },
  {
    department: {
      type: "choice",
      instructions: "Which team should handle this ticket?",
      criteria: { billing: "payments, refunds, invoices", support: "product help and bugs", sales: "new purchases" },
    },
    churn_risk: { type: "noul", instructions: "Is the customer likely to cancel or dispute?" },
  },
);

result.answers.department.choice; // "billing"
await laya.close();

Per its README, the fp32 ONNX weights are about 1.7 GB and download on first use. Budget roughly 2 GB of RAM. A three-question call takes about 140 ms on an Apple Silicon CPU once warm, and the output matches the Python implementation to four decimal places. The package is MIT-licensed; the weights are Apache 2.0.

Over HTTP: laya-studio

laya-studio is a zero-dependency TypeScript client for a running Laya server (Node.js 18.17+):

npm install laya-studio
pip install "laya[serve]"
laya-serve                          # binds 0.0.0.0:8000

Other JavaScript projects

  • @r4ai/laya-web: ONNX Runtime Web runtime for browsers and Node.js.
  • kevala: a Rust engine compiled to WebAssembly with WebGPU kernels, installable from npm.
  • gg-friggin-ez: a profanity and toxicity screener that defaults to Jev and can point at a local Laya endpoint.

Caveats

The English checkpoint's options must fit a 192-token budget and the state is cut at 512 tokens. The receptron README recommends fewer than about 20 options per choice question.

More ways to use Laya