Marketplace și pluginuri/Publicarea unui plugin prin cabinetul personal
Publicarea unui plugin prin cabinetul personal
v1.0.x · actualizat 2026-07-19
Marketplace-ul comunității permite oricărui client înregistrat să publice un
plugin pe care toți îl pot instala — la fel cum publici o aplicație într-un magazin
de aplicații. Completezi metadatele paginii de magazin, declari de ce permisiuni are
nevoie plugin-ul tău, încarci versiunea construită și o trimiți spre recenzie.
Această pagină te ghidează prin întregul proces, pas cu pas.
[!NOTE]
Acest flux este pentru plugin-urile de comunitate (terțe) trimise prin
cabinetul personal de pe my.aihummer.ru.
Plugin-urile proprii AiHummer sunt livrate pe propriul lor canal. Plugin-urile de
comunitate sunt gratuite; poți adăuga o legătură opțională de donație.
Înainte de a începe
Un cont de cabinet personal înregistrat — înscrie-te și confirmă-l (vezi
Înregistrarea). Orice client poate trimite.
Un plugin construit — un tarball de lansare semnat produs cu
SDK-ul pentru plugin-uri (aihummer plugin package).
Dacă nu ai construit încă unul, începe de acolo.
O pictogramă și cel puțin o captură de ecran, plus descrierile pregătite în
atât rusă, cât și engleză.
Cum funcționează publicarea (imaginea de ansamblu)
Trimiterea ta parcurge un canal fix. Îi poți urmări statusul în cabinet la fiecare
pas.
Etapă
Ce se întâmplă
Cine acționează
Ciornă
Creezi intrarea și completezi metadatele; nimic nu este încă public.
Tu
Trimis
O trimiți spre recenzie.
Tu
Recenzie AI
Un agent automat verifică plugin-ul față de politica de recenzie — securitate, corectitudinea manifestului, completitudine, conținut.
Automatizare
Moderare
Un moderator uman citește raportul AI, plus artefactul și metadatele tale, și decide.
Echipa AiHummer
Publicat
La aprobare, artefactul este semnat și adăugat în catalogul comunității + fluxul public al marketplace-ului.
Echipa AiHummer
Respins
Dacă ceva nu trece, primești motivele; corectezi și retrimiți.
Tu → înapoi la Ciornă
[!IMPORTANT]
AI-ul nu publică niciodată pe cont propriu. Un om ia întotdeauna decizia
finală, iar nimic nu ajunge în catalog fără aprobarea sa.
Pasul 1 — Deschide «Plugin-urile mele»
Autentifică-te pe my.aihummer.ru, deschide secțiunea «Plugin-urile mele» și
apasă «Publică» (sau «Plugin nou»). Astfel se creează o ciornă pe care o
poți edita liber până când o trimiți.
Pasul 2 — Completează metadatele paginii de magazin
Completează fiecare câmp. Metadatele incomplete sunt unul dintre cele mai frecvente
motive pentru care o trimitere este returnată.
Câmp
Ce să introduci
Nume (RU + EN)
Numele afișat al plugin-ului în ambele limbi.
Descriere scurtă (RU + EN)
O linie pentru cardul din catalog.
Descriere completă (RU + EN)
Ce face plugin-ul, cum se folosește, de ce are nevoie. Semnificativă — nu un text de umplutură.
Categorie
Alege una din setul permis (de ex. Canale, Productivitate, Integrări, Voce, Utilitare).
Versiune
Un șir semver, de ex. 1.0.0. Fiecare trimitere nouă trebuie să o incrementeze.
Pictogramă
O imagine pătrată validă.
Capturi de ecran
Cel puțin una; arătând plugin-ul în acțiune.
Licență
Licența plugin-ului (de ex. MIT, Apache-2.0).
Pagină principală / depozit
Legătură opțională https:// către proiectul tău.
Legătură de donație
Opțional. O legătură https:// validă către o gazdă de donații binecunoscută — de exemplu Boosty, Patreon, PayPal sau YooMoney. Phishing-ul sau gazdele arbitrare sunt respinse.
Jurnal de modificări (RU + EN)
Ce s-a schimbat în această versiune.
[!TIP]
Scrie descrierile pentru un utilizator real care nu ți-a văzut niciodată
plugin-ul. „Pentru începători” este exact ce trebuie: spune ce face, când să-l
folosească și de ce are nevoie.
Pasul 3 — Declară manifestul de capabilități
Manifestul de capabilități este inima modelului de securitate. Este o declarație
scurtă și structurată a fiecărei permisiuni de care are nevoie plugin-ul tău — cu
ce gazde comunică, ce fișiere atinge, dacă rulează comenzi externe, ce canale și
acreditări folosește.
De ce să-l declari
Clienții văd permisiunile cerute înainte de a instala și consimt la ele, exact
ca la solicitarea de permisiuni a unei aplicații mobile.
Instanța folosește manifestul pentru a restricționa plugin-ul la ceea ce a
declarat.
Recenzenții verifică dacă capabilitățile tale declaratecorespund cu ceea
ce face codul în realitate. Un plugin care apelează la o permisiune pe care nu a
declarat-o este respins.
Principiul privilegiului minim
Declară doar ceea ce plugin-ul tău folosește cu adevărat și nimic mai mult. Mai
puține permisiuni înseamnă recenzie mai rapidă, consimțământ mai ușor al clientului
și mai multe instalări. Dacă nu atingi sistemul de fișiere, declară o listă goală.
Dacă nu pornești niciodată un proces, setează exec la false.
Formatul
Manifestul de capabilități este un obiect JSON cu aceste câmpuri:
Câmp
Tip
Semnificație
network
string[]
Numele de gazdă la care se conectează plugin-ul (lista sa de permisiuni de ieșire).
filesystem
string[]
Căile pe care le citește sau scrie, relative la propriul director de plugin.
exec
boolean
Dacă pornește procese externe / rulează comenzi.
channels
string[]
Canalele de mesagerie cu care se integrează (de ex. telegram).
credentials
string[]
Secrete/chei de configurare denumite pe care le folosește (niciodată valorile secretelor).
description
string
Un rezumat scurt, ușor de citit, al lucrurilor de care are nevoie și de ce.
Exemplu:
{ "network": ["api.example.com", "cdn.example.com"], "filesystem": ["./cache"], "exec": false, "channels": ["telegram"], "credentials": ["api_token"], "description": "Calls the Example API to sync tasks and posts replies to Telegram. Caches responses under its own ./cache directory. No process spawning, no other hosts."}
[!WARNING]
Nu pune secrete, token-uri sau chei reale nicăieri — nici în manifest, nici în
metadate, nici în artefact. Declară acreditările doar după nume (de ex.
api_token); clientul furnizează valoarea reală la momentul instalării. Secretele
codate direct în cod duc la o respingere automată.
Trebuie să conțină manifest.json-ul plugin-ului (manifestul SDK — tip,
versiune, punct de intrare, capabilities declarate, câmpuri de configurare).
Manifestul de capabilități pe care l-ai completat la Pasul 3 trebuie să fie
coerent cu ceea ce fac în realitate codul și manifest.json.
Tot aici atașezi pictograma și capturile de ecran, dacă nu ai făcut-o deja.
[!TIP]
Rulează aihummer plugin validate local înainte de încărcare. Contractul de
validare este același pe care îl folosește marketplace-ul, așa că un manifest care
trece local va fi acceptat și aici.
Pasul 5 — Trimite spre recenzie
Când fiecare câmp este completat și artefactul este încărcat, apasă «Trimite spre
recenzie». Cabinetul rulează mai întâi o verificare de completitudine; dacă
lipsește ceva, îți spune exact ce anume. După acceptare, statusul trece la Trimis
și apoi la Recenzie AI — nu mai trebuie să faci nimic altceva.
Pasul 6 — Urmărește statusul și citește verdictul
Deschide plugin-ul în «Plugin-urile mele» pentru a urmări statusul. Când recenzia
se termină, vei vedea unul dintre:
În moderare — recenzia automată a trecut sau a semnalat doar lucruri minore; un
om se uită acum la el. Doar așteaptă.
Respins — ceva nu a trecut. Vei vedea un verdict, un rezumat și elementele
specifice care nu au trecut (cu motivul pentru fiecare). Aceasta este lista ta de
corecturi.
Publicat — aprobat, semnat și live. Plugin-ul tău apare acum pe
marketplace-ul AiHummer și se instalează în orice instanță
care are catalogul comunității activat.
Cum să citești o respingere și să retrimiți
Deschide plugin-ul; citește elementele care nu au trecut și motivele lor.
Corectează-le — cel mai adesea este vorba de unul dintre: o descriere
lipsă/slabă, un manifest de capabilități necorespunzător, un secret codat în cod,
o legătură de donație greșită sau o versiune pe care nu ai incrementat-o.
Editează metadatele și/sau încarcă un artefact nou cu o versiune incrementată.
Apasă din nou «Trimite spre recenzie». Va parcurge din nou același canal.
[!NOTE]
O respingere nu este o pedeapsă — este o listă de verificare. Politica de
recenzie este publică tocmai pentru ca să poți
îndeplini fiecare cerință înainte de a trimite.
**Marketplace-ul comunității** permite oricărui client înregistrat să publice un
plugin pe care toți îl pot instala — la fel cum publici o aplicație într-un magazin
de aplicații. Completezi metadatele paginii de magazin, declari de ce permisiuni are
nevoie plugin-ul tău, încarci versiunea construită și o trimiți spre recenzie.
Această pagină te ghidează prin întregul proces, pas cu pas.
> [!NOTE]
> Acest flux este pentru plugin-urile de **comunitate (terțe)** trimise prin
> [cabinetul personal](/ro/v1.0/portal/overview) de pe **my.aihummer.ru**.
> Plugin-urile proprii AiHummer sunt livrate pe propriul lor canal. Plugin-urile de
> comunitate sunt **gratuite**; poți adăuga o legătură opțională de donație.
## Înainte de a începe
1. Un **cont de cabinet personal înregistrat** — înscrie-te și confirmă-l (vezi
[Înregistrarea](/ro/v1.0/portal/registration)). Orice client poate trimite.
2. Un **plugin construit** — un tarball de lansare semnat produs cu
[SDK-ul pentru plugin-uri](/ro/v1.0/marketplace/sdk) (`aihummer plugin package`).
Dacă nu ai construit încă unul, începe de acolo.
3. O **pictogramă și cel puțin o captură de ecran**, plus descrierile pregătite în
**atât rusă, cât și engleză**.
## Cum funcționează publicarea (imaginea de ansamblu)
Trimiterea ta parcurge un canal fix. Îi poți urmări statusul în cabinet la fiecare
pas.
| Etapă | Ce se întâmplă | Cine acționează |
|---|---|---|
| **Ciornă** | Creezi intrarea și completezi metadatele; nimic nu este încă public. | Tu |
| **Trimis** | O trimiți spre recenzie. | Tu |
| **Recenzie AI** | Un agent automat verifică plugin-ul față de [politica de recenzie](/ro/v1.0/marketplace/review-policy) — securitate, corectitudinea manifestului, completitudine, conținut. | Automatizare |
| **Moderare** | Un moderator uman citește raportul AI, plus artefactul și metadatele tale, și decide. | Echipa AiHummer |
| **Publicat** | La aprobare, artefactul este semnat și adăugat în catalogul comunității + fluxul public al marketplace-ului. | Echipa AiHummer |
| **Respins** | Dacă ceva nu trece, primești motivele; corectezi și retrimiți. | Tu → înapoi la Ciornă |
> [!IMPORTANT]
> AI-ul **nu** publică niciodată pe cont propriu. Un om ia întotdeauna decizia
> finală, iar nimic nu ajunge în catalog fără aprobarea sa.
## Pasul 1 — Deschide «Plugin-urile mele»
Autentifică-te pe **my.aihummer.ru**, deschide secțiunea **«Plugin-urile mele»** și
apasă **«Publică»** (sau **«Plugin nou»**). Astfel se creează o **ciornă** pe care o
poți edita liber până când o trimiți.
## Pasul 2 — Completează metadatele paginii de magazin
Completează fiecare câmp. Metadatele incomplete sunt unul dintre cele mai frecvente
motive pentru care o trimitere este returnată.
| Câmp | Ce să introduci |
|---|---|
| **Nume (RU + EN)** | Numele afișat al plugin-ului în ambele limbi. |
| **Descriere scurtă (RU + EN)** | O linie pentru cardul din catalog. |
| **Descriere completă (RU + EN)** | Ce face plugin-ul, cum se folosește, de ce are nevoie. Semnificativă — nu un text de umplutură. |
| **Categorie** | Alege una din setul permis (de ex. Canale, Productivitate, Integrări, Voce, Utilitare). |
| **Versiune** | Un șir [semver](https://semver.org), de ex. `1.0.0`. Fiecare trimitere nouă trebuie să o incrementeze. |
| **Pictogramă** | O imagine pătrată validă. |
| **Capturi de ecran** | Cel puțin una; arătând plugin-ul în acțiune. |
| **Licență** | Licența plugin-ului (de ex. MIT, Apache-2.0). |
| **Pagină principală / depozit** | Legătură opțională `https://` către proiectul tău. |
| **Legătură de donație** | Opțional. O legătură `https://` validă către o **gazdă de donații binecunoscută** — de exemplu Boosty, Patreon, PayPal sau YooMoney. Phishing-ul sau gazdele arbitrare sunt respinse. |
| **Jurnal de modificări (RU + EN)** | Ce s-a schimbat în această versiune. |
> [!TIP]
> Scrie descrierile pentru un utilizator real care nu ți-a văzut niciodată
> plugin-ul. „Pentru începători” este exact ce trebuie: spune ce face, când să-l
> folosească și de ce are nevoie.
## Pasul 3 — Declară manifestul de capabilități
**Manifestul de capabilități** este inima modelului de securitate. Este o declarație
scurtă și structurată a **fiecărei permisiuni de care are nevoie plugin-ul tău** — cu
ce gazde comunică, ce fișiere atinge, dacă rulează comenzi externe, ce canale și
acreditări folosește.
### De ce să-l declari
- Clienții văd permisiunile cerute **înainte de a instala** și consimt la ele, exact
ca la solicitarea de permisiuni a unei aplicații mobile.
- Instanța folosește manifestul pentru a **restricționa** plugin-ul la ceea ce a
declarat.
- Recenzenții verifică dacă capabilitățile tale **declarate** **corespund** cu ceea
ce face codul în realitate. Un plugin care apelează la o permisiune pe care nu a
declarat-o este respins.
### Principiul privilegiului minim
Declară **doar** ceea ce plugin-ul tău folosește cu adevărat și nimic mai mult. Mai
puține permisiuni înseamnă recenzie mai rapidă, consimțământ mai ușor al clientului
și mai multe instalări. Dacă nu atingi sistemul de fișiere, declară o listă goală.
Dacă nu pornești niciodată un proces, setează `exec` la `false`.
### Formatul
Manifestul de capabilități este un obiect JSON cu aceste câmpuri:
| Câmp | Tip | Semnificație |
|---|---|---|
| `network` | string[] | Numele de gazdă la care se conectează plugin-ul (lista sa de permisiuni de ieșire). |
| `filesystem` | string[] | Căile pe care le citește sau scrie, relative la propriul director de plugin. |
| `exec` | boolean | Dacă pornește procese externe / rulează comenzi. |
| `channels` | string[] | Canalele de mesagerie cu care se integrează (de ex. `telegram`). |
| `credentials` | string[] | Secrete/chei de configurare denumite pe care le folosește (niciodată valorile secretelor). |
| `description` | string | Un rezumat scurt, ușor de citit, al lucrurilor de care are nevoie și de ce. |
Exemplu:
```json
{
"network": ["api.example.com", "cdn.example.com"],
"filesystem": ["./cache"],
"exec": false,
"channels": ["telegram"],
"credentials": ["api_token"],
"description": "Calls the Example API to sync tasks and posts replies to Telegram. Caches responses under its own ./cache directory. No process spawning, no other hosts."
}
```
> [!WARNING]
> **Nu** pune secrete, token-uri sau chei reale nicăieri — nici în manifest, nici în
> metadate, nici în artefact. Declară acreditările **doar după nume** (de ex.
> `api_token`); clientul furnizează valoarea reală la momentul instalării. Secretele
> codate direct în cod duc la o respingere automată.
## Pasul 4 — Încarcă artefactul
Încarcă versiunea construită a plugin-ului tău:
- **Format:** un tarball de lansare `.tar.gz` produs de
[`aihummer plugin package`](/ro/v1.0/marketplace/sdk#the-cli).
- Trebuie să conțină **`manifest.json`**-ul plugin-ului (manifestul SDK — tip,
versiune, punct de intrare, `capabilities` declarate, câmpuri de configurare).
- Manifestul de capabilități pe care l-ai completat la Pasul 3 trebuie să fie
**coerent** cu ceea ce fac în realitate codul și `manifest.json`.
Tot aici atașezi **pictograma** și **capturile de ecran**, dacă nu ai făcut-o deja.
> [!TIP]
> Rulează `aihummer plugin validate` local înainte de încărcare. Contractul de
> validare este același pe care îl folosește marketplace-ul, așa că un manifest care
> trece local va fi acceptat și aici.
## Pasul 5 — Trimite spre recenzie
Când fiecare câmp este completat și artefactul este încărcat, apasă **«Trimite spre
recenzie»**. Cabinetul rulează mai întâi o verificare de completitudine; dacă
lipsește ceva, îți spune exact ce anume. După acceptare, statusul trece la **Trimis**
și apoi la **Recenzie AI** — nu mai trebuie să faci nimic altceva.
## Pasul 6 — Urmărește statusul și citește verdictul
Deschide plugin-ul în **«Plugin-urile mele»** pentru a urmări statusul. Când recenzia
se termină, vei vedea unul dintre:
- **În moderare** — recenzia automată a trecut sau a semnalat doar lucruri minore; un
om se uită acum la el. Doar așteaptă.
- **Respins** — ceva nu a trecut. Vei vedea un **verdict, un rezumat și elementele
specifice care nu au trecut** (cu motivul pentru fiecare). Aceasta este lista ta de
corecturi.
- **Publicat** — aprobat, semnat și live. Plugin-ul tău apare acum pe
[marketplace-ul AiHummer](https://aihummer.ru) și se instalează în orice instanță
care are catalogul comunității activat.
### Cum să citești o respingere și să retrimiți
1. Deschide plugin-ul; citește **elementele care nu au trecut** și motivele lor.
2. Corectează-le — cel mai adesea este vorba de unul dintre: o descriere
lipsă/slabă, un manifest de capabilități necorespunzător, un secret codat în cod,
o legătură de donație greșită sau o versiune pe care nu ai incrementat-o.
3. Editează metadatele și/sau încarcă un **artefact nou cu o versiune incrementată**.
4. Apasă din nou **«Trimite spre recenzie»**. Va parcurge din nou același canal.
> [!NOTE]
> O respingere nu este o pedeapsă — este o listă de verificare. [Politica de
> recenzie](/ro/v1.0/marketplace/review-policy) este publică tocmai pentru ca să poți
> îndeplini fiecare cerință **înainte** de a trimite.
## Unde mergi mai departe
- [Politica de recenzie și lista de verificare](/ro/v1.0/marketplace/review-policy) —
criteriile exacte față de care este verificat plugin-ul tău.
- [SDK pentru plugin-uri](/ro/v1.0/marketplace/sdk) — construiește plugin-ul și
`manifest.json`-ul său.
- [Publicarea unui plugin](/ro/v1.0/marketplace/publishing) — încărcare laterală
privată și celelalte moduri de publicare.
- [Instalare și actualizări](/ro/v1.0/marketplace/install-updates) — cum instalează
clienții și cum funcționează modelul de încredere.