Skip to content

laya-browser-agent

Local browser agent that picks each step's operation and element with a Jev-shaped model such as a fine-tuned Laya, no cloud needed.

MCP serverbeta

Overview

laya-browser-agent provides multi-backend constrained decision support for Jev-like models in a browser-driving role. The agent presents the decision model with a numbered table of page controls and constrains which operation and element it may propose; the model returns probabilities over those options. Backends include Laya through MLX or PyTorch, any object with a synchronous answer(state, questions) method, or any System One-shaped HTTP endpoint, and it speaks TypeSafe's /v1/systemone dialect so Jev tooling can point at it by changing a base URL. It works with browser-use's jev-ultrafast via the same wire format.

The recommended default is the project's own open fine-tuned checkpoint, laya-browser-v32b, pinned to an immutable revision, with an upstream legacy option. The README is candid about limits: authentication and password fields, long or dynamic forms, collapsed menus, canvas or shadow DOM, sites blocking headless browsers and vocabulary mismatches can fail, and the model-free test suite asserts no model results. It works with Playwright or CDP, is MCP-friendly, and has documentation in four languages.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich operation should be performed next?—
ChoiceWhich numbered page element should the operation target?—

How it works

  1. Capture the page as a numbered table of controls
  2. Decision backend scores allowed operations and elements
  3. Agent validates and executes the chosen action via Playwright or CDP
  4. Outcome checks and human confirmation catch errors
  5. Repeat until the task is done

Strengths

  • Runs fully local with open weights
  • Pluggable backends including any System One endpoint
  • Pinned model revisions for reproducibility
  • Honest list of failure cases

Caveats

  • Known failures on auth fields, dynamic forms and shadow DOM
  • Model can be confidently wrong; validation needed
  • Test suite does not assert model quality

Getting started

from localdecide import BrowserDecider, then configure the browser checkpoint ichenney/laya-browser-v32b (subfolder v32b).

At a glance

Type
MCP server
Status
beta
Language
Python
Runtime
library with Playwright/CDP drivers, MLX or PyTorch
Has code
yes
Has tests
yes
Stars
20

Use cases and integrations

How curated lists describe it

  • Browser agent: derives each step from a Jev-shaped model — Laya through MLX or PyTorch, any duck-typed backend, or an arbitrary System One HTTP endpoint.

    yibie/awesome-jev
  • Local, open-source Jev alternative: browser agent decisions with Laya (System One model) on your own machine. No cloud, no API key. Playwright/CDP, MCP-friendly.

    wh000wh000/awesome-jev-live
  • Local, open-source Jev alternative: browser agent decisions with Laya (System One model) on your own machine. No cloud, no API key. Playwright/CDP, MCP-friendly.

    hellogumbo/awesome-jev
  • Browser agent whose next action is decided by Laya on your own machine, with no cloud and no API key. Japanese.

    MrJev/awesome-jev

Frequently asked questions

Does it need TypeSafe?

No, it runs Laya locally; it can also call any System One endpoint including Jev.

What can it not handle well?

Password fields, long dynamic forms, collapsed menus, canvas or shadow DOM and some headless-blocking sites.

Which model is recommended?

The project's fine-tuned laya-browser-v32b checkpoint.

Related projects

  • Open 2B browser-agent decision model fine-tuned from MiniCPM5 that serves the System One protocol for jev-ultrafast.

    ProjectresearchPython
  • Runs jev-browser entirely on a local Jev-style engine (Qwen2.5 1.5B decisions, 0.5B typing) on an RTX 2060 SUPER, with no cloud API.

    BenchmarkprototypePython, TypeScript
  • OpenJev 1.7B-8B: open decision models distilled for general decisions and browser-agent steps, served behind /v1/systemone.

    ModelbetaPython
  • Computer-use platform (Cua Spaces, Driver, Lume) with CUA-S1 small decision models and a preview jev-use example for bounded actions.

    ProjectbetaPython
  • Fork of the jev-chat Windows app adding a key-free local LAYA judgment backend and a DPI-aware screen capture fix.

    ProjectbetaPython
  • Selector-free pytest UI tests for saucedemo using a jev-ultrafast-style agent run fully locally with laya-browser and a small Ollama model.

    ProjectprototypePython