AiHummer
Dansk
Log indKonto
v1.0.x
{ }Swagger

Publicering af en plugin

v1.0.x · opdateret 2026-07-19

Byggede et plugin med Plugin SDK? Du kan offentliggøre det i to veje:

  • Privat (for dig selv) — side-load ind i din instans. Artefakten aldrig efterlader det.
  • Fællesskab (for alle) — udgiv gennem din personligt kabinet at my.aihummer.ru, app-butik stil: upload byggeriet, udfyld butikssiden, bestå gennemgang, og det lander i underskrevet fællesskabskatalog, som enhver instans kan installere fra.

Analogi: installation af en .vsix håndlavet (privat) vs publicering til en appbutik (fællesskab).

[!WARNING] Fællesskabets plugins kan ikke installeres lige nu — det er ikke en forbindelsesfejl. Nøglen, der signerede fællesskabskataloget, er trukket tilbage; indtil en ny nøgle udkommer, afviser signaturkontrollen disse poster. Uafhængigt af det køres tredjepartskode endnu ikke som en tjeneste på din server: indtil et isoleret kørselsmiljø findes, tillades kun integrationer, der kører hos sig selv og forbinder over netværket.

Det du ser: efter klik på «installer» vises den sædvanlige besked «installerer», men pluginet dukker aldrig op på listen over installerede. Årsagen til afvisningen havner i gatewayens log — åbn Logfiler i administrationspanelet.

Det, der virker i dag:

  • plugins fra AiHummer i det officielle katalog — de installeres som sædvanligt og bærer en anden, gyldig signatur;
  • en MCP-server over HTTP — tilsluttet som værktøjskilde uden udvikling, koden bliver hos dig;
  • en integration via OpenAPI-specifikation — det samme, uden tjeneste at installere.

Sideindlæsning af dit eget plugin består signaturkontrollen, men kører kun som fjern-MCP over HTTP eller OpenAPI-integration; et build, der skal startes som tjeneste på den samme server, afvises.

Privat tilstand — sideindlæs i din instans

Brug dette, når kun du har brug for plugin’et: en intern connector, en brugerdefineret integration, en testudgave.

Trin

  1. Pak og underskriv pakken:
    aihummer plugin package ./my-plugin
    aihummer plugin sign --key author.key --manifest ./my-plugin/manifest.json my-plugin-1.0.0.tar.gz
  2. Upload det til instansen på en af to måder:
    • Admin UI → Plugins → “Upload plugin” — træk bundtet; eller
    • CLI:
      aihummer plugin publish --private --instance https://your-instance \
        --token <admin-token> my-plugin-1.0.0.tar.gz
  3. Under motorhjelmen er dette POST /v1/admin/modules/upload (flerdelt, integrations:write): artefakten lander i instans blob-lager (AIHUMMER_BLOB_DIR) under en blob: ref, og en katalogrække er registreret med origin = local-private, visibility = private.
  4. Pluginet vises på markedspladsen med tag Privat og installerer via normal sti — sandboxet systemd-enhed + sundhedsdør.

Tillid: den fastgjorte nøgle og tillidslageret

Private artefakter skal underskrives. Når du uploader et plugin signeret med en ukendt nøgle, vil Admin UI bede dig om at godkende forfatterens nøgle ind i instansens tillidslager (et klik). Når det er godkendt, verificeres signaturen ved hver installation og opdatering.

  • Artefakter fra officiel kilde verificer mod registreringsnøgle fastgjort i kernen — tillid som standard, ingen ekstra trin.
  • Privat artefakter verificeres mod nøgler i instansens tillidslager.
  • Uunderskrevet pakker afvises — undtagen i udviklingstilstand for lokal iteration: AIHUMMER_PLUGIN_DEV_UNSIGNED=1.

[!WARNING] AIHUMMER_PLUGIN_DEV_UNSIGNED=1 deaktiverer signaturverificering og er beregnet kun til lokal udvikling. Aktivér det aldrig på en eksternt tilgængelig instans.

Fællesskabstilstand — offentliggør gennem den personlige kabine

For at gøre et plugin tilgængeligt for hver forekomst, offentliggør det fra din personligt kabinet at my.aihummer.ru, på samme måde som du udgiver en app til en app-butik. Du uploader byggeriet, udfylder butikssiden og sender det til gennemgang; en automatiseret AI-tjek kører først, derefter træffer en menneskelig moderator den endelige beslutning, og ved godkendelse bliver artefaktet signeret og offentliggjort i fællesskabets katalog.

