Making the PDS extensible

Extension systems also need good directories, which we now have a stable example of in EmDash’s atproto-based plugin registry.

https://github.com/emdash-cms/emdash/blob/main/rfcs/0001-plugin-registry.md

This RFC defines a decentralized plugin registry for EmDash. The registry uses a FAIR-derived package schema on an atproto-native transport.

  • Authors publish package and release records to their Atmosphere account’s Personal Data Server (PDS).
  • The publisher’s PDS stores plugin bundles and listing images as atproto blobs by default. A release can name an external HTTPS URL as an alternative source.
  • Aggregators subscribe to the atproto firehose and index eligible records for discovery.
  • Installing sites resolve the signed records, retrieve artifacts from an advertised record-scoped cache, the publisher’s PDS, or the external URL, and verify every artifact checksum.

That general pattern of sandboxing is described here:

Extensible Software in the age of LLMs | Jeremy Morrell

Solid core + capability-based sandboxes + LLMs = Users with superpowers


@trezy.codes is also on the forefront of extensibility with HappyView which supports WASM plugins.

5 Likes