プラグインレジストリは中央マーケットプレイスの分散型後継です。単一の権威がそれを所有したりどのプラグインがリストされるかを決定したりすることはなく、プラグインを発見可能にするインデックス — アグリゲーター — は誰でも運用できます。サイトをレジストリに向けると、管理ダッシュボードはマーケットプレイスの代わりにそこからプラグインを閲覧してインストールします。
AT Protocol、Blueskyの背後にあるネットワーク上に構築されています。
レジストリ vs. マーケットプレイス
マーケットプレイスとレジストリの両方で、管理者は管理ダッシュボードからサンドボックスプラグインを閲覧、インストール、更新、削除できます。インストール体験 — 機能の同意、チェックサム検証、サンドボックスランナー — は同じです。カタログを誰が管理し、誰を信頼するかが異なります。
| マーケットプレイス | レジストリ | |
|---|---|---|
| 管理 | 1つの会社が所有・運営 | 中央の所有者なし;誰でもアグリゲーターを実行可能 |
| 発見 | マーケットプレイスサービスが提供 | ネットワークをインデックスするアグリゲーターが提供 |
| モデレーション | オペレーターがリストを審査し削除可能 | ラベラーがテイクダウンと検証ラベルを発行、あなたが受け入れを選択 |
| 信頼する相手 | マーケットプレイスオペレーター | 指定するアグリゲーター、および受け入れるラベラー |
特定のサイトに対していずれかを設定します。experimental.registry が設定されると、管理者の閲覧とインストールフローはレジストリを使用します。
レジストリの有効化
レジストリにはレジストリプラグインが常にサンドボックスで実行されるため、sandboxRunner が必要です。ランナーの設定についてはプラグインのインストールを参照してください。
以下の設定はサイトをリファレンスアグリゲーターに向けます:
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",
},
}),
],
});
シンプルなURL文字列は省略形です。ラベラーやリリース経過時間ポリシーが必要な場合はオブジェクト形式を使用します:
emdash({
sandboxRunner: "@emdash-cms/sandbox-cloudflare",
experimental: {
registry: {
aggregatorUrl: "https://registry.emdashcms.com",
acceptLabelers: "did:plc:emdashverification",
policy: {
minimumReleaseAge: "48h",
minimumReleaseAgeExclude: ["did:plc:yourfirstpartydid"],
},
},
},
})
アグリゲーターURLは本番環境ではHTTPSである必要があります(開発環境では http://localhost が許可されます)。
設定オプション
acceptLabelers— アグリゲーターに転送されるラベラーDIDのカンマ区切りリスト。ラベラーはテイクダウンと検証ラベルを適用し、アグリゲーターはあなたが受け入れたものに従って結果をフィルタリングおよび注釈付けします。未設定の場合、アグリゲーターはオペレーターのデフォルトセットを適用します。policy.minimumReleaseAge— インストールまたはアップデートするバージョンを選択する際に、この経過時間より新しいリリースを保留し、侵害されたリリースがサイトに到達する前にテイクダウンが間に合う時間枠を広げます。期間文字列("24h"、"7d")または秒数を受け入れます。policy.minimumReleaseAgeExclude— 保留から免除されるDID。リリース頻度を明示的に受け入れたパブリッシャー(自身のファーストパーティプラグインなど)向け。各エントリは裸のパブリッシャーDID、または単一パッケージを免除する<did>/<slug>ペアです。DIDのみが受け入れられ、ハンドルは受け入れられません。
閲覧とインストール
- 管理パネルを開き、プラグイン > レジストリに移動します。
- 閲覧または検索します。各結果にはパブリッシャーの検証済みハンドル、最新バージョン、およびラベルが表示されます。
- プラグインを開いてREADME、スクリーンショット、宣言されたアクセス、リリース履歴を確認します。
- インストールをクリックし、機能同意ダイアログを確認します。
- 確認します。
インストールはダウンロードしたバイトをリリースチェックサムに対して検証し、バンドルのプラグインIDとバージョンがリリースと一致することを確認し、宣言された機能が承認したものと一致することを確認します。更新とアンインストールはマーケットプレイスプラグインと同様に動作します。
信頼モデル
レジストリは分散型であるため、信頼は明示的です。プラグインをアクティベートする前に、EmDashはアーティファクトバイトのハッシュがリリースチェックサムと一致すること、バンドルが主張するプラグインIDとバージョンに対応していること、およびその機能が同意ダイアログと一致することを独立して検証します。
次に読むもの
- プラグインのインストール — マーケットプレイスおよび設定ベースのインストールフロー
- バンドルと公開 — レジストリに自分のプラグインを公開する
- レジストリへのクエリ — レジストリのディスカバリーAPIに対してプラグインディレクトリや検索ページを構築する
- 機能とセキュリティ — サンドボックスの信頼契約
- RFC 0001 — プロトコル設計、コントリビューターとアグリゲーターオペレーター向け