参考

Package 与入口矩阵

区分公开包、仅供仓库内部使用的能力和不可直接导入的实现入口。

先按你要完成的任务选包;通常插件作者从 @pluxel/runtime 开始,创建应用用 @pluxel/create,只有装配宿主时才直接使用 static/dynamic 包。

本页说明各包的用途和公开入口。privateexports 决定源码中的导入边界;实际可安装版本以 npm registry 和发布记录为准。

公开包

Package用途从哪里开始
@pluxel/create创建包含宿主、插件、前端和测试的示例项目快速开始
@pluxel/context为独立宿主组合固定能力与惰性服务组合 Context host
@pluxel/core插件依赖、启动停止和资源生命周期Plugin 模型
@pluxel/runtimePlugin、生命周期、配置、HTTP、日志和宿主共享契约第一个 Plugin
@pluxel/runtime-static使用固定 Plugin catalog 的宿主配置插件宿主
@pluxel/runtime-dynamic插件可由固定列表和可变文件来源共同提供的宿主配置插件宿主
@pluxel/cli脚手架、构建、数据库、发行物、HMR 与源码工作区命令CLI 与工具链
@pluxel/rolldownPlugin package 与 static application 构建集成开发和发布插件包
@pluxel/testVitest/Vite preset、filesystem fixture 与显式 unsafe lowering测试 Plugin
@pluxel/commandscommand 定义、校验、live registry 与 argv/message 参数路由Commands
@pluxel/agent-tools可选 Agent Toolset 与 command allowlist PluginAgent tools
valibot-formValibot 表单 metadata 与可选 Web adapterValibot 配置表单
@pluxel/authWorkbench 与 Management API 认证 providerManagement 认证
@pluxel/wretchPlugin-owned HTTP clientWretch HTTP client
@pluxel/fonts服务端字体注册与 provider字体
@pluxel/canvas有预算约束的服务端 Canvas、Pretext 文字准备与静态表格工具Canvas
@pluxel/echarts服务端 ECharts 渲染ECharts
@pluxel/takumi有预算约束的 HTML/node-tree 图片渲染Takumi
@pluxel/takumi-markdown有预算约束的 GFM Markdown、表格与静态代码高亮图片渲染Markdown / Typst
@pluxel/takumi-markdown-typst可选受限 Typst 数学 SVG Markdown extensionMarkdown / Typst

这些 package 未标记为 private,并声明了面向消费者的入口。消费者只从 package exports 导入;版本可用性以 registry 和 release metadata 为准。

@pluxel/runtime 还提供职责明确的 browser subpath:/web 是 Runtime session、Management Client 与 DTO; /web/react 只提供 React Context adapter;/capnweb 提供固定 RPC object model;/workbench 提供 browser-safe Content、Direct View 和 Attachment definition;/workbench/client 提供 Shell layout/opened-handle client; /workbench/react 提供 exact descriptor hook、host facade 和 Pane Kit。/web/react/workbench/react 由宿主 提供 React singleton;internal registry、generated Bridge ABI 和 raw MF Runtime 不是第三方作者入口。

Workspace-only 能力

以下 package 标记为 private: true,不能作为普通 npm 安装依赖。只有在支持这些包的源码 workspace 中才能集成;跨仓库联调先看源码开发

Package能力文档
@pluxel/cacheowner-scoped cache、single-flight、backend缓存
@pluxel/rates按 identity 计费的频率限制请求频率控制
@pluxel/redisRedis client、script 与 backendRedis
@pluxel/storagelocal/remote object storage对象存储
@pluxel/oteltraces、metrics 与 exportersOpenTelemetry
@pluxel/package-managerdynamic host package 管理Package manager
@pluxel/pi-agentPi embedded engine、goal 与 subagentPi Agent

仓库外项目不得把这些 package 视为可安装的公共依赖,也不得用源码相对路径绕过 package boundary。

不应成为用户入口的 package

  • @pluxel/runtime-dev 是开发支持层。
  • @pluxel/runtime-node 是 static/dynamic launcher 共用的 Node srvx/crossws platform carrier,不是 Plugin API 或自定义 carrier SPI。
  • @pluxel/workbench-app 是组装后的应用,不是 Plugin UI SDK。
  • @pluxel/runtime/internal* 等带 internal 的 export 由框架自身使用,不承诺作者兼容性。

业务代码不得依赖这些实现入口。缺失的公开能力需要通过稳定 public contract 提供。

选择规则

  1. 写 Plugin 时从 @pluxel/runtime 和一个明确的能力 package 开始。
  2. 装配宿主时选择 static 或 dynamic runtime,不在业务 Plugin 中依赖宿主实现。
  3. 测试 host 从所验证层的 @pluxel/core/test@pluxel/runtime/test@pluxel/runtime-static/test 导入;@pluxel/test 只使用 /vitest/fixtures/unsafe subpath,不直接 new 内部 host。
  4. 导入路径必须存在于所安装版本的 exports,且目标 package 不能是 private。
  5. package.json#exports 与真实源码 export 是入口契约;文档必须与该契约保持一致。

最后更新于

本页目录