knowledge-base/raw/xpost/2026-09-19_bhosal-pratim-macbrow.md

6.2 KiB
Raw Blame History

type source_url retrieved author is_thread quote_count tags
xpost https://x.com/BhosalePratim/status/2101281829168792002 2026-09-23 @BhosalePratim false 8
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 -q26 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 1015" → 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 70500-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.