Ultimate AI Connector for WebLLM
Ultimate AI Connector for WebLLM носи възможността за AI инференция директно в браузъра на вашия WordPress multisite network. Той работи с големи езикови модели (LLM) изцяло в браузъра, използвайки WebLLM и MLC engine — без API ключове, без външни заявки и без данни да напускат устройството на потребителя.
Основни функции
- Инференция в браузъра: LLM работи локално в браузъра на посетителя чрез WebLLM/MLC — не е необходима GPU на сървъра
- Плуващ чат виджет: Потребителите, които са влезли в системата, могат да задават заявки към LLM в браузъра директно от фронтенда
- Индикатор за статус в Admin-bar: Видимост в реално време на състоянието на WebLLM engine в WordPress admin bar
- SharedWorker runtime: Повечето браузър табове споделят една GPU сесия, вместо да се конкурират за GPU ресурси
- apiFetch middleware: WordPress REST заявките, които съответстват на модела на AI Client SDK, се маршрутизират прозрачно към локалния WebLLM брокер — без HTTP кръгова заявка (loopback)
- UI за настройки на виджета: Панел за настройки на Connector, за да включите/изключите чат виджета и да конфигурирате поведението на автоматичните заявки (auto-prompt)
- IndexedDB кеш: Изтеглянето на теглата на моделите продължава, дори ако CDN редиректите прекъснат стандартния път на Cache API
- Интеграция с wpai filter: Хукване към филтъра
wpai_preferred_text_models, така че функцията AI Experiments да използва браузър двигателя, когато е конфигурирана
Изисквания
- WordPress 5.3 или по-висок
- PHP 7.4 или по-висок
- Плъгин Ultimate Multisite (активен)
- Браузър с поддръжка на WebGPU (Chrome 113+, Edge 113+ или Firefox Nightly с активиран WebGPU)
Инсталация
- Качете файловете на адъона в директорията
/wp-content/plugins/ - Активирайте плъгина от менюто 'Plugins' в WordPress
- Отидете на Ultimate Multisite → AI Connector, за да конфигурирате адъона
Плуващ чат виджет
Плуващият чат виджет позволява на всеки потребител, който е влезъл в системата, да взаимодейства с LLM в браузъра директно от фронтенда, без да напуска страницата, на която се намира.
Какво прави
Когато е активиран, в ъгъла на всяка фронтенд страница се появява чат икона за потребители, които са влезли в системата. Кликването върху иконата отваря чат панел, където потребителят може да пише заявки и да получава отговори от локално работещия WebLLM модел. Тъй като моделът работи изцяло в браузъра, отговорите са лични и не включват никаква сървърна обработка.
Индикатор за статус в Admin-Bar
WordPress admin bar включва индикатор за статус, който показва текущото състояние на WebLLM engine:
| Статус | Значение |
|---|---|
| Loading | MLC engine се инициализира или изтегля теглата на модела |
| Ready | Моделът е зареден и е готов за инференция |
| Idle | Engine е зареден, но SharedWorker табът не е активен |
| Error | Engine не успя да се инициализира — проверете браузърската конзола за подробности |
Индикаторът се актуализира в реално време, без да е необходимо презареждане на страницата.
Как да активирате или деактивирате виджета
- Отидете на Ultimate Multisite → AI Connector в административния панел на мрежата
- Намерете панела Connector
- Включете или изключете Enable floating chat widget
- Запазете настройките
Виджетът може да бъде активиран или деактивиран и на ниво сайт, ако администраторът на мрежата е предоставил тази възможност.
Настройки на виджета
Панелът Connector в Ultimate Multisite → AI Connector съдържа следните настройки за плуващия чат виджет:
Enable Floating Chat Widget
Включва или изключва чат виджета за цялата мрежа. Когато е деактивиран, виджетът не се появява на никаква фронтенд страница, независимо от ролята на потребителя.
По подразбиране: Изключен
Auto-Prompt Behaviour
Контролира дали чат виджетът автоматично изпраща заявка, когато потребителят го отвори.
| Опция | Поведение |
|---|---|
| Disabled | Виджетът се отваря празен чат — потребителят пише собствената си заявка |
| Page context | Виджетът се отваря с предварително попълнена заявка, базирана на заглавието и съдържанието на текущата страница |
| Custom prompt | Виджетът се отваря с персонализирана заявка, която дефинирате в полето по-долу |
Когато е зададено на Custom prompt, се появява допълнително текстово поле, където можете да въведете текста на заявката по подразбиране. Поддържа основни шаблонни променливи:
{site_name}— име на текущия сайт{page_title}— заглавие на текущата страница{user_display_name}— потребителското име на влезлия потребител
По подразбиране: Изключен
SharedWorker Runtime
Версия 1.1.0 въвежда SharedWorker runtime за MLC engine. Дори преди това, всеки браузър таб, който използва WebLLM, зареждаше собствена инстанция на модела, което създаваше конкуренция за GPU памет и причиняваше проблеми с производителността на устройства с ограничен VRAM.
С SharedWorker runtime, един таб действа като хост на engine. Всички други табове комуникират с тази единствена инстанция чрез съобщениечния канал на worker-а. Резултатът е:
- Една GPU сесия, споделена от всички отворени табове
- По-бързи отговори след зареждане на модела (без повтаряване на инициализацията)
- По-ниско пиково използване на паметта на устройството
SharedWorker е невидим за потребителите. Индикаторът за статус в admin-bar винаги отразява състоянието на споделения engine, а не на отделния таб.
apiFetch Middleware
Адъонът инсталира apiFetch middleware, който прекъсва (intercepts) заявките към WordPress REST API, които съответстват на модела на AI Client SDK. Вместо да прави HTTP заявка към сървъра (loopback), тези заявки се маршрутизират директно към локалния WebLLM брокер, работещ в SharedWorker.
Това означава, че плъгините и темите, които използват стандартния WordPress apiFetch API за извикване на AI ендпойнти, автоматично ще се възползват от браузър модела, когато той е наличен, без да е необходимо променяне на кода.
Хукове и Филтри
Филтри
wpai_preferred_text_models— Регистрира WebLLM браузър engine като предпочитан текстов модел. Адъонът хуква към този филт ър автоматично, когато engine е конфигуриран и наличен.ultimate_webllm_widget_enabled— Презаписва състоянието на включване на виджета за конкретен потребител или контекст. Връщаtrueилиfalse.ultimate_webllm_auto_prompt— Модифицира текста на автоматичната заявка, преди да бъде изпратена към виджета. Получава заявка стринга и текущияWP_Postобект.
Отстраняване на неизправности
Виджетът не се появява
- Потвърдете, че потребителят е влезъл в системата — виджетът се показва само на аутентифицирани потребители
- Проверете дали Enable floating chat widget е включен в панела Connector
- Проверете дали браузърът на потребителя по ддържа WebGPU (вижте Изисквания по-горе)
Индикаторът в admin-bar показва "Error"
Отворете браузърската конзола за разработчици (F12) и потърсете грешки, свързани с WebLLM. Чести причини:
- Браузърът не поддържа WebGPU
- Изтеглянето на теглата на модела е неуспешно — проверете свързаността към мрежата и опитайте да изчистите IndexedDB кеша в инструментите за разработчица на браузъра (Application → IndexedDB)
- Разширение на браузъра блокира SharedWorker
Теглата на модела се изтегля всеки път
Адъонът използва IndexedDB като кеш бекенд, за да гарантира, че теглата на модела оцеляват при CDN редир екти. Ако теглата се изтеглят отново при всяко посещение, проверете дали IndexedDB не се изчиства от настройки за поверителност или разширение на браузъра.
Changelog
Вижте Changelog за пълната история на версиите.