Den fulde trin-for-trin vejledning er på Indsend et plugin. Kort sagt:

  1. Byg & pak din plugin med SDK’en (aihummer plugin package) — artefakten er en underskrevet .tar.gz bærende dens manifest.json.
  2. Åbn «Mine plugins» i skabet og opret en indsendelse: upload de artefakt, udfyld store metadata (navn & beskrivelser på RU + EN, version, ikon, skærmbilleder, kategori, valgfri donationslink, ændringslog) og deklarere kapabilitetsmanifest.
  3. Send til gennemgang. En automatiseret AI-gennemgang tjekker indsendelsen mod det anmeldelsespolitik (sikkerhed, manifest) korrekthed, fuldstændighed, indhold), så en menneskelig moderator læser rapporten og beslutter. Automationen offentliggør aldrig af sig selv.
  4. Ved godkendelse artefaktet er underskrevet og offentliggjort til en separat community-catalog.json på CDN’en. Hver forekomst, der har tilføjet fællesskabskilde ser plugin’et; kernen stoler på det via fastgjort registreringsnøgle — ingen per-operatør tillidstrin er nødvendigt.

[!NOTE] Det gamle offentlige udgivelsesflow er udfaset; kontoportal-flowet ovenfor — “Mine plugins” — er nu den eneste udgivelsesvej for fællesskabsplugins. Fællesskabsplugins er gratis; du kan tilføje et valgfrit donationslink.

[!NOTE] Førsteparts-plugins (Einstein, SIP, Bitrix24, pocket-agent, os-client) er ikke udgivet på denne måde — de sendes på deres egen AiHummer CI-pipeline og lander i den fastgjorte officielle katalog. Personalekabinet-flowet er til samfund (tredjepart) plugins.

Moderat

Hvert bidrag fra fællesskabet går igennem en automatisk kontrol (fuldstændighed, kapabilitetsmanifest, signatur og en sikkerhedsscanning), derefter en AI-risikovurdering, og endelig en obligatorisk menneskelig gennemgang af AiHummer-teamet. Hverken automatiseringen eller AI’en offentliggør nogensinde på egen hånd — beslutningen er altid en moderators, og intet når kataloget uden deres godkendelse. En offentliggjort plugin, der senere viser sig at være ondsindet eller defekt, kan blive tilbagekaldt og blev fjernet fra kataloget ved næste synkronisering.

Fællesskabskataloget som en ekstra kilde

Fællesskabsplugins bliver udgivet til en separat community-catalog.json det gør ikke overskrive den kuraterede førsteparts-katalog. En instans tilføjer det som en ekstra kilde i Plugins → Kilder (eller POST /v1/admin/modules/catalog/sources). Se Installation og opdateringer og Oversigt & niveauer.

Plugin-livscyklus (App Store)

Markedspladsen fungerer som en rigtig App Store — hver plugin har en identitet (en permanent slug + forfatter) under hvilken den afsendes versioner.

Versioner og opdateringer

En opdatering leveres som en ny version af en allerede offentliggjort plugin: den samme slug, sin egen ændringslog, sine egne anmeldelser og moderation. Kun en versionen kan være under gennemgang på et tidspunkt — du indsender den næste, efter den nuværende får en afgørelse. Når en ny version offentliggøres, markeres den tidligere superseded, og kataloget + hver enkelt forekomst flyttes til den nye.

Planlagt publicering

Efter en moderator godkender det, forfatteren kontrollerer udgivelsen: udgiv nu, eller planlæg det til et bestemt tidspunkt — plugin’et går live på det aftalte tidspunkt.

Afinstallation

  • Pause — midlertidigt skjul plugin: den fjernes fra den offentlige katalog og fra instanser (ved næste synkronisering), men bevares og kan være genudgivet på et hvilket som helst tidspunkt.
  • Fjern fra liste — fjern plugin’et fra markedspladsen for altid.

Så snart en plugin er afpubliceret (sat på pause eller fjernet fra listen), fjernes dens post fra community-catalog.json, og forekomster holder op med at vise det ved næste synkronisering.

Forfatterskab

Et plugin udgives under dit visningsnavn (f.eks. navnet på dit studie) — eller anonymt. Den offentlige katalog og web-UI’et for instansen viser det valgte navn eller ”Anonym”; din rigtige e-mail/id bliver aldrig vist.

Udviklerstatistik

Hver plugin har aggregerede statistikker: downloads, installationer, aktive forekomster og afinstallationer samt et dagligt diagram. Kun samlede tal — ingen data pr. forekomst bliver vist for udvikleren.

Udgivelsesbelønning

For hver plugin, du udgiver for første gang, dit AiHummer-abonnement får én gratis måned (tildeles én gang per plugin).

Hvorhen næste