Плагинди жарыялоо
Плагин SDK менен плагин курдуңузбу? Аны эки режимде жарыялай аласыз:
- Жеке (өзүңүз үчүн) — өз инстанцияңызга каптал-жүктөө. Артефакт андан эч качан чыкпайт.
- Коомдук (баары үчүн) — PR аркылуу курацияланган расмий AiHummer каталогуна жөнөтүү.
Аналогия: .vsix файлын колдон орнотуу (жеке) vs VS Code Marketplace’ке жарыялоо
(коомдук); жеке npm реестри vs коомдук.
Жеке режим — инстанцияңызга каптал-жүктөө
Муну плагин сизге гана керек болгондо колдонуңуз: ички коннектор, ыңгайлаштырылган интеграция, тест курулушу.
Кадамдар
- Топтомду таңгактаңыз жана кол коюңуз:
aihummer plugin package ./my-plugin aihummer plugin sign --key author.key --manifest ./my-plugin/manifest.json my-plugin-1.0.0.tar.gz - Аны инстанцияга эки жолдун бири менен жүктөңүз:
- Admin UI → Plugins → “Upload plugin” — топтомду сүйрөңүз; же
- CLI:
aihummer plugin publish --private --instance https://your-instance \ --token <admin-token> my-plugin-1.0.0.tar.gz
- Капоттун астында бул
POST /v1/admin/modules/upload(multipart,integrations:write): артефактblob:шилтемеси астында инстанциянын блоб дүкөнүнө (AIHUMMER_BLOB_DIR) түшөт, ал эми каталог сабыorigin = local-private,visibility = privateменен катталат. - Плагин маркетплейсте Private деп белгиленип пайда болуп, кадимки жол менен орнотулат — изоляцияланган systemd бирдиги + ден соолук гейти.
Ишеним: бекитилген ачкыч жана ишеним дүкөнү
Жеке артефакттарга кол коюлушу керек. Белгисиз ачкыч менен кол коюлган плагинди жүктөгөндө, Админ UI сизге автордун ачкычын бекитүүнү инстанциянын ишеним дүкөнүнө сунуштайт (бир чыкылдатуу). Бекитилгенден кийин кол тамга ар бир орнотууда жана жаңылоодо текшерилет.
- Расмий булактан келген артефакттар ядрого бекитилген реестр ачкычына каршы текшерилет — демейки боюнча ишеничтүү, кошумча кадам жок.
- Жеке артефакттар инстанциянын ишеним дүкөнүндөгү ачкычтарга каршы текшерилет.
- Кол тамгасыз топтомдор четке кагылат — жергиликтүү итерация үчүн dev
режиминен башкасы:
AIHUMMER_PLUGIN_DEV_UNSIGNED=1.
[!WARNING]
AIHUMMER_PLUGIN_DEV_UNSIGNED=1кол тамга текшерүүсүн өчүрөт жана жергиликтүү иштеп чыгуу үчүн гана арналган. Аны эч качан тышкы жеткиликтүү инстанцияда иштетпеңиз.
Коомдук режим — коомдук реестр
Плагинди ар бир инстанцияга жеткиликтүү кылуу үчүн, аны коомдук реестрге
AiHummer/marketplace-catalog
PR аркылуу жөнөтүңүз: автоматташтырылган текшерүүлөр + карап чыгуу, ал эми бекитүүдө
AiHummer релизге каршы кол коёт.
Кадамдар
- Бир жолку — жарыялоочуну каттаңыз. Ачкыч түзүп, мейкиндикти ээлеңиз:
Булaihummer plugin keygen # ачык ачкычты (base64) жана ачкыч идентификаторун басып чыгарат@youмейкиндигин ээлейт. Жеке ачкычты өзүңүздө сактаңыз — ал ар бир жөнөтүүгө кол коёт. - Артефактты туруктуу HTTPS URL дарегинде хосттоңуз (артефактты AiHummer эмес, автор хосттойт).
- Каталогго PR ачыңыз:
aihummer plugin publish --public --dir ./my-plugin --key author.key \ --artifact-url https://you.example.com/my-plugin-1.0.0.tar.gz \ --publisher you --description "What the plugin does" --icon https://you.example.com/icon.svg \ [--screenshot https://you.example.com/1.png ...] [--channel stable|beta] \ [--register-key author.pub]--register-keypublishers/<you>.jsonкошот (биринчи жөнөтүүңүздө гана керек). - CI гейттери жөнөтүүнү текшерет (төмөндө караңыз), AI карап чыгуу тобокел вердиктин жайгаштырат, ал эми AiHummer тейлөөчүсү колдон карап чыгып, бириктирет.
- Бириктирүүдө релиз бекитилген реестр ачкычы менен каршы кол коюлуп, CDNде
өзүнчө
community-catalog.jsonга жарыяланат. Бул булакты кошкон ар бир инстанция плагинди көрөт; ядро ага бекитилген ачкыч аркылуу ишенет — оператор боюнча ишеним кадамы керек эмес.
Жөнөтүү келишими
PR эки файл кошот (форманы publish --public түзөт жана ал туруктуу):
publishers/<publisher>.json — бир жолку каттоо:
{
"publisher": "acme",
"public_key": "<base64 std ed25519 public key>",
"key_id": "<sha256(public_key)[:16] in hex>",
"contact": "you@example.com"
}
catalog/<publisher>/<slug>/plugin.json — жөнөтүү (ар бир версия линиясына бирден):
{
"publisher": "acme",
"slug": "hello-tool",
"namespaced_slug": "@acme/hello-tool",
"version": "1.0.0",
"channel": "stable",
"artifact_url": "https://acme.example.com/hello-tool-1.0.0.tar.gz",
"license": "MIT",
"publisher_key_id": "bd68f2deedad25b1",
"signature": "<base64 ed25519 over the release identity>",
"manifest": { "...the full Manifest object..." }
}
namespaced_slug@<publisher>/<slug>ке барабар болушу керек.channel∈stable | beta.artifact_url— автор хосттогон.tar.gz.publisher_key_idкатталган жарыялоочунунkey_idсине дал келүүсү керек.- Кол коюлган релиз идентификациясы =
slug \x00 version \x00 artifact_urlбайттары. - Коомдук жөнөтүү үчүн камтылган
manifestdescription,iconду (жана кошумчаscreenshotsту) алып жүрүшү керек — дүкөн-барак талааларын караңыз.
[!TIP]
aihummer plugin publish --publicбул файлдарды туура формада чогултуп, сиз үчүн PR ачат — JSONду колдон оңдоонун кереги жок.
Модерация
Ар бир жөнөтүү автоматташтырылган текшерүүдөн өтөт (жөнөтүү келишими, кол тамга жана коопсуздук скандоосу), андан кийин кеңеш берүүчү AI тобокел карап чыгуусунан, жана акырында AiHummer командасынын милдеттүү адамдык карап чыгуусунан. Автоматташтыруу да, AI да эч качан өзү бириктирбейт — чечим дайыма тейлөөчүнүкү, жана алардын бекитүүсүсүз эч нерсе каталогго жетпейт. Кийинчерээк зыяндуу же бузук экени табылган жарыяланган плагин жокко чыгарылып, кийинки синхрондоодо каталогдон чыгарылышы мүмкүн.
Кошумча булак катары коомдук каталог
Коомдук плагиндер курацияланган биринчи тараптын каталогун кайра жазбаган
өзүнчө community-catalog.jsonга жарыяланат. Инстанция аны Plugins →
Sources ичинде (же POST /v1/admin/modules/catalog/sources) кошумча булак
катары кошот. Караңыз:
Орнотуу жана жаңылоолор
жана Обзор жана деңгээлдер.
Эми кайда
- Плагин SDK — манифест талаалары жана
aihummer pluginбуйруктары. - Орнотуу жана жаңылоолор — көп булак, ишеним модели, кол коюлган жаңылоолор, рейтинг.
- Маркетплейс: обзор жана деңгээлдер — расмий vs коомдук реестр.