Browser & computer use

jev-agent-browser

@forvela4JavaScriptMITupdated 2026-09-19runnable

Fast, bounded browser agents powered by Jev and agent-browser — typed actions, research, classification, and safe orchestration.

forvela/jev-agent-browser

Where it calls Jev

const DEFAULT_ENDPOINT = 'https://api.typesafe.ai/v1/systemone';

src/decision.js:3

The link points at the commit we read, so the line number still holds.

What it asks Jev

These question sets are lifted from this project's source exactly as written.

from test/loop.test.js:125

  1. operationchoice

    Choose the next browser operation.

    • CLICKChoose a current control, filter, menu, pagination link, or clearly requested content target. Prefer controls over content cards and do not repeat an already executed click.
    • SCROLL_UPExecute SCROLL_UP.
    • SCROLL_DOWNExecute SCROLL_DOWN.
    • BACKExecute BACK.
    • WAITExecute WAIT.
    • DONEExecute DONE.
  2. click_targetchoice

    Choose the current browser ref targeted by the operation. Prefer exact filter/menu controls over similarly named result cards.

    • none_of_the_aboveNo current ref is an appropriate target.
    • e1button/control/Go
  3. goal_reachedtrue/false

    Estimate whether the requested goal has been reached.

  4. stucktrue/false

    Estimate whether the browser agent is stuck.

Run it on your own text

The code
import { experimental_evaluate as evaluate } from 'ai';

const { answers } = await evaluate({
  model: 'typesafe-ai/jev',
  state,
  questions: {
    operation: { type: 'choice', instructions: 'Choose the next browser operation.',
      criteria: { CLICK: 'Choose a current control, filter, menu, pagination link, or clearly requested content target. Prefer controls over content cards and do not repeat an already executed click.', SCROLL_UP: 'Execute SCROLL_UP.', SCROLL_DOWN: 'Execute SCROLL_DOWN.', BACK: 'Execute BACK.', WAIT: 'Execute WAIT.', DONE: 'Execute DONE.' } },
    click_target: { type: 'choice', instructions: 'Choose the current browser ref targeted by the operation. Prefer exact filter/menu controls over similarly named result cards.',
      criteria: { none_of_the_above: 'No current ref is an appropriate target.', e1: 'button/control/Go' } },
    goal_reached: { type: 'boolean', instructions: 'Estimate whether the requested goal has been reached.' },
    stuck: { type: 'boolean', instructions: 'Estimate whether the browser agent is stuck.' },
  },
});

Other projects in this category