shipwithjev

Catalog / Agents & browsers

0070GitHub

jev-use

Say it, and your Mac does it, with no vision model.

A computer-use harness in Swift that reads the screen through the macOS Accessibility API, so there is no screenshot and no vision model in the loop. Jev picks the action from the accessibility tree.

savka777/jev-useREADME ↗
# jev-use

Voice and typed computer use for macOS. You say what you want. Jev picks the next on-screen action. macOS performs it. No screenshots: the app reads the screen through the Accessibility tree.

## Quick start

Requires macOS 14.2+ and Xcode. No dependencies.

```sh
bash build.sh
open "$HOME/Applications/Desktop Voice.app"
```

In setup: save your TypeSafe API key (stored in the Keychain), then allow Accessibility, microphone and speech.

Hold **Control–Option–Space**, speak, release. **Escape** cancels. Or type a command in the widget, or from a shell: `scripts/say.sh "Open Finder"`.

## Examples

- "Open Obsidian, create a new note and type hello"
- "Go to youtube.com, search Rick Astley and play the first video"
- "Open 3 new tabs"
- "Scroll down three times"
- "Tile all the Brave windows so none are stacked"
- "In every Brave window, go to wikipedia.org and search for accessibility" — Jev works out the steps once, code repeats them in each window
- "Close the window", "Save", "New tab" — any item in the app's menu bar

## How it works

One loop, about 0.3–1.5 s per step:

1. **Read.** Walk the front app's Accessibility tree (~120 ms). Every element describes itself: what it is, its name, its value, where it sits, what it can do. No per-app code.
2. **Choose.** One request to Jev (`jev-latest`): the goal, the numbered targets, the last ten actions and their effects. Jev selects an operation and a target. It never generates free text; typed text is a span of your sentence.
3. **Act.** Press, select, type, menu, key, scroll, open, arrange windows.
4. **Check.** Read the screen again. Report the real effect. Repeat until DONE, BLOCKED or WAIT.

Low-confidence and destructive picks stop and ask instead of acting.

## What is sent

To `https://api.typesafe.ai/v1/

Also filed under Agents & browsers

  1. 0295

    Flight search with Browser Use

    Breaking: Browser Use + Jev = Ultrafast ⚡ Findings flights took 7s and cost only $0.0039 🤯 > new action space every step > DOM state space > small LLM fallback to type (this video is at 1x speed btw) Built a tiny open source browser agent. try it below ↓

    @gregpr07 · Agents & browsers · ~$0.004 · ~7 s

  2. 0500

    Jev: AI Decisions as a Typed Function Call | StackToHeap

    # Jev: AI Decisions as a Typed Function Call What I learned using TypeSafe's Jev for code review, and why its more surprising uses are browser control and generative UI.…

    stacktoheap.com · Agents & browsers

  3. 0319

    x-scanner

    Chrome extension that labels every post you scroll past on X with six typed questions per post, and counts what it costs in the corner.

    oso95 · Agents & browsers

  4. 0318

    Vibe Check for X

    Chrome extension that scores draft posts and reply context before posting; optional media descriptions come from a separate vision model.

    RafalWilinski · Agents & browsers