madewithlaya

Catalog / LLM routing & guardrails

0074GitHub

jeffrey: a coding-agent CLI where Jev or Laya decides and your LLM executes

The decision model never writes code; each step it picks the next tool, scores progress, estimates risk and says if the goal is reached. Any OpenAI-compatible LLM executes.

Open source ↗ github.comcostfree with local Laya + local LLMtime-
thomasbrueggemann/jeffreyREADME ↗
# jeffrey

A coding-agent CLI that splits the work between two models:

- A **decision model** decides. It never writes prose or code; it only answers closed questions. On
  every step it picks the next tool, scores how much progress was made, estimates risk, and says
  whether the goal is reached. Jev ([TypeSafe System One](https://docs.typesafe.ai/introduction))
  is the default; [Laya](https://github.com/NandhaKishorM/laya), which you host yourself, is the
  other one shipped — see [docs/deciders.md](docs/deciders.md).
- Your LLM (any OpenAI-compatible server, local by default) executes. It fills in the tool
  arguments, which is where the actual code comes from, for whatever tool the decider chose.

The loop is `decide → tool → decide → tool → …` until the goal is scored as reached, or escalates.

```
            goal
             │
             ▼
   ┌───────────────────┐   questions: which tool? which file? scores
   │ Decider (Jev/Laya)│◀──────────────────────────────────────────┐
   └─────────┬─────────┘                                          │
             │ tool + confidence + risk + progress                │
             ▼                                                    │
   ┌───────────────────┐  "call read_file, here are the args"      │
   │  Executor LLM     │───────────────────────────────────────────┤
   └─────────┬─────────┘                                          │
             ▼                                                    │
   ┌───────────────────┐   observation (stdout / diff / file list) │
   │  Tool runtime     │───────────────────────────────────────────┘
   └───────────────────┘
```

## Install

```bash
npm install -g @thomasbrueggemann/jeffrey
jeffrey --help
```

Or without installing anything:

```bash
npx @thomasbrueggemann/jeffre

Also filed under LLM routing & guardrails

  1. 0100

    laya-jev-lab: a local-first cascade that matches Jev's accuracy at 1.8x the speed

    Independent Jev vs Laya measurements plus a cascade: Laya decides first, high confidence executes, low confidence escalates to Jev. At a 0.60 threshold it matched Jev's 78%.

    @yibie · LLM routing & guardrails · lower than pure Jev

  2. 0096

    Laya Ultrafast: browser-use's jev-ultrafast agent ported to local Laya on MLX

    A port of the jev-ultrafast browser agent that decides with laya-mlx instead of the hosted Jev API. DOM snapshot, executor, safety checks and inspector are the originals.

    @ipenywis · LLM routing & guardrails · free, local

  3. 0088

    laya_router: a model router with Laya matches GPT-5 nano's accuracy, 35x faster, free

    Two routers behind one endpoint, measured on 180 labelled requests. Laya answers small/medium/powerful routing in one forward pass, against a GPT-5 nano router.

    @glukicov · LLM routing & guardrails · free, local

  4. 0076

    laya-browser-agent: browser decisions on Laya, drop-in for jev-ultrafast tooling

    Local decider for the browser-agent loop: hand it a numbered table of page controls and it picks the operation and element. Playwright/CDP driver, speaks /v1/systemone.

    @ChenneyZhuang · LLM routing & guardrails · free, local, no screenshots