51
单文件插件
23
已镜像进工作台
02
渲染沙箱
10
插件坞上限
四页结构,一张自由画布
界面分桌面 / 插件 / 设置 / 我的四页,左侧菜单栏导航,左下角常驻登录状态。 桌面本身是一块自由画布:位置、尺寸、缩放都留在画布坐标系里, 换一台机器打开还是原样。
- 51 个plugin-lab 单文件桌面小工具
- 23 个已镜像进工作台并带精简形态
- 2 种渲染沙箱:ES Module 与 iframe
- 多窗口位置、尺寸、设置互不影响

PWT Workbench — 桌面 / 自由画布与插件坞
桌面该有的交互,一件都不少
01
自由画布
拖空白处平移、滚轮缩放、双击背景复位;拖卡片顶部栏移动,拖左右边缘调宽、拖下边缘调高、拖右下角同时调整。位置与尺寸都留在画布坐标系里。
02
双形态
每个插件同时拥有「精简组件」和「完整窗口」两种形态。精简形态是桌面上的小部件,点一下即展开成完整窗口,精简设置收在卡片设置的二级界面里。
03
多窗口独立
同一个插件可以开多个窗口,位置、尺寸、设置各自独立,关掉一个不影响另一个。开窗三个入口:右下角插件坞、卡片头的 ⧉、插件页的「+ 新建窗口」。
04
插件坞
位于右下角,是桌面唯一的「新建窗口」入口。最多同时显示 10 个,超出可搜索,还可以拖动排序,常用插件永远在手边。
05
声明式设置
插件在 manifest 里声明 settings.fields,支持 text / number / color / palette / font / select / cascade 七种字段,宿主自动渲染,不用改宿主源码。
06
背景样式
纯色、点阵、网格、光晕,或者换成自定义图片、自定义视频。桌面底色随你,插件永远清晰可读。
装、停用、隐藏、卸载
插件协议标准化(PluginManifest),下面这些是已镜像进工作台、 带精简形态的桌面小工具。plugin-lab 里一共 51 个单文件 HTML 小工具, 其中 23 个已镜像。
还有更多:桌面宠物、音量混合器、亮度色温……快捷启动器能拉取系统开始菜单的 真实应用(实测 164 个)并真正启动它们。
插件协议 + 运行时 + 桌面交互
这是一个框架式工作台的参考实现,用来验证「插件协议 + 运行时 + 桌面交互」 这套架构是否站得住。
01
插件协议 · PluginManifest
每个插件用一份清单描述自己:标识、入口、渲染方式,以及声明式的设置字段。宿主只认协议、不认具体插件,所以新增插件不需要改动宿主源码。
02
渲染层 · IframeHost / ModuleHost
两种渲染方式各管一类插件:可信插件走 ES Module,由 ModuleHost 动态 import 直接跑;第三方插件走 iframe 沙箱,由 IframeHost 隔离,宿主与插件之间通过 postMessage 总线通信。
03
刷新调度 · Scheduler
所有插件的定时刷新统一交给 Scheduler 节流调度,避免几十个小部件各自 setInterval 抢主线程。桌面再拥挤,帧率也稳得住。

PWT Workbench — 插件市场 / 安装 · 停用 · 隐藏 · 新建窗口