Skip to content

Ulka

Local browser-agent extension where FX plans tasks and Jev picks constrained actions from observed elements, with model calls routed through Vercel AI Gateway.

Stars
22
Language
TypeScript
License
MIT
Published by
Community
Author
razaanstha
Last verified
Oct 2026

razaanstha/ulka

User repository on GitHub

View on GitHub

Experimental browser agent powered by FX, Jev, and Vercel AI Gateway. Bring your own API key to read pages and automate browser tasks.

Forks
4
Last pushed
Updated Oct 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

FX orchestrates browser tasks and tool calls. Jev (typesafe-ai/jev) selects constrained browser actions from observed page elements. Vercel AI Gateway routes AI requests using the user's API key. Ulka browser runtime reads Chromium’s accessibility tree for roles, names, states, and UI hierarchy, validates targets, requests approvals, executes actions, and records evidence.

Quoted from the project's README. Read the full README.

Highlights

  • Reads the Chromium accessibility tree for roles and hierarchy, validates targets and gates actions behind approvals with evidence capture.
  • Stagehand-style observe, act, extract and cached replay with milestone plans and bounded tool-call and action allowances.
  • Runs locally with no app backend; load apps/extension/dist unpacked and save the Gateway key in side-panel Settings.
  • Supports background tab mode, WebMCP tool preference, and personalization text sent with new tasks.

Watch out

Early preview with expected bugs; supervise signed-in sites, approvals are heuristic and page text is sent to model providers. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

38GitHub stars
Standalone CLI skill that drives isolated Playwright Chromium with Jev choosing scoped in-page actions, defaulting to Vercel AI Gateway with TypeSafe as an option.
Jev Demos & Experiments#community#jevbest#catalog-import
47GitHub stars
Zero-dependency Node 22 adapter that puts typed Jev decisions beside any LLM, with swappable backends, confidence gates, MCP tools, an ACP sidecar, and offline-ready recipes.
Jev Demos & Experiments#community#jevbest#catalog-import
21GitHub stars
Pi guard plugin that checks inputs and tool calls with local rules plus Jev semantic judgements, with redaction and verification reminders.
Jev Demos & Experiments#community#jevbest#catalog-import
2GitHub stars
Next.js spectator demo in which two independent Jev agents drive separate Snake browsers through same-origin iframes, clicking indexed direction buttons only, with each board state streamed to a server-only endpoint that returns the chosen target.
Jev Demos & Experiments#community#jevbest#catalog-import
2GitHub stars
An agent tool and MCP call gate: paste a planned call plus its context and it returns allow, ask_human or deny with risk scores derived from a TypeSafe Jev decision call.
Jev Demos & Experiments#community#jevbest#catalog-import
2GitHub stars
An MCP stdio proxy in front of the official Playwright MCP server that triages page state, masks prompt injection, trims oversized page dumps by goal and risk-gates actions, exposing the same tools and schemas.
Jev Demos & Experiments#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

A game tick is a state plus a legal action list. How Clash Royale, Minecraft, and the earlier Mario, Pokémon, StarCraft, and drone loops ask Jev one step at a time.
Jev Demos & Experiments#gaming#agents#control
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai