Tutorial · Automatisierung

Browser per Sprache steuern: KI geht in Sekunden durch Webseiten

Du sagst einen Satz, der Browser sucht, klickt und scrollt. Kein vorprogrammierter Ablauf, kein Entwickler-Wissen. Hier steht das komplette Setup, das bei mir lokal läuft, inklusive der Stellen, an denen es auf Deutsch umgestellt wird.

G
Georg Kinzel
21. September 2026

Ich sage “geh auf youtube”, und die Seite ist da. Ich sage “suche nach claude code tutorial”, und der Text steht im Suchfeld, Enter inklusive. Ich sage “klick auf das zweite Video”, und es läuft. Dazwischen liegt jeweils weniger als eine Sekunde.

Das Projekt dahinter heißt jev-automation und liegt offen auf GitHub. Unten steht das komplette Setup, so wie es bei mir läuft, inklusive der zwei Stellen, an denen aus einem englischen Projekt eine deutsche Sprachsteuerung wird.

Warum das kein Sprachbefehl-Skript ist

Sprachsteuerung im Browser gibt es seit Jahren. Sie war nur immer starr. Du hinterlegst “öffne Youtube”, und genau dieser Satz funktioniert. Ein Wort daneben, und nichts passiert.

Hier ist es anders herum. Der Server macht einen Schnappschuss von allem, was auf der aktuellen Seite anklickbar ist, und schickt deinen Satz zusammen mit dieser Liste an ein Modell namens Jev. Jev schreibt keinen Text, es wählt aus: Was willst du tun, welches Element ist gemeint, soll nach dem Tippen abgeschickt werden, ist die Aktion heikel. Danach führt Playwright den Klick aus.

Das heißt für dich: Die Seite muss nicht vorbereitet sein. Du redest genauso mit einem Shop, mit einem Formular oder mit dem Fahrplan deiner Stadt.

Wenn Jev sich nicht sicher ist, klickt die Anwendung nicht blind, sondern fragt zurück, welches Element du meintest. Du antwortest dann per Sprache mit “das zweite” oder klickst die Auswahl an.

Was du brauchst

Setup in vier Befehlen

git clone https://github.com/yatharth1706/jev-automation
cd jev-automation
npm install
npx playwright install chromium

Der letzte Befehl lädt das Chromium, das später ferngesteuert wird. Wenn du Playwright schon benutzt, ist es vermutlich da und der Schritt geht in zwei Sekunden durch.

Danach die Konfiguration anlegen:

cp .env.example .env

In der .env trägst du deinen Schlüssel ein und stellst zwei Werte um:

TYPESAFE_API_KEY=dein-schluessel
HEADLESS=false      # zeigt das gesteuerte Chromium als eigenes Fenster
PORT=3210           # nur nötig, wenn auf 3000 schon etwas läuft

HEADLESS=false ist der Schalter, der aus dem Ganzen eine vorzeigbare Sache macht: Du siehst das ferngesteuerte Fenster neben deinem eigenen und kannst zuschauen, wie es arbeitet. Im Web-Fenster läuft ohnehin ein Livebild mit.

Starten:

set -a && . ./.env && set +a
npm start

Dann http://localhost:3210 im Chrome öffnen, das Mikrofon erlauben, Leertaste drücken und reden. Die Erlaubnis fürs Mikrofon gibt Chrome nur auf localhost oder über https, deshalb funktioniert der Umweg über die IP-Adresse des Rechners nicht.

Erst ohne Schlüssel ausprobieren

Wenn du nur sehen willst, ob dein Mikrofon sauber erkannt wird, lass TYPESAFE_API_KEY leer. Die Anwendung startet trotzdem und entscheidet dann über einfache Stichwörter. Oben im Fenster zeigt eine Anzeige, in welchem Modus du gerade bist.

Ohne Schlüssel läuft nur, was wörtlich passt. Mit Schlüssel sagst du “mach mal das Video da auf, das zweite von oben”, und es klappt trotzdem.

Auf Deutsch umstellen

Zwei Stellen entscheiden darüber, ob das Ding dich versteht.

Stelle 1: die Spracherkennung. Im Original steht in client/src/hooks/useSpeechRecognition.ts:

rec.lang = navigator.language || "en-US";

Wenn dein Chrome auf Deutsch steht, bist du damit schon versorgt. Ich habe es trotzdem festgesetzt, weil die Browsersprache auf Reisen gern umspringt:

rec.lang = new URLSearchParams(location.search).get("lang") ?? "de-DE";

