Run Laya in the browser

Laya is small enough to run in a browser tab with no server and no API key. The input never leaves the page. The trade-off is a download of several hundred megabytes on the first visit and much slower inference than a native runtime.

171 projects

V

layaForWeb

VishalMysore

Provides quantized ONNX checkpoints and a demo for running Laya in browsers

1·HF model
H

cut-laya-onnx

harshpreet931

An 8-bit ONNX conversion runs Laya text classification in browser-based editors

1·HF model

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

laya-mlx-ddz

smile-magic

A browser-based 斗地主 game lets two local AI seats play using Laya on Apple Silicon

1·GitHub repo

laya-jev-arena

dante01yoon

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

1·GitHub repo

laya-invaders

inhabitants

Uses Laya to choose targets in a Space Invaders game and compares it with a rule baseline

1·GitHub repo

system-one-playground

minkhant1996

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

1·GitHub repo

layaAsRagJudge

vishalmysore

Verifies RAG claims in the browser using Laya decisions and evaluates accuracy against labeled claims

1·GitHub repo

laya-console

biyyl234

Provides a local web console and REST API for Laya inference and intent classification

1·GitHub repo

RayCodes_LayaAI

47thtechcorner

A browser-based Pong game uses Laya to control an AI opponent's paddle

1·GitHub repo

laya-vs-dijkstra

antonellof

Compares Laya MLX pathfinding decisions with Dijkstra on seeded weighted mazes

1·GitHub repo

katai

Shiawaseu

A browser automation agent uses fine-tuned Laya models to select actions and target elements

1·GitHub repo
G

@system-one-ai/model-laya

GitHub Actions

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

317·npm package

laya-playground

marcosnovaesq

Runs Laya locally behind a TypeSafe-compatible API and provides a web UI for testing requests

0·GitHub repo

laya-jev-ultrafast

leisc

A browser agent that uses Laya for typed action and element selection, with Jev as an optional backend

0·GitHub repo

chakravyuha-oss

kspviswa

A browser maze game uses a locally hosted Laya model to choose each move

0·GitHub repo

XERON

PIXELZX0

Fine-tunes Laya decision models for multilingual classification, scoring, routing, and browser actions

0·GitHub repo

Nekomimi-Waifu-Seeker

CooLguNxDD

Uses Laya to guess anime and other fictional characters through typed decisions

0·GitHub repo

laya-web

nvkudva

Runs a quantized Laya decision model entirely in the browser using ONNX Runtime Web

0·GitHub repo

laya-web-poc

alexander-voronkov

A browser prototype runs a quantized Laya model locally for typed question answering

0·GitHub repo

laya-warehouse-safety

senthilr-nv

Simulates warehouse robot decisions using Laya, with a browser replay and deterministic collision-safety layer

0·GitHub repo

jev-arena

Samge0

Compares Jev, NanoJev, and Laya decisions in Tetris and 1024 with recorded gameplay replays

0·GitHub repo

laya-jev

kiuckhuang

Adds a local Laya decision endpoint and conformance tests to a Jev browser-agent fork

0·GitHub repo

Libraries

kevala is a zero-dependency Rust engine compiled to WebAssembly, with WebGPU kernels. It works from any page:

<script type="module">
  import { Kevala } from "https://cdn.jsdelivr.net/npm/kevala@latest/js/src/index.js";
  const kevala = await Kevala.load({ model: "laya", onProgress: console.log });
</script>

or pnpm add kevala. According to its README, the Laya int8 pack is 479 MB and is kept in browser storage after the first visit.

@r4ai/laya-web runs ONNX Runtime Web with WebGPU and a WebAssembly SIMD fallback, and is designed to run in a Web Worker:

npm install @r4ai/laya-web onnxruntime-web

Demos you can open

  • layaForWeb: the English checkpoint as quantized ONNX (default build about 440 MB), with a live demo.
  • open-jev-laya: multilingual Laya on Transformers.js (fp16 ONNX about 647 MB) with Gomoku, Big Two and a 3D maze.
  • layaAsRagJudge: checks RAG claims against retrieved evidence entirely in the tab.

Speed and support

The layaForWeb README reports that a three-question call on the default WASM backend took about 2 to 5 seconds on a 2-core machine. In that project, WebGPU works only with the int4 build, because ONNX Runtime's WebGPU MatMulNBits kernel supports 2- and 4-bit weights. open-jev-laya tries WebGPU and falls back to WebAssembly.

Caveats

Quantized browser builds do not match PyTorch exactly. layaForWeb reports 97.9% top-answer agreement for all three of its quantized builds, with the largest probability gaps in int4. For a real-time loop, laya-pong keeps the model native. Its README gives the reason: the checkpoint wants about 2.4 GB resident in f32, and wasm32 has a 4 GB address space and no Metal.

More ways to use Laya