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