Damit läuft die Erkennung immer auf Deutsch, und ?lang=en-US hinter der Adresse schaltet für einen Test zurück.

Stelle 2: die Befehlswörter. In server/commands.ts steht pro Aktion ein Muster mit allen Wörtern, die sie auslösen. Im Original sind das englische Wörter. Du ergänzt die deutschen dazu, zum Beispiel beim Öffnen einer Seite:

/^(?:go to|open|visit|öffne|öffnen|mach auf|geh zu|geh auf|zeig mir|ruf auf|lade)\s+...

Dasselbe machst du für Klicken (klick auf, drück auf, wähl), Tippen (tippe ... ins suchfeld), Scrollen (scroll nach unten, scroll nach oben) und Zurück (zurück). Der Rest der Kette braucht keine Übersetzung, weil die eigentliche Entscheidung beim Modell liegt und das versteht deinen Satz ohnehin.

Wenn du unsicher bist, ob dein Muster sitzt: Das Projekt bringt Tests mit, npm test sagt dir in ein paar Sekunden Bescheid.

Die Befehle, mit denen ich anfangen würde

Diese laufen bei mir zuverlässig und sind eine gute erste Runde:

Sprich dabei ganz normal. Du musst weder langsam noch besonders deutlich reden, und Pausen mitten im Satz sind kein Problem.

Wenn etwas klemmt

Der Browser lädt nichts und meldet, dass die Verbindung abgelehnt wurde. Dann startest du den Server aus einer Shell, die kein Netz nach außen hat, zum Beispiel aus einer Sandbox heraus. Terminal direkt aufmachen und dort starten.

Port 3000 ist belegt. PORT=3210 in die .env, Seite unter der neuen Nummer öffnen.

Das Mikrofon taucht nicht auf. Nur Chrome und Edge können die Web Speech API. In Safari und Firefox bleibt der Knopf grau.

Es klickt das Falsche. Sag “zurück” und formuliere den Satz konkreter. Statt “klick auf das Video” lieber “klick auf das zweite Video”. Je genauer du beschreibst, desto klarer ist die Auswahl, unter der das Modell entscheidet.

Womit du anfängst

Starte es einmal, sag “geh auf youtube” und schau dem Fenster zu. Das reicht als erster Abend. Alles Weitere ergibt sich, sobald du merkst, wo du sonst überall klickst, ohne nachzudenken.

Wenn du vorher wissen willst, was Jev eigentlich ist, warum es keinen Text schreibt und was Leute sonst damit bauen, steht das im Einstieg zu Jev.

Quellen

  1. jev-automation auf GitHub
  2. TypeSafe Docs: Primitive (Choice, Score, Noul)
  3. TypeSafe: Introducing System One Models and Jev
  4. MDN: Web Speech API

21. September 2026. KI-Tools, Preise und Funktionen ändern sich schnell. Vor wichtigen Entscheidungen den aktuellen Stand direkt beim Anbieter prüfen.

Transparenz. Dieser Beitrag ist mit KI-Unterstützung entstanden und von mir geprüft. Genau mit diesen Workflows arbeite ich, und genau die zeige ich hier.

Klau mein System

Das Setup, mit dem KI bei mir 80 % der Arbeit übernimmt. Im kostenlosen PDF: Projekt, Anweisung und fünf Vorlagen für Angebot, Kundenmail, Nachfassen, Posts und Wochenplan. Skills folgen.

Mein System holen

Häufige Fragen

Brauche ich Programmierkenntnisse dafür?
Nein. Du kopierst vier Befehle ins Terminal und öffnest danach eine Seite im Browser. Für die deutschen Befehlswörter tauschst du eine Zeile in einer Datei aus, das ist Copy-Paste.
Kostet das etwas?
Das Projekt ist Open Source. Für die Entscheidungen brauchst du einen Schlüssel aus der TypeSafe-Console. Ohne Schlüssel startet die Anwendung trotzdem und schaltet auf einfache Stichwort-Erkennung um, damit du die Oberfläche testen kannst.
Sieht jemand meinen Bildschirm?
Der Server und das gesteuerte Chromium laufen auf deinem Rechner. Nach außen geht pro Befehl eine Anfrage an TypeSafe, und die enthält deinen Satz plus eine kurze Beschreibung der anklickbaren Elemente der Seite. Kein Bild, kein Video.
Warum reagiert das so schnell?
Weil kein Text erzeugt wird. Das Modell bekommt eine Frage mit fertigen Antwortmöglichkeiten und wählt eine aus. Das dauert Millisekunden statt Sekunden, und deshalb fühlt sich die Steuerung wie ein Klick an.