文档/插件系统落地图
通用开发

插件系统落地图

本页聚焦插件系统的加载链路、Provider/Adapter、Widget 管线与关键文件。

插件系统落地图

本页聚焦插件系统的加载链路、Provider/Adapter、Widget 管线与关键文件。

1. 核心职责

  • 插件发现与安装(本地/远端)
  • Manifest → Prelude → Surface 三层运行
  • 权限校验与 SDK 版本门槛
  • 插件 IPC 隔离与 UI 视图挂载

2. 主要入口

  • 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 版本:packages/utils/plugin/sdk-version.ts

3. Provider(插件来源)

Provider说明文件
Local Provider本地插件apps/core-app/src/main/modules/plugin/providers/local-provider.ts
File Provider文件路径插件apps/core-app/src/main/modules/plugin/providers/file-provider.ts
GitHub ProviderGitHub 拉取apps/core-app/src/main/modules/plugin/providers/github-provider.ts
NPM ProviderNPM 安装apps/core-app/src/main/modules/plugin/providers/npm-provider.ts
TPEX Provider内部/第三方市场源apps/core-app/src/main/modules/plugin/providers/tpex-provider.ts
RegistryProvider 注册表apps/core-app/src/main/modules/plugin/providers/registry.ts

4. Adapter(插件特性转译)

Adapter说明文件
Plugin Features Adapter将插件特性接入 CoreBox 搜索apps/core-app/src/main/modules/plugin/adapters/plugin-features-adapter.ts
Feature Search Tokens特性检索字段/分词apps/core-app/src/main/modules/plugin/adapters/feature-search-tokens.ts

5. Runtime 与视图

  • 运行时加载:apps/core-app/src/main/modules/plugin/runtime/plugin-require.ts
  • Prelude 编译:apps/core-app/src/main/modules/plugin/runtime/plugin-prelude-compiler.ts
  • 运行时追踪:apps/core-app/src/main/modules/plugin/runtime/plugin-runtime-tracker.ts
  • 视图加载:apps/core-app/src/main/modules/plugin/view/plugin-view-loader.ts

6. Widget 管线

模块说明文件
Widget ManagerWidget 生命周期apps/core-app/src/main/modules/plugin/widget/widget-manager.ts
Widget Compiler编译/构建apps/core-app/src/main/modules/plugin/widget/widget-compiler.ts
Widget Loader加载器apps/core-app/src/main/modules/plugin/widget/widget-loader.ts
Widget Processor处理器入口apps/core-app/src/main/modules/plugin/widget/widget-processor.ts
Processors具体处理器apps/core-app/src/main/modules/plugin/widget/processors/

7. 关键流程(Mermaid)

EXAMPLE.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. 相关文档

  • CoreBox 行为:apps/nexus/content/docs/dev/architecture/corebox-and-views.zh.mdc
  • 通道事件表:apps/nexus/content/docs/dev/architecture/transport-events.zh.mdc