44 lines
No EOL
6.2 KiB
Markdown
44 lines
No EOL
6.2 KiB
Markdown
---
|
||
type: xpost
|
||
source_url: https://x.com/BhosalePratim/status/2101281829168792002
|
||
retrieved: 2026-09-23
|
||
author: "@BhosalePratim"
|
||
is_thread: false
|
||
quote_count: 8
|
||
tags: [jev, typesafe-ai, macbrow, computer-use, sprachsteuerung, browser-use, gradium, repo, demo]
|
||
---
|
||
|
||
# Pratim Bhosale — „Macbrow": sprachgesteuerter Mac-/Browser-Agent mit Jev (19.09.2026)
|
||
|
||
## Metadaten (FxTwitter/GitHub API, Abruf 23.09.2026)
|
||
|
||
- **Autor:** Pratim Bhosale (@BhosalePratim), Paris, 42.523 Follower, verifiziert; Bio „Education @GradiumAI | Building @spokira with @sachaarbonel | Prev Eng @ UBS" — **arbeitet bei Gradium**, dem im Stack genannten STT/TTS-Anbieter (Interessenkonflikt bei der Produktbewertung, nicht bei der Jev-Rolle)
|
||
- **Post:** Note-Tweet, **19.09.2026 12:06 UTC**; **55.975 Views / 414 Likes / 27 Reposts / 39 Replies / 488 Bookmarks**; keine Community Note; Video-Anhang 152,3 s (1748×1080)
|
||
- **Wortlaut:** „I've always wanted a way to talk to my Mac and do things on the go. Until now, it was super slow. So I built Macbrow. Voice-controlled browser and computer-use agent. Built using @GradiumAI @browser_use and @typesafeai — Still early and a work in progress."
|
||
- **Repo:** https://github.com/timpratim/macbrow — öffentlich, MIT, **140 Stars / 15 Forks** beim Abruf, created 18.09.2026 22:18 UTC, letzter Push 21.09.2026, Sprache Python
|
||
|
||
## README (vollständig gelesen)
|
||
|
||
Kopf: „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.**"
|
||
|
||
- **Warnung:** „Experimental. Not for production." Eine frühe Version sollte „clean up my desktop" ausführen und **verschob alle Dateien des Desktops in einen Ordner** — deshalb existiert die Safety-Policy (`macbrow/policy.py`).
|
||
- **Pipeline:** `Gradium STT → Jev picks tool + arguments (one request, ~300 ms) → AppleScript → Gradium TTS`; Website-Tasks über `jev-ultrafast` (Browser Use × TypeSafe) mit **einem Jev-Request pro Schritt**; unbekannte Aktionen: LLM schreibt ein neues Tool (Kompilier-, Effekt-, Policy- und Jev-Review-Gates, 3 Repair-Runden); Small Talk: LLM, ein Satz.
|
||
- **Jev-Aufgaben konkret:** Routing als ein Choice über die Tools offener Apps (+ „chat"/„new action") mit Wahrscheinlichkeit je Option (hoch → ausführen, mittel → nachfragen, niedrig → nicht); **spekulative Arguments** (alle Enum-Argumente aller Kandidaten-Tools als eigene Choices im selben Request, nur die des Gewinners werden gelesen; Freitext-Argumente durch Span-Auswahl statt Generierung); Follow-up-/Vollständigkeits-Urteile als einzelne Noul/Choice.
|
||
- **Browser-Schritt:** Seite als indizierte Tabelle der Controls; ein Jev-Request wählt Operation (click, type, select, scroll, wait, done) + Ziel-Index. „Nothing is generated except the text to type. Model output never becomes a selector or code; every target is an element the code observed. **No screenshots in the loop.**"
|
||
- **Eigenmessung („Measured on this machine"):** „add the best vacuum cleaner to my Amazon cart" — 4 Schritte, 11 s; Follow-up „the return date should be November 4th" — 6 Schritte, 3,7 s; „play the Love Hypothesis trailer" — **1,6 s** vom Satzende bis zum Video.
|
||
- **Policy:** Allowed: Apps, Dateien, URLs, Browser-Tasks, Slack/Messages/Mail, Notes/Reminders/Calendar, Medien. Blocked: Systemeinstellungen, Terminals, Shell außerhalb Allow-list, Datei-Löschen/Verschieben, Trash, Power, Keychain; im Browser: Kauf/Checkout/Payment/Sign-in. State-Änderungen brauchen gesprochene Bestätigung; Policy schützt nicht vor falsch verstandenen Wörtern, `MACBROW_POLICY=off` existiert zum Debuggen.
|
||
- **Tests:** `uv run pytest -q` — **26 Offline-Tests**; ruff clean; MIT.
|
||
|
||
## Demo-Video (lokal ausgewertet: 15 Standbilder à 10 s + Volltext-STT via Grok STT, 152,4 s)
|
||
|
||
Kette: Outlander-Trailer auf YouTube („Done." nach ~4,5 s Sprachpause) → „find me bags under 300 euros" → Google Shopping „handbags under 300 euros" (Ergebnisse sichtbar: Polène €269, THEA MINI €264 u. a.) → „Paris to Istanbul, November 10–15" → Google Flights (AJet/Transavia/Turkish, Nonstop 3h45) → „open the desktop folder" → Finder öffnet Desktop → zwei Schließ-Befehle → Love-Hypothesis-Trailer → X-Suche „Jev site:twitter.com" (Suchvorschläge sichtbar; ein Timeline-Post von @thisiskp_ zufällig sichtbar: „running out of patience bookmarking every cool Jev demo on the timeline"). Chrome-Banner: „Chrome is being controlled by automated test software."
|
||
|
||
**Bemerkenswerte Sprachmomente (aus Wortzeitstempeln):** Nach dem Outlander-Befehl (Ende ~4,6 s) fällt das „Done." bereits bei 8,5 s — **unter 4 Sekunden bis zur fertigen YouTube-Suche**; die Korrektur „Sorry, the desktop folder, not the downloads folder" wird korrekt aufgelöst (Finder zeigt Desktop); am Ende **versagt** der Agent beim einfachen „close this tab": „Okay, stopping. Goodbye." — dann der Tester: „I asked you to close the tab. Okay, I think there's a lot of work to be done, but this is not bad." Das Demo endet mit einem dokumentierten Misserfolg.
|
||
|
||
## Einordnung
|
||
|
||
- **Erster Jev-Computer-Use-Build mit öffentlichem Code.** Anders als Andy-Gao (kein Repo, keine Messung) ist Macbrow nachprüfbar: README, Policy, 26 Tests, Architekturbeschreibung. Die Jev-Rolle ist **dokumentiert**, nicht nur mentioned: Routing + spekulative Argumente + Schrittentscheidungen im Browser + Noul/Choice-Urteile.
|
||
- **Der Text-only-Befund wird konstruktiv aufgelöst:** Jev „sieht" nichts — hier liest `jev-ultrafast` die Seite als indizierte Tabelle der Controls, Jev wählt daraus. Keine Screenshots im Loop. Das ist die sauberste bisher dokumentierte Antwort auf die Text-Only-Grenze.
|
||
- **Latenzplausibilität:** ~300 ms pro Jev-Request liegt in der dokumentierten 70–500-ms-Spanne; die 1,6-s-Gesamtlatenz (Sprachende → Video) ist mit STT + 1 Jev-Call + YouTube-Suche vereinbar. Keine unvereinbaren Zahlen.
|
||
- ⚠️ **Interessenkonflikt des Autors** bei Gradium (Education), nicht bei TypeSafe; Eigenmessungen („measured on this machine") ohne Rohdaten.
|
||
- ⚠️ Der Agent versagt in der Demo am Ende beim Tab-Schließen — vom Tester selbst eingeordnet; gut gegen Überglättung der Welle. |