Le registre de plugins

Sur cette page

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.

MarketplaceRegistre
ContrôleUne entreprise le possède et l’exploitePas de propriétaire central ; n’importe qui peut exécuter un agrégateur
DécouverteServi par le service marketplaceServi par un agrégateur qui indexe le réseau
ModérationL’opérateur vérifie les listings et peut les supprimerLes labelleurs émettent des labels de retrait et de vérification que vous choisissez d’accepter
En qui vous avez confianceL’opérateur du marketplaceL’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

  1. Ouvrez le panneau d’administration et naviguez vers Plugins > Registre.
  2. Parcourez ou recherchez. Chaque résultat montre le handle vérifié du publieur, la dernière version et tout label.
  3. Ouvrez un plugin pour voir son README, ses captures d’écran, l’accès déclaré et l’historique des releases.
  4. Cliquez sur Installer et examinez le dialogue de consentement des capacités.
  5. 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