Il registro dei plugin è il successore decentralizzato del marketplace centrale. Nessuna autorità singola lo possiede o decide quali plugin sono elencati, e l’indice che rende i plugin scopribili — l’aggregatore — è qualcosa che chiunque può eseguire. Quando punti il tuo sito a un registro, il pannello di amministrazione naviga e installa plugin da lì invece che dal marketplace.
È costruito sull’AT Protocol, la rete dietro Bluesky.
Registro vs. marketplace
Sia il marketplace che il registro permettono a un amministratore di navigare, installare, aggiornare e rimuovere plugin sandboxed dal pannello di amministrazione. L’esperienza di installazione — consenso delle capacità, verifica del checksum, il runner sandbox — è la stessa. Differiscono in chi controlla il catalogo e in chi ti fidi.
| Marketplace | Registro | |
|---|---|---|
| Controllo | Un’azienda lo possiede e gestisce | Nessun proprietario centrale; chiunque può eseguire un aggregatore |
| Scoperta | Servito dal servizio marketplace | Servito da un aggregatore che indicizza la rete |
| Moderazione | L’operatore verifica i listing e può rimuoverli | I labeller emettono label di rimozione e verifica che scegli di accettare |
| Di chi ti fidi | L’operatore del marketplace | L’aggregatore a cui punti, più qualsiasi labeller che accetti |
Configuri uno o l’altro per un dato sito. Quando experimental.registry è impostato, i flussi di navigazione e installazione dell’admin usano il registro.
Abilitare il registro
Il registro richiede un sandboxRunner, perché i plugin del registro eseguono sempre in sandbox. Vedi Installare Plugin per la configurazione del runner.
La seguente configurazione punta un sito all’aggregatore di riferimento:
import { defineConfig } from "astro/config";
import emdash from "emdash/astro";
export default defineConfig({
integrations: [
emdash({
sandboxRunner: "@emdash-cms/sandbox-cloudflare",
experimental: {
registry: "https://registry.emdashcms.com",
},
}),
],
});
La stringa URL semplice è una scorciatoia. Usa la forma oggetto quando hai bisogno di un labeller o di una policy sull’età delle release:
emdash({
sandboxRunner: "@emdash-cms/sandbox-cloudflare",
experimental: {
registry: {
aggregatorUrl: "https://registry.emdashcms.com",
acceptLabelers: "did:plc:emdashverification",
policy: {
minimumReleaseAge: "48h",
minimumReleaseAgeExclude: ["did:plc:yourfirstpartydid"],
},
},
},
})
L’URL dell’aggregatore deve essere HTTPS in produzione (http://localhost è permesso in sviluppo).
Opzioni di configurazione
acceptLabelers— una lista separata da virgole di DID dei labeller inoltrati all’aggregatore. I labeller applicano label di rimozione e verifica; l’aggregatore filtra e annota i risultati secondo quelli che accetti. Quando non impostato, l’aggregatore applica il suo set operatore predefinito.policy.minimumReleaseAge— trattiene le release più recenti di questa età quando si sceglie la versione da installare o aggiornare, allargando la finestra perché una rimozione arrivi prima che una release compromessa raggiunga il tuo sito. Accetta una stringa di durata ("24h","7d") o un numero di secondi.policy.minimumReleaseAgeExclude— DID esenti dalla trattenuta, per publisher il cui ritmo di release hai esplicitamente accettato (come i tuoi plugin first-party). Ogni voce è un DID publisher nudo, o una coppia<did>/<slug>per esentare un singolo pacchetto. Solo i DID sono accettati, non gli handle.
Sfogliare e installare
- Apri il pannello di amministrazione e naviga a Plugin > Registro.
- Sfoglia o cerca. Ogni risultato mostra l’handle verificato del publisher, l’ultima versione e qualsiasi label.
- Apri un plugin per vedere il suo README, screenshot, accesso dichiarato e cronologia delle release.
- Clicca Installa e rivedi il dialogo di consenso delle capacità.
- Conferma.
L’installazione verifica i byte scaricati contro il checksum della release, conferma che l’id del plugin e la versione del bundle corrispondono alla release, e conferma che le sue capacità dichiarate corrispondono a ciò che hai approvato. Aggiornamenti e disinstallazione funzionano come per i plugin del marketplace.
Modello di fiducia
Il registro è decentralizzato, quindi la fiducia è esplicita. Prima di attivare un plugin, EmDash verifica indipendentemente che l’hash dei byte dell’artefatto corrisponda al checksum della release, che il bundle indirizzi l’id del plugin e la versione che dichiara, e che le sue capacità corrispondano al dialogo di consenso.
Cosa leggere dopo
- Installare Plugin — flussi di installazione marketplace e basati sulla configurazione
- Packaging e pubblicazione — pubblicare il proprio plugin nel registro
- Interrogare il registro — costruire una directory di plugin o pagina di ricerca contro l’API di scoperta del registro
- Capacità e sicurezza — il contratto di fiducia del sandbox
- RFC 0001 — il design del protocollo, per contributori e operatori di aggregatori