Le registre de plugins est le successeur décentralisé du marketplace central. Aucune autorité unique ne le possède ni ne décide quels plugins sont listés, et l’index qui rend les plugins découvrables — l’agrégateur — est quelque chose que n’importe qui peut exécuter. Quand vous pointez votre site vers un registre, le panneau d’administration parcourt et installe les plugins depuis là au lieu du marketplace.
Il est construit sur le AT Protocol, le réseau derrière Bluesky.
Registre vs. marketplace
Le marketplace et le registre permettent tous deux à un administrateur de parcourir, installer, mettre à jour et supprimer des plugins sandboxed depuis le panneau d’administration. L’expérience d’installation — consentement des capacités, vérification de checksum, le runner sandbox — est la même. Ils diffèrent dans qui contrôle le catalogue et en qui vous avez confiance.
| Marketplace | Registre | |
|---|---|---|
| Contrôle | Une entreprise le possède et l’exploite | Pas de propriétaire central ; n’importe qui peut exécuter un agrégateur |
| Découverte | Servi par le service marketplace | Servi par un agrégateur qui indexe le réseau |
| Modération | L’opérateur vérifie les listings et peut les supprimer | Les labelleurs émettent des labels de retrait et de vérification que vous choisissez d’accepter |
| En qui vous avez confiance | L’opérateur du marketplace | L’agrégateur vers lequel vous pointez, plus tout labelleur que vous acceptez |
Vous configurez l’un ou l’autre pour un site donné. Quand experimental.registry est défini, les flux de navigation et d’installation de l’admin utilisent le registre.
Activer le registre
Le registre nécessite un sandboxRunner, car les plugins du registre s’exécutent toujours en sandbox. Voir Installer des Plugins pour la configuration du runner.
La configuration suivante pointe un site vers l’agrégateur de référence :
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 chaîne URL simple est un raccourci. Utilisez la forme objet quand vous avez besoin d’un labelleur ou d’une politique d’âge de 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 de l’agrégateur doit être HTTPS en production (http://localhost est autorisé en développement).
Options de configuration
acceptLabelers— une liste séparée par des virgules de DIDs de labelleurs transmis à l’agrégateur. Les labelleurs appliquent des labels de retrait et de vérification ; l’agrégateur filtre et annote les résultats selon ceux que vous acceptez. Quand non défini, l’agrégateur applique son ensemble par défaut d’opérateur.policy.minimumReleaseAge— retient les releases plus récentes que cet âge lors du choix de la version à installer ou vers laquelle mettre à jour, élargissant la fenêtre pour qu’un retrait arrive avant qu’une release compromise n’atteigne votre site. Accepte une chaîne de durée ("24h","7d") ou un nombre de secondes.policy.minimumReleaseAgeExclude— DIDs exemptés de la retenue, pour les publieur dont le rythme de release vous avez explicitement accepté (comme vos propres plugins first-party). Chaque entrée est un DID de publieur nu, ou une paire<did>/<slug>pour exempter un seul package. Seuls les DIDs sont acceptés, pas les handles.
Parcourir et installer
- Ouvrez le panneau d’administration et naviguez vers Plugins > Registre.
- Parcourez ou recherchez. Chaque résultat montre le handle vérifié du publieur, la dernière version et tout label.
- Ouvrez un plugin pour voir son README, ses captures d’écran, l’accès déclaré et l’historique des releases.
- Cliquez sur Installer et examinez le dialogue de consentement des capacités.
- Confirmez.
L’installation vérifie les octets téléchargés contre le checksum de la release, confirme que l’id du plugin et la version du bundle correspondent à la release, et confirme que ses capacités déclarées correspondent à ce que vous avez approuvé. Les mises à jour et la désinstallation fonctionnent comme pour les plugins du marketplace.
Modèle de confiance
Le registre est décentralisé, donc la confiance est explicite. Avant d’activer un plugin, EmDash vérifie indépendamment que le hash des octets de l’artefact correspond au checksum de la release, que le bundle adresse l’id du plugin et la version qu’il revendique, et que ses capacités correspondent au dialogue de consentement.
À lire ensuite
- Installer des Plugins — les flux d’installation marketplace et basés sur la configuration
- Packaging et publication — publier votre propre plugin dans le registre
- Interroger le registre — construire un répertoire de plugins ou une page de recherche contre l’API de découverte du registre
- Capacités et sécurité — le contrat de confiance du sandbox
- RFC 0001 — la conception du protocole, pour les contributeurs et opérateurs d’agrégateurs