shipwithjev

Catalog / Agents & browsers

0244GitHub

macbrow

Say a command and it runs as AppleScript, or say a web task and it drives Chrome.

Say a command and it runs as AppleScript, or say a web task and it drives Chrome. Its README opens with a warning about an early version tidying a Desktop rather thoroughly.

timpratim/macbrowREADME ↗
# macbrow

Talk to your Mac. Say a command and it runs as AppleScript; say a web task and it drives
your Chrome. Routing takes about 300 ms because a System One model *chooses* instead of
generating.

[](https://youtu.be/cPBlb1neXiI)

*Demo video: [youtu.be/cPBlb1neXiI](https://youtu.be/cPBlb1neXiI)*

> **Experimental. Not for production.** This prototype lets a language model run scripts
> and click around a browser on your machine. An early version, asked to "clean up my
> desktop", moved every file on the Desktop into a folder. The safety policy in
> [`macbrow/policy.py`](macbrow/policy.py) exists because of that. Keep it on, read it
> first, and don't point voice control at a machine whose setup you can't afford to lose.

```
Gradium STT ─► Jev picks a tool + its arguments (one request, ~300 ms) ─► AppleScript ─► Gradium TTS
                 ├─ website task ─► jev-ultrafast drives Chrome, one Jev request per step
                 ├─ unknown action ─► LLM writes a new tool, checked, cached for next time
                 └─ small talk ─► LLM, one sentence
```

Stack: [Gradium](https://gradium.ai) streaming speech-to-text and text-to-speech for the voice
in and out (via the [Gradium plugin for LiveKit Agents](https://docs.livekit.io/agents/models/tts/gradium/)),
[LiveKit Agents](https://docs.livekit.io/agents/) for the voice loop, [TypeSafe's Jev](https://docs.typesafe.ai)
for every decision, [jev-ultrafast](https://github.com/browser-use/jev-ultrafast) (Browser Use ×
TypeSafe) for the browser, and an LLM (GPT-5-mini via LiveKit Inference, or a local model in
LM Studio) only for writing text.

## Why it's fast: choose, don't generate

A typical computer-use agent runs a loop of *screenshot → LLM reasons → emits an action*.
Each turn is a generation call: seconds of lat

Also filed under Agents & browsers

  1. 0226

    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. 0619

    jevmem: automatic project memory for Claude Code

    After every Claude Code message, Jev decides in ~0.3 s whether it holds a decision, rule or bug worth keeping, and jevmem saves it as one line in JEVMEM.md.

    @jetwaniavinash · Agents & browsers · ~0.3 s

  3. 0618

    Playwright + Jev: tests in plain language

    Write Playwright steps like "add the most expensive item to the cart". Jev finds the right buttons and fields, fills forms and checks the result.

    Andrey Popov · Agents & browsers

  4. 0617

    toolgate: a tool-call firewall for agents

    A Claude Code and MCP hook where Jev answers seven yes/no risk questions per tool call to allow, ask or deny. Usage and benchmark numbers are in the repo.

    Jaz · Agents & browsers