Package 与入口矩阵
区分公开包、仅供仓库内部使用的能力和不可直接导入的实现入口。
先按你要完成的任务选包;插件作者从 @pluxel/core 和实际所需能力包开始,创建应用用 @pluxel/create,装配宿主使用 Host 与显式 service 列表。
本页说明各包的用途和公开入口。private 和 exports 决定源码中的导入边界;实际可安装版本以 npm registry 和发布记录为准。
公开包
| Package | 用途 | 从哪里开始 |
|---|---|---|
@pluxel/create | 创建包含宿主、插件、前端和测试的示例项目 | 快速开始 |
@pluxel/context | 为独立宿主组合固定能力与惰性服务 | 组合 Context host |
@pluxel/core | 插件依赖、启动停止和资源生命周期 | Plugin 模型 |
@pluxel/services | 官方服务、日志、管理面与应用组合 | 组合 Host 服务 |
@pluxel/workbench | Content、View、Attachment、浏览器 SDK 与官方 Shell | View |
@pluxel/host | catalog、运行意图、图更新与原生来源启动 | 配置插件宿主 |
@pluxel/host-vite | Vite 开发/生产执行、更新与开发控制台 | CLI 与工具链 |
@pluxel/cli | 脚手架、构建、数据库、发行物、开发控制台与源码工作区命令 | CLI 与工具链 |
@pluxel/rolldown | Plugin 构建集成与源码查询 | 开发和发布插件包 |
@pluxel/test | 统一插件测试 host、Vitest/Vite preset 与文件 fixture | 测试 Plugin |
@pluxel/async | 零依赖异步组合、并发限制、重试与等待 | Async 异步组合工具 |
@pluxel/commands | command 定义、校验、live registry 与 argv/message 参数路由 | Commands |
valibot-form | Valibot 表单 metadata 与可选 Web adapter | Valibot 配置表单 |
@pluxel/plugin-auth | Workbench 与 Management API 认证 provider | Management 认证 |
@pluxel/plugin-wretch | Plugin-owned HTTP client | Wretch HTTP client |
@pluxel/plugin-playwright | 外部 CDP / Playwright 浏览器连接与原生 BrowserContext | 浏览器连接 |
@pluxel/plugin-invoice | 财政票据与数电发票的图片提取、网站适配和统一查验 | 图片票据提取与查验 |
@pluxel/plugin-fonts | 服务端字体注册与 provider | 字体 |
@pluxel/plugin-canvas | 有预算约束的服务端 Canvas、Pretext 文字准备与静态表格工具 | Canvas |
@pluxel/plugin-echarts | 服务端 ECharts 渲染 | ECharts |
@pluxel/plugin-takumi | 原生 JSX/HTML/node-tree 渲染与共享 Worker adapter | Takumi |
@pluxel/plugin-takumi-markdown | GFM、静态代码高亮与可选 Typst 数学渲染 | Markdown / Typst |
这些 package 未标记为 private,并声明了面向消费者的入口。消费者只从 package exports 导入;版本可用性以 registry 和 release metadata 为准。
@pluxel/services/management/client、/session 和 /protocol 提供浏览器管理客户端、认证会话与 DTO;/react 只提供 React Context adapter。@pluxel/workbench 提供 browser-safe Content、Direct View 与 Attachment definition,/client 提供 Shell layout/opened-handle client,/react 提供 exact descriptor hook、host facade 与 per-open renderer resources。React 入口使用宿主提供的 singleton。RPC object model 直接从 capnweb 导入。
@pluxel/commands/capnweb 与 @pluxel/commands/mcp 分别把选定 Command 投影为原生 Cap’n Web 方法与 MCP Tool;适配器不安装 server 或会话,协议依赖按入口隔离。
@pluxel/plugin-takumi/worker 供业务 Worker task 使用,在该线程内解析 JSX/HTML 并复用有界的 Renderer 缓存。宿主中的 Plugin 使用 TakumiPlugin;只传 HTML 或 node tree 时可直接调用其 *InWorker() 方法。两者都使用已有的共享 Workers 服务,详见 Takumi。
宿主服务、preset 与开发附件的组合见服务参考。开发脚本从 @pluxel/host-vite/console 导入 defineDevConsole(),调用方法见devconsole。
@pluxel/services/elysia/node 提供标准 Host launcher 使用的 listenElysia();srvx/crossws carrier 为包内实现。createElysiaHandler() 与 HTTP 服务共用 @pluxel/services/elysia 入口。Plugin 业务 HTTP 通过 @pluxel/services/elysia 的 owner capability 声明。@pluxel/services/management/http 将管理入口挂到所选 carrier;管理服务、Workbench publication 和浏览器 shell 都需显式选择。
源码查询从 @pluxel/rolldown/inspect 导入 openProject(),定位声明、依赖、配置和所选应用的输入;
不启动 Host 或执行应用模块,详见inspect 源码查询。
同包的可选入口
@pluxel/services/logging、/management、/preset 与 /vite 都属于 @pluxel/services;@pluxel/host/sources 属于 Host。安装包不等于启用所有领域:基础入口不加载未选择的日志、管理面、Workbench 或开发后端。浏览器协议、开发工具与服务安装器通过各自入口保持求值边界。
Workspace-only 能力
以下 package 标记为 private: true,不能作为普通 npm 安装依赖。只有在支持这些包的源码 workspace 中才能集成;跨仓库联调先看源码开发:
| Package | 能力 | 文档 |
|---|---|---|
@pluxel/plugin-typst | 文档会话、stateless SVG 与 Vector/PDF;/browser 预览 | Typst |
@pluxel/plugin-cache | owner-scoped cache、single-flight、backend | 缓存 |
@pluxel/plugin-rates | 按 identity 计费的频率限制 | 请求频率控制 |
@pluxel/plugin-redis | Redis client、script 与 backend | Redis |
@pluxel/plugin-storage | local/remote object storage | 对象存储 |
@pluxel/plugin-otel | traces、metrics 与 exporters | OpenTelemetry |
@pluxel/plugin-package-manager | Native/Vite 插件包管理 | Package manager |
仓库外项目不得把这些 package 视为可安装的公共依赖,也不得用源码相对路径绕过 package boundary。
实现入口
- 官方 Shell 源码位于
packages/workbench/shell/,与 Workbench SDK 同包维护,编译后作为静态资源交付。 @pluxel/host/internal*等带internal的 export 由框架自身使用,不承诺作者兼容性。
业务代码不得依赖这些实现入口。缺失的公开能力需要通过稳定 public contract 提供。
最后更新于