Plugin Custom UI

How plugins extend the QNTX frontend with custom glyph types, rendering, and real-time updates.

Problem

Plugins are process-isolated gRPC services. They can register HTTP endpoints (/api/{plugin}/*) and WebSocket handlers, but the frontend has no mechanism for plugins to:

All glyph types are hardcoded in glyph-registry.ts at build time. A plugin like qntx-code that wants a "Go Editor" glyph or a biotech plugin that wants a "Protein Viewer" glyph has no extension point.

Current Implementation

AT Protocol plugin (qntx-atproto) provides a feed glyph using server-rendered HTML fragments. The plugin serves HTML via HTTP endpoint, frontend fetches and mounts it into the glyph content area.

Plugins implement the UIPlugin interface which returns GlyphDef structs defining custom glyph types.

Example

AT Protocol plugin (qntx-atproto) provides a feed glyph (🦋) showing Bluesky posts.

Status

Python plugin has not been migrated to custom UI yet.

Links