Ultimate AI Connector for WebLLM
Ultimate AI Connector for WebLLM přináší inferenci AI přímo v prohlížeči na vaši WordPress multisite síť. Model velkého jazyka (LLM) běží kompletně v prohlížeči pomocí WebLLM a enginu MLC — nepotřebujete API klíče, žádné externí volání a žádná data opouštějí zařízení uživatele.
Klíčové funkce
- Inferenční proces v prohlížeči: LLM běží lokálně v prohlížeči návštěvníka pomocí WebLLM/MLC — není vyžadována GPU na serveru
- Plující chatovací widget: Přihlášené uživatele mohou zadávat dotazy do LLM v prohlížeči přímo z frontendu
- Indikátor stavu v admin panelu: Stav WebLLM enginu je v reálném čase viditelný v WordPress admin panelu
- SharedWorker runtime: Více záložek v prohlížeči sdílí jednu GPU sesí, místo aby se o zdroje GPU bojovaly
- apiFetch middleware: Žádout REST požadavky WordPress, které odpovídají vzoru AI Client SDK, jsou transparentně směrovány k lokálnímu WebLLM brokerovi — žádná zpětná HTTP cesta
- UI pro nastavení widgetu: Panel konektoru s nastavením pro přepínání chatovacího widgetu a konfiguraci automatického dotazu
- Cache v IndexedDB: Stahování vah modelu přežije přesměrování CDN, které narušuje výchozí cestu Cache API
- Integrace filtru wpai: Hookuje se do filtru
wpai_preferred_text_models, takže funkce AI Experiments směřuje do prohlížečového enginu, pokud je nakonfigurována
Požadavky
- WordPress 5.3 nebo vyšší
- PHP 7.4 nebo vyšší
- Plugin Ultimate Multisite (aktivní)
- Prohlížeč s podporou WebGPU (Chrome 113+, Edge 113+ nebo Firefox Nightly s aktivovanou podporou WebGPU)
Instalace
- Nahrajte soubory addon do adresáře
/wp-content/plugins/ - Aktivujte plugin v menu „Plugins“ v WordPressu
- Navigujte do Ultimate Multisite → AI Connector pro nakonfiguraci addon
Plující chatovací widget
Plující chatovací widget umožňuje jakémukoli přihlášenému uživateli interagovat s LLM v prohlížeči přímo z vašeho frontendu, aniž by opouštěl stránku, na které je.
Co dělá
Po aktivaci se v rohu každé front-end stránky pro přihlášené uživatele objeví ikona chatu. Kliknutím na ikonu se otevře chatovací panel, kde může uživatel zadávat dotazy a dostávat odpovědi od lokálně spouštěného modelu WebLLM. Protože model běží kompletně v prohlížeči, odpovědi jsou soukromé a nevyžadují žádnou serverovou úpravu.
Indikátor stavu v admin panelu
WordPress admin panel obsahuje indikátor stavu, který zobrazuje aktuální stav WebLLM enginu:
| Status | Význam |
|---|---|
| Loading | Engine MLC inicializuje nebo stahuje váhy modelu |
| Ready | Model je načten a připraven k inferenci |
| Idle | Engine je načten, ale záložka SharedWorker není aktivní |
| Error | Engine selhal při inicializaci — zkontrolujte konzoli prohlížeče pro detaily |
Indikátor se aktualizuje v reálném čase bez nutnosti obnovení stránky.
Jak widget povolit nebo deaktivovat
- Přejděte do Ultimate Multisite → AI Connector v administraci sítě
- Najděte panel Connector
- Přepněte přepínač Enable floating chat widget na zapnuto nebo vypnuto
- Uložte nastavení
Widget lze také povolit nebo deaktivovat pro konkrétní stránku přímo z jejího vlastního admin panelu, pokud administrátor sítě udělil tuto schopnost.
Nastavení widgetu
Panel Connector v Ultimate Multisite → AI Connector obsahuje následující nastavení pro plující chatovací widget:
Zapnout plující chatovací widget
Přepíná chatovací widget pro celou síť. Pokud je vypnut, widget se na žádné front-end stránce nezobrazí, bez ohledu na roli uživatele.
Výchozí: Vypnuto
Chování automatického dotazu
Kontroluje, zda widget automaticky odešle dotaz, když ho uživatel otevře.
| Možnost | Chování |
|---|---|
| Disabled | Widget se otevře prázdný chat — uživatel zadá vlastní dotaz |
| Page context | Widget se otevře s předvyplněným dotazem na základě názvu a obsahu aktuální stránky |
| Custom prompt | Widget se otevře s vlastním dotazem, který definujete v následujícím poli |
Pokud je nastaveno na Custom prompt, objeví se další textové pole, kam můžete zadat text výchozího dotazu. Podporuje základní proměnné šablon:
{site_name}— název aktuální stránky{page_title}— název aktuální stránky{user_display_name}— zobrazený název přihlášeného uživatele
Výchozí: Vypnuto
SharedWorker runtime
Verze 1.1.0 zavádí SharedWorker runtime pro engine MLC. Dříve každý prohlížečový panel, který používal WebLLM, načítal vlastní instanci modelu, což vedlo k konkurencí o paměť GPU a způsobovalo problémy s výkonem na zařízeních s omezenou VRAM.
S SharedWorker runtime funguje jedna záložka jako host pro engine. Všechny ostatní záložky komunikují s touto jedinou instancí přes kanál zpráv workeru. Výsledek:
- Jedna GPU sesí sdílená všemi otevřenými záložkami
- Rychlejší odpovědi po načtení modelu (žádná opakovaná inicializace)
- Nižší špičkové využití paměti na zařízení
SharedWorker je pro uživatele neviditelný. Indikátor stavu v admin panelu vždy odráží stav sdíleného enginu, nikoli jednotlivé záložky.
apiFetch Middleware
Addon instaluje middleware apiFetch, který zachytává požadavky WordPress REST API odpovídající vzoru AI Client SDK. Místo odeslání zpětného HTTP požadavku na server jsou tyto požadavky směrovány přímo k lokálnímu WebLLM brokerovi běžícímu v SharedWorkeru.
To znamená, že pluginy a téma, která používají standardní WordPress apiFetch API k volání AI endpointů, automaticky profitují z modelu v prohlížeči, jakmile je k dispozici, a to bez nutnosti změn kódu.
Hooks a filtry
Filtry
wpai_preferred_text_models— Registruje prohlížečový engine WebLLM jako preferovaný textový model. Addon se do tohoto filtru automaticky hookuje, když je engine nakonfigurován a dostupný.ultimate_webllm_widget_enabled— Přepíne stav widgetu pro konkrétního uživatele nebo kontext. Vracítruenebofalse.ultimate_webllm_auto_prompt— Modifikuje text automatického dotazu před jeho odesláním do widgetu. Dostává řetězec dotazu a aktuální objektWP_Post.
Řešení problémů
Widget se neobjevuje
- Potvrďte, že je uživatel přihlášen — widget je viditelný pouze pro ověřené uživatele
- Zkontrolujte, zda je přepínač Enable floating chat widget zapnutý v panelu Connector
- Ověřte, že prohlížeč uživatele podporuje WebGPU (viz Požadavky výše)
Indikátor v admin panelu zobrazuje „Error“
Otevřete konzoli vývojáře prohlížeče (F12) a vyhledejte chyby související s WebLLM. Běžné příčiny:
- Prohlížeč nepodporuje WebGPU
- Stahování vah modelu selhalo — zkontrolujte síťové připojení a zkuste vymazat cache IndexedDB v nástrojích vývojáře prohlížeče (Application → IndexedDB)
- Rozšíření prohlížeče blokuje SharedWorker
Váhy modelu se stahují při každé návštěvě
Addon používá IndexedDB jako backend cache, aby zajistil, že váhy modelu přežijí přesměrování CDN. Pokud se váhy stahují při každé návštěvě, zkontrolujte, že IndexedDB není vymazán nastavením soukromí prohlížeče nebo rozšířením.
Changelog
Podívejte se na Changelog pro kompletní historii verzí.