Насб ва навсозиҳо
Насби плагин дар AiHummer як зарбаи ягона дар интерфейси админ аст, аммо дар паси он зарба як давраи зиндагии муайян ва ба host бунёдшуда қарор дорад. Платформа плагинро боргирӣ мекунад, қадамҳои насби эъломкардаашро иҷро мекунад, як воҳиди изолятсияшудаи systemd месозад ва танҳо вақте плагинро солим мешуморад, ки он ба санҷиши саломатӣ ҷавоб диҳад. Сипас ҳар як насб худро навсозӣ нигоҳ медорад.
Насби якзарбагӣ аз интерфейси админ
Шумо плагинҳоро аз интерфейси админ насб ва идора мекунед, ки он бо API-и модули админ дастгирӣ мешавад:
GET /v1/admin/modules
POST /v1/admin/modules/{slug}/install
Ҳеҷ чизе барои дастӣ пайваст кардан нест: плагинро аз каталог интихоб кунед, насбро зер кунед ва deployer корро ба ӯҳда мегирад.
[!NOTE] Плагини хотираи Einstein — дарунсохт аст: вай ба таври худкор насб мешавад, бо нишони «Дарунсохт» ишора шудааст ва ҳазф ё қатъ карда намешавад.
Ҷараёни SystemdDeployer
Дар зери сатҳ SystemdDeployer ин қадамҳоро иҷро мекунад:
- Боргирии tarball барои плагини интихобшуда.
- Иҷрои қадамҳои
install[]-и манифест, ки аз ҷониби плагин эълом шудаанд. - Сохтани воҳиди изолятсияшудаи systemd барои плагин.
- Пурсиши
/healthzто даме хидмат саломатиро гузориш диҳад.
download tarball ─▶ run install[] steps ─▶ render sandboxed systemd unit ─▶ poll /healthz ─▶ active
Танҳо вақте ки /healthz муваффақ мешавад, насб фаъол ишора мегардад — плагине, ки
ба кор намедарояд, ба таври хомӯш насбшуда ҳисоб намешавад.
ба host бунёдшуда, изолятсияшуда systemd — на Docker
Ҳар як плагин ҳамчун хидмати изолятсияшудаи systemd-и худаш кор мекунад. Ҳеҷ контейнер, ҳеҷ Docker, ҳеҷ оркестратор нест: плагин як хидмати идорашавандаи Linux бо воҳид, порт ва маҳдудиятҳои изолятсияи худаш мебошад, ки мисли боқимондаи насб аз ҷониби systemd назорат мешавад.
[!WARNING] AiHummer ба host бунёд шудааст. Плагинҳо ҳамчун хидматҳои изолятсияшудаи systemd аз tarball-и нашр истифода мешаванд — ҳеҷ гоҳ ҳамчун контейнерҳои Docker. Агар дастуре ба шумо гӯяд, ки “контейнери плагинро иҷро кунед”, он AiHummer-ро тавсиф намекунад.
Гейти саломатӣ бо /healthz
Deployer пеш аз эълони муваффақият нуқтаи интиҳоии /healthz-и плагинро пурсиш
мекунад. Маҳз ҳамин гейти саломатӣ насби якзарбагиро бехатар мегардонад: плагини
вайрон ё нодуруст танзимшуда ҳангоми насб гирифта мешавад, на дертар дар муҳити
истеҳсолӣ кашф мегардад.
Навсозии худкори ҳар як насб
Навсозиҳо барои ҳар як насб идора мешаванд. Ҳар плагини насбшуда метавонад дар ҷадвали худаш худро навсозӣ кунад, бинобар ин нигоҳ доштани плагинҳо дар ҳолати ҷорӣ ҳар бор насби дастии аз нав талаб намекунад. Ҳамон ҷараёни боргирӣ → қадамҳои насб → сохтани воҳид → санҷиши саломатӣ барои навсозӣ мисли насби аввалин иҷро мешавад.
[!TIP] Азбаски навсозии худкор барои ҳар як насб аст, шумо метавонед баъзе плагинҳоро собит нигоҳ доред ва дигаронро бигзоред, ки навтаринро пайгирӣ кунанд — ҳар як насб давраи зиндагии худашро идора мекунад.
Каталоги бисёрманбаъ
Каталог дигар ба як URL вобаста нест. Дар Plugins → Sources (интерфейси админ
ё POST /v1/admin/modules/catalog/sources) шумо метавонед манбаи иловагӣ илова
кунед — масалан каталоги ҷамъиятии плагинҳои тарафи сеюм. Gateway ҳар манбаи
фаъолшударо ҳангоми оғоз ва дар фосилаи навсозии худкор ҳамоҳанг мекунад.
- Манбаи расмӣ (модулҳои тарафи аввал) ба таври пешфарз собит ва эътимоднок аст — объекти алоҳидае, ки аз ҷониби манбаъҳои дигар рӯйнависӣ намешавад.
- Манбаъҳои хусусӣ/ҷамъиятӣ аз ҷониби оператор илова мешаванд; ҳар вуруди каталог
як
originдорад ва ҳамонoriginмуайян мекунад, ки имзо нисбати кадом лангар тасдиқ мешавад (расмӣ → калиди собит, хусусӣ → анбори эътимод).
Барои нашр ба каталоги ҷамъиятӣ нигаред ба Нашри плагин.
Модели эътимод ва калиди собит
Насб имзои плагинро мувофиқи манбаи он тасдиқ мекунад:
- official → нисбати калиди реестри собитшуда дар core тасдиқ мешавад. Эътимоднок ба таври пешфарз, амали оператор лозим нест.
- private (бори паҳлӯӣ) → нисбати анбори эътимоди инстанс тасдиқ мешавад; калиди муаллиф ҳангоми боргузорӣ аз ҷониби оператор тасдиқ мешавад (як зарба).
- unsigned → рад мешавад, ба истиснои реҷаи dev
(
AIHUMMER_PLUGIN_DEV_UNSIGNED=1, танҳо рушди маҳаллӣ).
Навсозиҳои имзошуда
Навсозӣ ҳамон гейти имзоро дубора иҷро мекунад, ки насби аввалин дошт: ҳангоми гузаштан ба версияи нав имзо боз нисбати ҳамон лангари эътимод тасдиқ мешавад. Навсозӣ наметавонад санҷишро давр занад — шумо наметавонед тавассути навсозӣ эътимодро баланд кунед.
Нишони Расмӣ ва рейтинг
Дар каталоги Web UI плагинҳои AiHummer нишони Official-ро доранд ва дар ҷои
аввал қарор мегиранд. Плагинҳои тарафи сеюм бе нишон нишон дода мешаванд ва аз
рӯи шумораи боргириҳо мураттаб мегарданд. Парчами Official аз origin-и вуруд
(official) гирифта мешавад — онро дар манифест бо даст танзим кардан мумкин нест.
Қадами оянда
- Шарҳи бозор ва зинаҳо — се зинаи плагин чӣ ҳастанд.
- SDK-и плагин —
manifest.json-е, ки ин давраи зиндагӣ қадамҳоиinstall[]-и онро иҷро мекунад. - Нашри плагин — бори паҳлӯии хусусӣ ва реестри ҷамъиятӣ.
- Интегратсияҳои бекод — иловаи абзорҳои OpenAPI/MCP бе ягон хидмати насбшаванда.