Ultimate AI Connector for WebLLM
Το Ultimate AI Connector for WebLLM φέρνει την inference τεχνητής νοημοσύνης (AI) απευθείας στον φυλλομετρητή (browser) στο δίκτυο multisite του WordPress σας. Εκτελεί μεγάλα γλωσσικά μοντέλα (LLM) εξ ολοκλήρου στον φυλλομετρητή χρησιμοποιώντας το WebLLM και το engine MLC — χωρίς κλειδιά API, χωρίς εξωτερικές κλήσεις, και χωρίς να διαχέεται κανένα δεδομένο εκτός της συσκευής του χρήστη.
Βασικά Χαρακτηριστικά
- Inference στον φυλλομετρητή (Browser-side inference): Το LLM τρέχει τοπικά στον φυλλομετρητή του επισκέπτη μέσω WebLLM/MLC — δεν απαιτείται GPU σε server.
- Πлавающее widget chat: Οι συνδεδεμένοι χρήστες μπορούν να δίνουν prompts στο LLM στον φυλλομετρητή απευθείας από το front end.
- Ενδείκτης κατάστασης στην admin-bar: Η πραγματική κατάσταση του engine WebLLM είναι ορατή στην admin-bar του WordPress.
- SharedWorker runtime: Πολλές καρτέλες φυλλομετρητή μοιράζονται μία συνεδρία GPU αντί να ανταγωνίζονται για πόρους GPU.
- apiFetch middleware: Οι αιτήσεις WordPress REST που ταιριάζουν με το pattern του AI Client SDK ανακατευθύνονται διαφανώς στον τοπικό WebLLM broker — χωρίς round-trip HTTP loopback.
- Widget settings UI: Ρυθμίσεις στο πάνελ του Connector για να ενεργοποιήσετε/απενεργοποιήσετε το widget chat και να ρυθμίσετε τη συμπεριφορά του auto-prompt.
- IndexedDB cache: Οι λήψεις των βαρών του μοντέλου επιβιώνουν σε redirections CDN που διακόπτουν τη default Cache API path.
- wpai filter integration: Ενσωματώνεται στο φίλτρο
wpai_preferred_text_modelsώστε το χαρακτηριστικό AI Experiments να κατευθύνεται στο engine του φυλλομετρητή όταν είναι ρυθμισμένο.
Απαιτήσεις
- WordPress 5.3 ή νεότερη
- PHP 7.4 ή νεότερη
- Plugin Ultimate Multisite (ενεργοποιημένο)
- Ένας φυλλομετρητής με υποστήριξη WebGPU (Chrome 113+, Edge 113+, ή Firefox Nightly με ενεργοποιημένο WebGPU)
Εγκατάσταση
- Ανεβάστε τα αρχεία του addon στον κατάλογο
/wp-content/plugins/ - Ενεργοποιήστε το plugin μέσω του μενού 'Plugins' στο WordPress
- Μεταβείτε στο Ultimate Multisite → AI Connector για να ρυθμίσετε το addon
Πлавающее Widget Chat
Το πλαστικό widget chat επιτρέπει σε οποιονδήποτε συνδεδεμένο χρήστη να αλληλεπιδράσει με το LLM στον φυλλομετρητή απευθείας από το front end σας, χωρίς να εγκαταλείψει τη σελίδα που βλέπει.
Τι κάνει
Όταν ενεργοποιείται, εμφανίζεται ένα εικονίδιο chat στην γωνία κάθε σελίδας front-end για τους συνδεδεμένους χρήστες. Το κλικ στο εικονίδιο ανοίγει ένα πάνελ chat όπου ο χρήστης μπορεί να πληκτρολογήσει prompts και να λάβει απαντήσεις από το τοπικά τρέχον μοντέλο WebLLM. Επειδή το μοντέλο τρέχει εξ ολοκλήρου στον φυλλομετρητή, οι απαντήσεις είναι ιδιωτικές και δεν περιλαμβάνουν καμία επεξεργασία στο server.
Ενδείκτης Κατάστασης στην Admin-Bar
Η admin-bar του WordPress περιλαμβάνει έναν ενδείκτη κατάστασης που δείχνει την τρέχουσα κατάσταση του engine WebLLM:
| Status | Meaning |
|---|---|
| Loading | Το engine MLC φορτώνει ή κατεβάζει τα βάρη του μοντέλου |
| Ready | Το μοντέλο φορτώθηκε και είναι διαθέσιμο για inference |
| Idle | Το engine φορτώθηκε, αλλά η καρτέλα SharedWorker δεν είναι ενεργή |
| Error | Το engine απέτυχε να ξεκινήσει — ελέγξτε την κονσόλα του φυλλομετρητή για λεπτομέρειες |
Ο ενδείκτης ενημερώνεται σε πραγματικό χρόνο χωρίς να απαιτείται ανανέωση σελίδας.
Πώς να Ενεργοποιήσετε ή να Απενεργοποιήσετε το Widget
- Μεταβείτε στο Ultimate Multisite → AI Connector στο network admin
- Βρείτε το πάνελ Connector
- Ενεργοποιήστε ή απενεργοποιήστε το Enable floating chat widget
- Αποθηκεύστε τις ρυθμίσεις
Το widget μπορεί επίσης να ενεργοποιηθεί ή να απενεργοποιηθεί ανά site από το ίδιο το admin του site, αν ο διαχειριστής του network έχει χορηγήσει αυτήν την ικανότητα.
Ρυθμίσεις Widget
Το πάνελ Connector στο Ultimate Multisite → AI Connector περιέχει τις ακόλουθες ρυθμίσεις για το πλαστικό widget chat:
Enable Floating Chat Widget
Ενεργοποιεί ή απενεργοποιεί το widget chat για ολόκληρο το network. Όταν είναι απενεργοποιημένο, το widget δεν εμφανίζεται σε καμία σελίδα front-end, ανεξάρτητα από τον ρόλο του χρήστη.
Default: Off
Auto-Prompt Behaviour
Ελέγχει αν το widget chat στέλνει αυτόματα ένα prompt όταν κάποιος το ανοίγει.
| Option | Behaviour |
|---|---|
| Disabled | Το widget ανοίγει σε ένα κενό chat — ο χρήστης πληκτρολογεί το δικό του prompt |
| Page context | Το widget ανοίγει με ένα προ-γεγραμμένο prompt βασισμένο στον τίτλο και το περιεχόμενο της τρέχουσας σελίδας |
| Custom prompt | Το widget ανοίγει με ένα προσαρμοσμένο prompt που ορίζετε στο πεδίο παρακάτω |
Όταν ρυθμιστεί σε Custom prompt, εμφανίζεται ένα επιπλέον πεδίο κειμένου όπου μπορείτε να εισάγετε το προεπιλεγμένο κείμενο prompt. Υποστηρίζει βασικούς μεταβλητές template:
{site_name}— το όνομα του τρέχοντος site{page_title}— ο τίτλος της τρέχουσας σελίδας{user_display_name}— το όνομα εμφάνισης του συνδεδεμένου χρήστη
Default: Disabled
SharedWorker Runtime
Η έκδοση 1.1.0 εισάγει έναν SharedWorker runtime για το engine MLC. Αuparavant, κάθε καρτέλα φυλλομετρητή που χρησιμοποιούσε WebLLM φορτώνε τη δική της έκδοση του μοντέλου, ανταγωνιζόμενη για τη μνήμη GPU και προκαλώντας προβλήματα απόδοσης σε συσκευές με περιορισμένη VRAM.
Με τον SharedWorker runtime, μία καρτέλα λειτουργεί ως host του engine. Όλες οι άλλες καρτέλες επικοινωνούν με αυτήν τη μία μόνο έκδοση μέσω του message channel του worker. Το αποτέλεσμα:
- Μία συνεδρία GPU που μοιράζεται σε όλες τις ανοιχτές καρτέλες
- Ταχύτερες απαντήσεις μόλις φορτωθεί το μοντέλο (χωρίς επαναληπτική initialisation)
- Χαμηλότερη μέγιστη χρήση μνήμης στη συσκευή
Ο SharedWorker είναι διαφανής στους χρήστες. Ο ενδείκτης κατάστασης στην admin-bar αντικατοπτρίζει πάντα την κατάσταση του κοινού engine, όχι την κάθε μεμονωμένη καρτέλα.
apiFetch Middleware
Το addon εγκαθιστά ένα middleware apiFetch που παρεμβαίνει στις αιτήσεις WordPress REST API που ταιριάζουν με το pattern του AI Client SDK. Αντί να κάνει μια αίτηση HTTP loopback στον server, αυτές οι αιτήσεις ανακατευθύνονται απευθείας στον τοπικό WebLLM broker που τρέχει στο SharedWorker.
Αυτό σημαίνει ότι τα plugins και τα themes που χρησιμοποιούν το standard WordPress apiFetch API για να καλέσουν AI endpoints θα επωφεληθούν αυτόματα από το μοντέλο στον φυλλομετρητή όταν είναι διαθέσιμο, χωρίς να απαιτούνται αλλαγές κώδικα.
Hooks και Filters
Filters
wpai_preferred_text_models— Καταχωρεί το engine του φυλλομετρητή WebLLM ως προτιμώμενο μοντέλο κειμένου. Το addon συνδέεται αυτόματα με αυτό το φίλτρο όταν το engine είναι ρυθμισμένο και διαθέσιμο.ultimate_webllm_widget_enabled— Υπεγράφει την ενεργοποιημένη κατάσταση του widget για έναν συγκεκριμένο χρήστη ή πλαίσιο. Επιστρέφειtrueήfalse.ultimate_webllm_auto_prompt— Τροποποιεί το κείμενο auto-prompt πριν σταλεί στο widget. Λαμβάνει τη string του prompt και το τρέχον αντικείμενοWP_Post.
Βトラブルシューティング
Το widget chat δεν εμφανίζεται
- Επιβεβαιώστε ότι ο χρήστης είναι συνδεδεμένος — το widget εμφανίζεται μόνο σε authenticated users.
- Ελέγξτε ότι το Enable floating chat widget είναι ενεργοποιημένο στο πάνελ Connector.
- Επιβεβαιώστε ότι ο φυλλομετρητής του χρήστη υποστηρίζει WebGPU (βλ. Απαιτήσεις παραπάνω).
Ο ενδείκτης στην admin-bar δείχνει "Error"
Ανοίξτε την κονσόλα του developer console του φυλλομετρητή (F12) και αναζητήστε τα σφάλματα που σχετίζονται με το WebLLM. Συνηθισμένες αιτίες:
- Ο φυλλομετρητής δεν υποστηρίζει WebGPU.
- Η λήψη των βαρών του μοντέλου απέτυχε — ελέγξτε τη συνδεσιμότητα του δικτύου και δοκιμάστε να καθαρίσετε το IndexedDB cache στα developer tools του φυλλομετρητή (Application → IndexedDB).
- Ένα browser extension μπλοκάρει το SharedWorker.
Τα βάρη του μοντέλου κατεβάζονται κάθε φορά
Το addon χρησιμοποιεί το IndexedDB ως backend cache για να διασφαλίσει ότι τα βάρη του μοντέλου επιβιώνουν σε redirections CDN. Εάν τα βάρη κατεβάζονται ξανά σε κάθε επίσκεψη, ελέγξτε ότι το IndexedDB δεν καθαρίζεται από κάποια ρύθμιση απορρήτου ή extension του φυλλομετρητή.
Changelog
Δείτε το Changelog για το πλήρες ιστορικό εκδόσεων.