ai:modely:jev:jev-voice-browser

Jev Voice Browser

Vytvořeno: 28.9.2026 | Aktualizováno: 28.09.2026 18:00

Jev Voice Browser je Node.js aplikace pro hlasové ovládání viditelného okna Chromiumu přes Playwright. Model Jev v ní nerozhoduje generováním textu, ale vybírá z možností připravených aplikací: například zda jde o příkaz, jaká akce se má provést a na který prvek stránky míří. Projekt autor ukázal také v příspěvku na X.

Mikrofonní rozhraní běží v běžném Chromu nebo Edge a využívá Web Speech API. Průběžný přepis řeči posílá WebSocketem do Node.js serveru.

Server:

  • počká na dokončení promluvy nebo ticho;
  • vytvoří snímek interaktivních prvků aktuální stránky;
  • drží stav mimo model — předchozí stránku a poslední tři akce;
  • jedním požadavkem na Jev vyhodnotí záměr, cíl a další parametry;
  • provede nebo odloží akci v persistentním Chromiumu ovládaném přes Playwright.

Aplikace v ovládaném okně zobrazuje vizuální zpětnou vazbu, například zvýraznění prvků, notifikace a očíslované kandidáty.

Jev vyhodnocuje více typovaných otázek nad stejným vstupem. Projekt se ptá například na:

  • zda promluva skutečně obsahuje příkaz;
  • záměr — navigace, hledání, kliknutí, psaní, rolování nebo práce s kartami;
  • cílový prvek stránky, službu nebo web;
  • zda je příkaz dokončený;
  • zda akce může být destruktivní;
  • velikost rolování, směr přepnutí karty a případnou opravu předchozí akce;
  • část promluvy, která obsahuje diktovaný text nebo URL.

Kliknutí a psaní vyžadují dostatečnou jistotu pro záměr i cíl. Pokud je výsledek nejednoznačný, aplikace zobrazí očíslované kandidáty. Uživatel může vybrat číslo hlasem; tento výběr se provede bez dalšího volání modelu.

Potenciálně destruktivní kliknutí přechází do potvrzovacího režimu. Akce se provede až po hlasovém confirm; příkaz cancel ji zruší.

Projekt podporuje otevření adresy nebo známého webu, obecné i webově specifické vyhledávání, klikání, diktování do polí, rolování, historii, obnovení stránky a správu karet. Umí navázat dvě akce v jedné promluvě, například otevřít stránku a potom kliknout na odkaz.

Návrh je ale primárně určený pro jednu akci na promluvu. Další slova po již provedené akci může aplikace vyhodnotit jako nový příkaz jen při splnění vlastní minimální podmínky.

Pokud není dostupný mikrofon, lze příkaz napsat do ovládací stránky a odeslat klávesou Enter.

Je potřeba Node.js 20 nebo novější, npm a Chrome nebo Edge pro vstup z mikrofonu. README uvádí testování na Node.js 22. Pro ovládané okno se instaluje Playwright Chromium.

git clone https://github.com/moritzkremb/jev-voice-browser.git
cd jev-voice-browser
npm install
npx playwright install chromium
cp .env.example .env
./run.sh

Po spuštění server standardně naslouchá na adrese http://localhost:8787. Tuto adresu je potřeba otevřít v běžném Chromu nebo Edge, povolit mikrofon a aktivovat jeho snímání.

Skript run.sh podporuje mimo jiné parametry --port, --host, --start-url, --headless a --cdp. Pro připojení k již spuštěnému Chromu se vzdáleným laděním dokumentace uvádí:

./run.sh --cdp http://127.0.0.1:9222

API klíč TypeSafe patří do souboru .env. Projekt podporuje proměnnou TYPESAFE_API_KEY i starší JEV_API_KEY. Klíč čte pouze Node.js proces, ne ovládací stránka v prohlížeči.

Soubor src/constants.js obsahuje připnutý model jev-1.13.0, prahy rozhodování a znění otázek posílaných Jevu. Pokud se změní alias modelu, je potřeba prahy znovu ověřit.

Web Speech API použité v projektu podle dokumentace není dostupné ve Firefoxu ani Safari. Chrome a Edge při rozpoznávání řeči odesílají zvuk Googlu.

Server je ve výchozím stavu dostupný jen na 127.0.0.1. Kdokoli s přístupem k jeho ovládacímu portu by mohl řídit prohlížeč a využívat API kredit.

Ovládaný Chromium používá persistentní profil v adresáři .browser-profile/. Projekt doporučuje nepřihlašovat se zde do citlivých účtů: chybné rozpoznání hlasu by mohlo provést nechtěnou akci.

Snímek stránky obsahuje nejvýše 100 prvků, dává přednost prvkům ve viewportu a jejich text zkracuje na 60 znaků. Prvky v iframe nezachycuje. Weby s výraznou ochranou proti botům se nemusí správně vykreslit, zejména v headless režimu.

Jednotkové testy projektu nevyžadují síť. Integrační sada provádí skutečná volání Jev API nad zachycenými stránkovými fixtures a očekává nejméně 90% úspěšnost. README uvádí měření ze září 2026 s výsledkem 34 z 34 úspěšných integračních případů, z toho sedm případů kontextu nebo opravy předchozí akce.

Projekt používá licenci MIT.

  • ai/modely/jev/jev-voice-browser.txt
  • Poslední úprava: 28.09.2026 18:00
  • autor: Petr Nosek