Ultimate AI Connector for WebLLM
Ultimate AI Connector for WebLLM bringer AI-inferens direkte i nettleseren til ditt WordPress multisite-nettverk. Det kjører store språkmodeller (LLM) utelukkende i nettleseren ved hjelp av WebLLM og MLC-motoren – ingen API-nøkler, ingen eksterne kall, og ingen data forlater brukerens enhet.
Nøkkelfunksjoner
- Inferens i nettleseren: LLM kjører lokalt i besøkendes nettleser via WebLLM/MLC – krever ingen server-GPU
- Flytende chat-widget: Innloggede brukere kan gi prompt til nettleserbasert LLM direkte fra front-enden
- Statusindikator i admin-baren: Sanntidsstatus for WebLLM-motoren synlig i WordPress admin-baren
- SharedWorker runtime: Flere nettleserfaner deler én GPU-økt i stedet for å kjempe om GPU-ressurser
- apiFetch middleware: WordPress REST-forespørsler som matcher AI Client SDK-mønsteret blir gjennomsiktig videresendt til den lokale WebLLM-brokeren – ingen loopback HTTP-tur
- Widget-innstillinger UI: Panelinnstillinger for å slå chat-widgeten på/av og konfigurere auto-prompt-atferd
- IndexedDB cache: Nedlasting av modellvekter overlever CDN-omdirigeringer som bryter standard Cache API-sti
- wpai filter-integrasjon: Krokker seg inn i
wpai_preferred_text_models-filteret slik at AI Experiments-funksjonen rutes til nettlesermotoren når den er konfigurert
Krav
- WordPress 5.3 eller høyere
- PHP 7.4 eller høyere
- Ultimate Multisite plugin (aktiv)
- En nettleser med WebGPU-støtte (Chrome 113+, Edge 113+, eller Firefox Nightly med WebGPU aktivert)
Installasjon
- Last opp addon-filene til katalogen din
/wp-content/plugins/ - Aktiver pluginet via 'Plugins'-menyen i WordPress
- Gå til Ultimate Multisite → AI Connector for å konfigurere addon-en
Flytende Chat Widget
Den flytende chat-widgeten lar enhver innlogget bruker samhandle med nettleserbasert LLM direkte fra front-enden, uten å forlate siden de er på.
Hva den gjør
Når den er aktivert, vises et chat-ikon i hjørnet av hver front-end-side for innloggede brukere. Ved å klikke på ikonet åpnes et chat-panel der brukeren kan skrive inn prompts og motta svar fra den lokalt kjørende WebLLM-modellen. Siden modellen kjører utelukkende i nettleseren, er svarene private og involverer ingen server-side prosessering.
Statusindikator i Admin-baren
WordPress admin-baren inkluderer en statusindikator som viser den nåværende tilstanden til WebLLM-motoren:
| Status | Betydning |
|---|---|
| Loading | MLC-motoren initialiseres eller laster ned modellvekter |
| Ready | Modellen er lastet og tilgjengelig for inferens |
| Idle | Motoren er lastet, men SharedWorker-fanen er ikke aktiv |
| Error | Motoren klarte ikke å initialisere — sjekk nettleserkonsollen for detaljer |
Indikatoren oppdateres i sanntid uten å kreve en sideoppdatering.
Hvordan aktivere eller deaktivere widgeten
- G å til Ultimate Multisite → AI Connector i nettverksadministrasjonen
- Finn Connector-panelet
- Slå Enable floating chat widget på eller av
- Lagre innstillingene
Widgeten kan også aktiveres eller deaktiveres per side fra sidens egen administrasjon hvis nettverksadministratoren har gitt den tillatelsen.
Widget-innstillinger
Connector-panelet i Ultimate Multisite → AI Connector inneholder følgende innstillinger for den flytende chat-widgeten:
Enable Floating Chat Widget
Slår chat-widgeten på eller av for hele nettverket. Når den er deaktivert, vises ikke widgeten på noen front-end-side, uavhengig av brukerrolle.
Standard: Av
Auto-Prompt Behaviour
Styrer om chat-widgeten automatisk sender en prompt når en bruker åpner den.
| Alternativ | Atferd |
|---|---|
| Disabled | Widgeten åpnes til en tom chat — brukeren skriver sin egen prompt |
| Page context | Widgeten åpnes med en forhåndsutfylt prompt basert på gjeldende sides tittel og innhold |
| Custom prompt | Widgeten åpnes med en tilpasset prompt du definerer i feltet under |
Når den er satt til Custom prompt, vises et ekstra tekstfelt der du kan angi standard prompt-teksten. Støtter grunnleggende malvariabler:
{site_name}— navnet på den nåværende siden{page_title}— tittelen på den nåværende siden{user_display_name}— innlogget brukers visningsnavn
Standard: Av
SharedWorker Runtime
Versjon 1.1.0 introduserer en SharedWorker runtime for MLC-motoren. Tidligere lastet hver nettleserfane som brukte WebLLM sin egen instans av modellen, noe som konkurrerte om GPU-minne og forårsaket ytelsesproblemer på enheter med begrenset VRAM.
Med SharedWorker runtime fungerer én fane som motorvert. Alle andre faner kommuniserer med denne ene instansen via workerens meldingskanal. Resultatet er:
- Én GPU-økt delt på tvers av alle åpne faner
- Raskere svar når modellen er lastet (ingen gjentatt initialisering)
- Lavere toppminnebruk på enheten
SharedWorker er usynlig for brukerne. Statusindikatoren i admin-baren gjenspeiler alltid tilstanden til den delte motoren, ikke den individuelle fanen.
apiFetch Middleware
Addon-en installerer en apiFetch middleware som avbryter WordPress REST API-forespørsler som matcher AI Client SDK-mønsteret. I stedet for å gjøre en loopback HTTP-forespørsel til serveren, videresendes disse forespørringene direkte til den lokale WebLLM-brokeren som kjører i SharedWorker.
Dette betyr at plugins og temaer som bruker standard WordPress apiFetch API for å kalle AI-endepunkter, automatisk vil dra nytte av nettlesermodellen når den er tilgjengelig, uten at det kreves kodeendringer.
Hooks og Filters
Filters
wpai_preferred_text_models— Registrer WebLLM nettlesermotoren som en foretrukket tekstmodell. Addon-en kretser seg inn i dette filteret automatisk når motoren er konfigurert og tilgjengelig.ultimate_webllm_widget_enabled— Overstyrer widget-aktiveringsstatusen for en spesifikk bruker eller kontekst. Returnertrueellerfalse.ultimate_webllm_auto_prompt— Endrer auto-prompt-teksten før den sendes til widgeten. Mottar prompt-strengen og den nåværendeWP_Post-objektet.
Feilsøking
Chat-widgeten vises ikke
- Bekreft at brukeren er innlogget — widgeten vises kun for autentiserte brukere
- Sjekk at Enable floating chat widget er slått på i Connector-panelet
- Verifiser at brukerens nettleser støtter WebGPU (se Krav ovenfor)
Admin-bar-indikatoren viser "Error"
Åpne nettleserutviklerkonsollen (F12) og se etter WebLLM-relaterte feil. Vanlige årsaker:
- Nettleseren støtter ikke WebGPU
- Nedlasting av modellvekter feilet — sjekk nettverkstilkoblingen og prøv å tømme IndexedDB-cachen i nettleserutviklerverktøyene (Application → IndexedDB)
- En nettleserutvidelse blokkerer SharedWorker
Modellvekter lastes ned hver gang
Addon-en bruker IndexedDB som cache-backend for å sikre at modellvektene overlever CDN-omdirigeringer. Hvis vektene lastes ned på nytt ved hvert besøk, sjekk at IndexedDB ikke blir tømt av en nettleser-personverninnstilling eller utvidelse.
Changelog
Se Changelog for full versjonshistorikk.