Plugin System Map
This page maps the plugin system: loading pipeline, providers/adapters, widget pipeline, and key files.
Plugin System Map
This page maps the plugin system: loading pipeline, providers/adapters, widget pipeline, and key files.
1. Core Responsibilities
- Plugin discovery and install (local/remote)
- Manifest → Prelude → Surface lifecycle
- Permission checks and SDK version gate
- Isolated IPC and UI view mounting
2. Main Entry Points
- PluginModule:
apps/core-app/src/main/modules/plugin/plugin-module.ts - Plugin runtime:
apps/core-app/src/main/modules/plugin/plugin.ts - Plugin index:
apps/core-app/src/main/modules/plugin/index.ts - SDK version gate:
packages/utils/plugin/sdk-version.ts
3. Providers (Sources)
| Provider | Description | File |
|---|---|---|
| Local Provider | local plugins | apps/core-app/src/main/modules/plugin/providers/local-provider.ts |
| File Provider | file path plugins | apps/core-app/src/main/modules/plugin/providers/file-provider.ts |
| GitHub Provider | GitHub source | apps/core-app/src/main/modules/plugin/providers/github-provider.ts |
| NPM Provider | NPM install | apps/core-app/src/main/modules/plugin/providers/npm-provider.ts |
| TPEX Provider | internal/store source | apps/core-app/src/main/modules/plugin/providers/tpex-provider.ts |
| Registry | provider registry | apps/core-app/src/main/modules/plugin/providers/registry.ts |
4. Adapters
| Adapter | Description | File |
|---|---|---|
| Plugin Features Adapter | bridge plugin features into CoreBox | apps/core-app/src/main/modules/plugin/adapters/plugin-features-adapter.ts |
| Feature Search Tokens | tokenization for search | apps/core-app/src/main/modules/plugin/adapters/feature-search-tokens.ts |
5. Runtime and Views
- Runtime loader:
apps/core-app/src/main/modules/plugin/runtime/plugin-require.ts - Prelude compiler:
apps/core-app/src/main/modules/plugin/runtime/plugin-prelude-compiler.ts - Runtime tracker:
apps/core-app/src/main/modules/plugin/runtime/plugin-runtime-tracker.ts - View loader:
apps/core-app/src/main/modules/plugin/view/plugin-view-loader.ts
6. Widget Pipeline
| Module | Description | File |
|---|---|---|
| Widget Manager | widget lifecycle | apps/core-app/src/main/modules/plugin/widget/widget-manager.ts |
| Widget Compiler | build/compile | apps/core-app/src/main/modules/plugin/widget/widget-compiler.ts |
| Widget Loader | loader | apps/core-app/src/main/modules/plugin/widget/widget-loader.ts |
| Widget Processor | processor entry | apps/core-app/src/main/modules/plugin/widget/widget-processor.ts |
| Processors | concrete processors | apps/core-app/src/main/modules/plugin/widget/processors/ |
7. Main Flow (Mermaid)
flowchart TB
discover["Providers (Local/NPM/GitHub/TPEX)"] --> install["Installer/Resolver"]
install --> runtime["Plugin Runtime"]
runtime --> manifest["Manifest.json"]
manifest --> prelude["Prelude (index.js)"]
prelude --> surface["Surface UI (attachUIView)"]
prelude --> adapter["Feature Adapter"]
adapter --> corebox["CoreBox Search Items"]
8. Related Docs
- CoreBox behavior:
apps/nexus/content/docs/dev/architecture/corebox-and-views.en.mdc - IPC event map:
apps/nexus/content/docs/dev/architecture/transport-events.en.mdc
Was this helpful?