Instalare și actualizări
Instalarea unui plugin în AiHummer înseamnă un singur clic în interfața de administrare, dar în spatele acelui clic se află un ciclu de viață determinist, nativ pe gazdă. Platforma descarcă plugin-ul, execută pașii de instalare declarați, generează o unitate systemd izolată și consideră plugin-ul sănătos abia după ce acesta răspunde la o verificare de sănătate. Fiecare instalare se menține apoi la zi pe cont propriu.
Instalare cu un singur clic din interfața de administrare
Instalezi și gestionezi plugin-urile din interfața de administrare, care este susținută de API-ul modulului de administrare:
GET /v1/admin/modules
POST /v1/admin/modules/{slug}/install
Nu este nimic de configurat manual: alegi un plugin din catalog, dai clic pe instalare, iar deployer-ul preia controlul.
[!NOTE] Plugin-ul de memorie Einstein este integrat: se instalează automat, este marcat cu badge-ul „Integrat” și nu poate fi eliminat sau oprit.
Fluxul SystemdDeployer
În culise, SystemdDeployer execută acești pași:
- Descarcă un tarball pentru plugin-ul selectat.
- Execută pașii
install[]din manifest declarați de plugin. - Generează o unitate systemd izolată pentru plugin.
- Sondează
/healthzpână când serviciul raportează că este sănătos.
download tarball ─▶ run install[] steps ─▶ render sandboxed systemd unit ─▶ poll /healthz ─▶ active
Doar atunci când /healthz reușește instalarea este marcată ca activă — un
plugin care nu pornește nu este considerat în mod tacit ca instalat.
systemd nativ pe gazdă, izolat — nu Docker
Fiecare plugin rulează ca propriul serviciu systemd izolat. Nu există containere, nu există Docker, nu există orchestrator: un plugin este un serviciu Linux gestionat, cu propria unitate, port și restricții de izolare, supravegheat de systemd la fel ca restul instalării.
[!WARNING] AiHummer este nativ pe gazdă. Plugin-urile sunt implementate ca servicii systemd izolate dintr-un tarball de lansare — niciodată ca containere Docker. Dacă un ghid îți spune să „rulezi containerul plugin-ului”, acesta nu descrie AiHummer.
Filtrarea pe baza sănătății cu /healthz
Deployer-ul sondează endpoint-ul /healthz al plugin-ului înainte de a declara
succesul. Această poartă de sănătate este ceea ce face instalarea cu un singur
clic sigură: un plugin defect sau configurat greșit este prins în timpul
instalării, nu descoperit mai târziu în producție.
Actualizare automată per instalare
Actualizările sunt gestionate per instalare. Fiecare plugin instalat se poate actualiza automat pe propriul program, astfel încât menținerea la zi a plugin-urilor nu necesită o reinstalare manuală de fiecare dată când o versiune nouă ajunge în catalog. Același flux descărcare → pași de instalare → generare unitate → verificare de sănătate rulează atât pentru o actualizare, cât și pentru o primă instalare.
[!TIP] Deoarece actualizarea automată este per instalare, poți menține unele plugin-uri fixate, lăsând altele să urmeze cea mai recentă versiune — fiecare instalare își gestionează propriul ciclu de viață.
Catalog cu surse multiple
Catalogul nu mai este legat de o singură adresă URL. În Plugins → Sources
(interfața de administrare sau POST /v1/admin/modules/catalog/sources) poți
adăuga o sursă suplimentară — de exemplu catalogul comunității de plugin-uri
terțe. Gateway-ul sincronizează fiecare sursă activată la pornire și la intervalul
de actualizare automată.
- Sursa oficială (module proprii) este fixată și de încredere în mod implicit — un obiect separat care nu este suprascris de alte surse.
- Sursele private/comunitare sunt adăugate de operator; fiecare intrare din
catalog are un
origin, iar acelorigindecide față de ce ancoră este verificată semnătura (oficial → cheie fixată, privat → magazin de încredere).
Pentru publicarea în catalogul comunității, consultă Publicarea unui plugin.
Modelul de încredere și cheia fixată
Instalarea verifică semnătura unui plugin în funcție de sursa acestuia:
- official → verificat față de cheia de registru fixată în nucleu. De încredere în mod implicit, fără acțiune din partea operatorului.
- private (încărcare laterală) → verificat față de magazinul de încredere al instanței; cheia autorului este aprobată de operator la încărcare (un singur clic).
- nesemnat → respins, cu excepția modului de dezvoltare
(
AIHUMMER_PLUGIN_DEV_UNSIGNED=1, doar pentru dezvoltarea locală).
Actualizări semnate
O actualizare reia aceeași poartă de semnătură ca prima instalare: la trecerea la o versiune nouă, semnătura este verificată din nou față de aceeași ancoră de încredere. O actualizare nu poate ocoli verificarea — nu poți ridica nivelul de încredere printr-o actualizare.
Insigna Oficial și clasamentul
În catalogul Web UI, plugin-urile de la AiHummer poartă o insignă Official și
se clasează primele. Plugin-urile terțe apar fără insignă și se sortează după
numărul de descărcări. Indicatorul Official este derivat din origin-ul unei
intrări (official) — nu poate fi setat manual în manifest.
Unde mergi mai departe
- Prezentare generală și niveluri ale marketplace-ului — care sunt cele trei niveluri de plugin-uri.
- SDK pentru plugin-uri — fișierul
manifest.jsonai cărui pașiinstall[]îi execută acest ciclu de viață. - Publicarea unui plugin — încărcare laterală privată și registrul public.
- Integrări fără cod — adaugă instrumente OpenAPI/MCP fără un serviciu de instalat.