用途:构建、调试、测试和分享 Sidedoor 插件。插件是含 index.tsx 的文件夹,默认导出 definePlugin({...}),由 Bun 在独立 Worker 中运行,用原生 GPUI 元素渲染,无 DOM、HTML 或 CSS;保存文件即热重载。
主要能力:使用 @sidedoor/sdk 提供的 Card、Text、Button、ListRow、Meter、Chart 等原生组件,支持设置、存储、窗口、原生数据源(weather、stats、clipboard)与测试。
使用方式:插件放在应用数据目录的 plugins/<id>/ 下(macOS 为 ~/Library/Application Support/Sidedoor/plugins/<id>/,Linux 为 ${XDG_DATA_HOME:-~/.local/share}/sidedoor/plugins/<id>/,Windows 为 %APPDATA%\Sidedoor\plugins<id>\)。可用 Settings › Plugins › New Plugin 创建。name 与 icon 须为字面量且置于 definePlugin( 之后最前。样式用 snake_case 的 GPUI 属性,事件为 on_click、on_change、on_submit,颜色用调色板 token。状态可用 useState、createStore、useStorage。检查命令:bunx -p typescript@7.0.2 tsc --noEmit -p . 与 bun test。分享时把文件夹推送到仓库或托管压缩包,用户在 Settings › Plugins › Install from URL 粘贴链接。
限制:width 被限制在 120–480 点(默认 280),高度省略时最多 600;插件拥有应用完整权限,不应读取或发送不需要的用户数据;运行时依赖用 bun install --production --ignore-scripts 安装,不可依赖安装脚本,且不要列出 @sidedoor/sdk。具体收费、价格与平台支持等资料暂未提供。