Obsah · Historie vývoje

Historie vývoje

Chronologický přehled projektu AI-MODE / AI-EXPO – co se kdy implementovalo a proč. Technické detaily fází aplikace jsou v kapitole Fáze implementace.

O datech: fáze 1–8 (červen 2026) vznikaly postupně bez denního deníku. Záznamy od 3. 7. 2026 vycházejí ze session vývoje, statistik API, interní dokumentace a nasazení na lokálním IIS.

  1. Jádro aplikace – fáze 1 až 8

    Proč: postupně sestavit hlasového průvodce pro veřejný kiosk – nejdřív funkční dialog (hlas → AI → TTS), pak bohatší vizuál, odolnost při chybách, druhý provider, idle prezentaci, přehled nákladů a jednotný vzhled bez úprav kódu u každé instituce.

    • Fáze 1 – základní SVG kiosk, Gemini, admin, omluvy, diagnostika (detail)
    • Fáze 2 – Rive, vertikální layout, výběr postav (detail)
    • Fáze 3 – stavy animace, teen/klasika omluvy, D-ID video (detail)
    • Fáze 4 – OpenAI jako druhý provider + TTS (detail)
    • Fáze 5 – idle režim – prezentace webů při nečinnosti (detail)
    • Fáze 6 – statistiky API, probe klíčů, nový layout adminu (detail)
    • Fáze 7 – barevné motivy napříč variantami (detail)
    • Fáze 8 – katalog Gemini, fallback modelů (detail)

    Doplňky ve stejném období: vícejazyčný kiosk, varianta Live2D, komiksová bublina s groundingem, provozní profily – část detailně zapsána pod 3.–4. 7. 2026.

    Počátek na IIS: první verze od prázdné instalace – základní Gemini kiosk, barge-in, výběr hlasu, náhodné omluvy při výpadku API, interní návrh exponátu, první Rive postavy a D-ID varianta.

  2. První měřené využití API

    Co: v lokálních statistikách se objevují první záznamy chat/TTS/idle požadavků (Gemini, OpenAI).

    Proč: ověřit reálnou zátěž před nasazením u zákazníka a ladit idle režim a TTS na živém hardware.

  3. Návrh modulu deníčku uživatele

    Co: interní návrhový dokument – osobní deník (nákupy, autobus, finance) jako možné budoucí rozšíření kiosku.

    Proč: oddělit „průvodce po expozici“ od domácího asistenta; zatím jen návrh k diskusi, není součástí veřejného provozu exponátu.

  4. Prezentační úvod návodu a SEO

    Čas: večer, cca 18:00–19:00

    Co a proč:

    • Úvodní stránka návodu – prezentace s plovoucími boxy a odkazy na kapitoly (ne celý obsah na jedné stránce)
    • Kompletní obsah – samostatná stránka se všemi kapitolami
    • SEO – unikátní titulky u odkazů, stránka klíčová slova
    • Tisk obsahu – čtyři sloupce na jednu A4
    • Google Translate – widget pro překlad návodu v prohlížeči
  5. Komiksová bublina, jazyky a provozní profily

    Čas: večer, cca 19:15–21:40

    Co a proč:

    • Komiksová bublina – vizuál odpovědí, Gemini Search grounding, volitelné odkazy v textu
    • Vícejazyčnost – vlajky CS/EN/DE/PL/SK, překlad UI, chybových hlášek a TTS
    • Provozní profily – přednastavení pro mládež, muzeum, firmu… (provozní profily)
    • Bezpečnost obsahu – kapitola o filtrech AI v návodu
    • Náklady bubliny – doplnění nákladů provozu
    • Provoz – redirect manuálu na HTTPS doménu AI-EXPO, kompatibilita s PHP 8.5
  6. Znalostní báze exponátů v MySQL (fáze 9)

    Co: tabulka exponátů v databázi, admin katalog, AI sloupce, náhled generování po řádcích, function calling v chatu, tisk katalogu – popsáno v interní návrhové dokumentaci.

    Proč: hlasový průvodce má odpovídat z ověřených dat muzea (číslo exponátu, název, sál), ne jen z obecné znalosti modelu – pilotně pro Velký svět techniky Ostrava (VSTO).

    Fáze 9 v návodu → · Znalostní báze →

  7. Admin znalostní báze – katalog a AI sloupce

    Čas: dopoledne a odpoledne

    Co a proč:

    • Katalog exponátů – tabulka v administraci, řazení, filtry, hromadné akce
    • Editor – dlouhé popisy exponátů přímo v administraci
    • AI sloupce – generované shrnutí, klíčová slova, návrhy odpovědí pro hlasového průvodce
    • Function calling – chat vyhledá exponát podle čísla
    • Hromadné doplnění – vyplnění AI polí u existujících záznamů katalogu
  8. Barevné motivy a workflow kurátora

    Čas: odpoledne

    Co a proč:

    • Parametr barvy v URL – rychlé přepnutí barevného motivu na všech variantách avatara
    • Workflow kurátora – náhled generace po řádcích, označení zkontrolovaných záznamů
    • Tisk katalogu – export tabulky exponátů pro tisk nebo PDF
  9. Zvětšení komiksové bubliny a ukázky v návodu

    Čas: večer

    Co a proč:

    • Šířka bubliny 620 px – čitelnější text na velkém monitoru kiosku
    • Ukázky v manuálu – screenshoty a popis chování bubliny pro instalátora
  10. Mobilní layout administrace

    Co a proč:

    • Administrace na telefonu – přilepená navigace, bez horizontálního scrollu
    • Údržba v terénu – kurátor může měnit nastavení a katalog z mobilu při obchůzce expozice
  11. Dokumentace kiosku a kontrolní seznam

    Čas: cca 6:30–7:01

    Co a proč:

    • Skrytí plochy Windows v autostart skriptu – návštěvník z kiosk prohlížeče neskončí na hlavním panelu (návod)
    • Přehled parametrů kiosk režimu – Chrome/Edge, autoplay pro TTS, co nepoužívat (anonymní režim bez uložení mikrofonu)
    • Zvýraznění příkazů v návodu – čitelnější postup pro instalátora
    • Rozepis kontrolního seznamu v kapitole technického serveru – server, kiosk, hlas, hlasitost, barge-in, D-ID před otevřením veřejnosti
    • Aktualizace klíčových slov a souboru pro LLM – aby vyhledávače a jazykové modely našly nové sekce
  12. Rozšíření diagnostiky

    Čas: cca 7:06–7:22

    Co a proč:

    • Více polí v diagnostice – připravenost exponátu, varování, stav konfigurace bez klíčů, MySQL, HTTPS, síťový test – jedna adresa místo ručního testování desíti věcí
    • Zkrácení MySQL hlášení – bez hostname a názvu DB ve veřejném JSON (bezpečnost na sdíleném hostingu)
    • Odkaz na diagnostiku v administraci – instalátor nemusí hádat adresu
    • Oprava chyby serveru – načtení úložiště konfigurace po zavedení vlastního názvu configu

    Diagnostika v návodu →

  13. Doplnění návodu – idle, obsah, config

    Čas: cca 7:29–8:19

    Co a proč:

    • Příklady idle režimu – muzeum vs. veletrh, aby provozní věděl kdy zapnout (administrace → idle)
    • Odkazy v obsahu návodu na idle a nevhodný obsah AI
    • Vysvětlení read-only configu – kiosk může běžet bez zápisu; zápis jen při údržbě
    • Rozhodnutí ponechat config ve souboru (ne migrace do MySQL) – MySQL jen pro katalog exponátů, citlivé klíče zůstávají v konfiguraci
  14. Kapitola zabezpečení a vlastní název configu

    Čas: cca 8:01–9:31

    Co a proč:

    • Nová stránka Zabezpečení provozu – HTTPS, kiosk, config ne ke stažení, kontrolní seznam; veřejný návod nesmí prozrazovat skutečné cesty ani názvy skriptů
    • Vlastní název configu v administraci – uživatel zvolí vlastní název; aplikace přesune JSON do skryté provozní složky
    • Úložiště konfigurace – ukazatel aktivního souboru jen ve skryté složce (ne zápis do kořene serveru) – po nasazení na hostingu přestal fungovat zápis do kořene → přechod na skrytý ukazatel
    • Rollback při selhání zápisu – aby přejmenování nerozbilo běžící provoz
    • Fiktivní názvy v návodu – veřejná dokumentace neusnadňuje útok skenerem URL
  15. Samostatný návod, tisk a úvodní box

    Čas: cca 9:34–11:06

    Co a proč:

    • Návod běží samostatně – vlastní instalace s potřebnými moduly, aby šel publikovat na AI-EXPO.eu bez celé instalace exponátu
    • Tisk obsahu na jednu A4 – čtyři sloupce, plná výška stránky
    • Tisk konceptu monitoru – mockup monitoru se znovu zobrazuje v PDF
    • Box Zabezpečení na úvodní stránce návodu – rychlý vstup do kapitoly před provozem
    • Stránka Historie vývoje (tato) – chronologie pro obchod i techniky
  16. Gaze avatar – oči sledující návštěvníka

    Čas: večer 6. 7. 2026

    Proč: nová varianta avatara, kde oči reagují na pohyb návštěvníka jako u člověka – bez generování videa, bez placeného API, vhodné pro kiosk s webkamerou. Stejný hlasový dialog, jazyky a komiksová bublina jako u ostatních exponátů.

    Co vzniklo:

    • Varianta Gaze – SVG hlava s realistickými očima (duhovka, zornice, víčka, obočí), animace úst při TTS, stavy poslech/mluví jako u základního exponátu
    • Sledování očí – webkamera a knihovna MediaPipe Face Landmarker (CDN, GPU/CPU fallback); záloha sledování prstu na dotykovém kiosku; přirozené mrkání a idle sakkády
    • Společný dialog – stejná architektura hlasu, jazyků, bubliny a idle jako u ostatních variant
    • Navigace – odkazy na Gaze mezi variantami Rive, Live2D a D-ID
    • Administrace – sekce Avatary → Gaze avatar, tlačítko na test exponátu
    • Barevné motivy – Gaze v tabulce barev administrace

    Technické poznámky:

    • Po klepnutí Start se žádá povolení kamery (kromě mikrofonu)
    • Landmarky obličeje (nos, oči) → normalizovaný vektor pohledu → plynulý posun duhovky v rámci bělma
    • Přepínání stylů očí bez obnovení stránky
  17. Exponát „jen oči“ na celou obrazovku

    Čas: večer 6. 7. 2026

    Proč: na vertikálním kiosku má návštěvník vidět pouze velké oči bez rámečku, jména asistenta a ovládacích prvků – maximální dojem „živého pohledu“, zbytek řeší hlas a bublina.

    Co vzniklo:

    • Varianta Eyes – fullscreen SVG oči, skryté ovládací prvky jen pro hlasový dialog
    • Layout na celou výšku – výběr stylů v patičce, bublina nad očima
    • Šest vykreslovacích presetů očí a obočí
    • Výběr stylu návštěvníkem – přepínač v patičce, volba se pamatuje v prohlížeči

    Presety očí (přepínač v patičce, názvy lokalizovatelné):

    • Neutrální – modrá duhovka, výchozí
    • Ženské – mandlový tvar, jemné řasy, zelená duhovka, obloukové obočí
    • Mužské – užší oko, tmavě hnědá duhovka, silnější rovné obočí
    • Dětské – velké kulaté oči, světle modrá duhovka, jemné obočí, nádech tváří
    • Realistické – hnědá duhovka, bohatší stíny a detaily víček
    • Anime – velká duhovka, malá zornice, kreslené obočí (jediný nestylizovaně-realistický preset)

    U presetů kromě anime jsou realistické oči i vyplněné obočí s gradientem (ne bílé čáry jako u původního náčrtu).

    Nastavení v administraci:

    • Výchozí styl očí, zapnutí výběru pro návštěvníka, volitelný vlastní seznam presetů
    • Veřejné API konfigurace – seznam presetů pro přepínač a překlady
  18. Ladění Gaze/Eyes – směr, rychlost, odlesky

    Čas: večer 6. 7. 2026 · iterace podle testu na webkameře

    Co a proč:

    • Invertovat osu X / Y v administraci – přední webkamery často zrcadlí obraz; bez invertu oči jely opačně než pohyb návštěvníka
    • Rychlost pohybu očí (škála 1–10, posuvník v adminu) – mapování na vyhlazení sledování; výchozí střední hodnota; platí pro Gaze i Eyes
    • Odlesky podle osvětlení (výchozí zapnuto) – vzorkování jasu z videa kamery v mřížce 3×3; posun bílých odlesků v duhovce směrem k nejjasnější zóně; v tmě ztlumení. Volitelné vypnutí v adminu
    • Oprava statických kruhů kolem duhovky – okraj duhovky zůstával při sledování na místě; odstraněn, okraj jen v radiálním gradientu uvnitř pohyblivé skupiny
    • Sjednocený pohyb odlesků – duhovka, zornice i odlesky se posouvají společně; dynamické přepočítání středů očí při změně presetu
  19. Doplnění historie vývoje

    Čas: večer 6. 7. 2026

    Co a proč: zpětné doplnění časové osy podle session vývoje od 3. 7. 2026 (návod, bublina, znalostní báze, admin, Gaze/Eyes) – jeden přehled pro obchod i techniky.

  20. Log konverzací v MySQL a dokumentace GDPR

    Čas: 7. 7. 2026

    Co a proč:

    • Modul log konverzací – anonymní ukládání textu dotazů a odpovědí do MySQL (exhibit_chat_log), zapnutí v adminu, vytvoření tabulky, prohlížení v admin-chat-log
    • Oddělení od usage-stats – statistiky API dál bez textu konverzace
    • session_id – UUID relace na kiosku při „Klepněte pro start“, bez IP a jména
    • Návod – podstránka Log konverzací včetně GDPR pro provozovatele a vzorových informací pro návštěvníky; odkaz ze zabezpečení a administrace
  21. Plánovaná rozšíření (fáze 10)

    Proč zatím ne: vyšší náklady, zakázková integrace, nebo závislost na API bez free trial.

    • Placené TTS bez fallbacku prohlížeče
    • Vlastní Rive postava na míru instituce
    • HeyGen full-body video – pouze placený vývoj na zakázku
    • Deníček uživatele – z návrhu 3. 7. 2026
    • Další presety očí (např. staří, zvířecí)
    • Přesnější odhad směru světla (HDR / více světel) – nad rámec mřížky 3×3

    Detail fáze 10 →

Shrnutí: Do června 2026 vzniklo jádro exponátu (hlas, avatary, admin, idle, motivy, modely). 3.–4. 7. 2026 přibyly veřejný návod, komiksová bublina, vícejazyčnost, provozní profily a znalostní báze v MySQL včetně admin katalogu. 5. 7. 2026 mobilní administrace. 6. 7. 2026 dokumentace nasazení, diagnostika, zabezpečení configu a samostatný veřejný návod pro produkční kiosk; večer varianty Gaze (hlava s očima z kamery), Oči fullscreen (šest stylů, nastavení směru, rychlosti a odlesků) a ladění sledování. 7. 7. 2026 modul log konverzací v MySQL a dokumentace GDPR v návodu. Projekt má nyní šest implementovaných variant vizuálu: základní SVG, Gaze, Eyes, Rive, Live2D, D-ID.