SDK 与脚手架目前通过源码仓库使用,npm 发布暂缓。文档中的 registry 安装命令用于后续正式版本;当前预览请使用「第一个插件」中的源码流程。

插件文档

支持平台与限制

哪些平台与安装来源经过验证,以及 GhostBoard 对高信任插件明确不承诺的行为。

GhostBoard 只对在发行包上实际运行过的内容宣称支持。此处未列出的一律视为不支持。

平台

平台 插件支持 依据
macOS,Apple Silicon(arm64) 支持。 装载、import map、宿主服务、安装、更新、回退与安全模式已在发行包上验证。 发行验证 T0–T4、T5
macOS,Intel(x64) 待验证。 发行包存在;在宣称支持前会发布插件验证记录,并说明运行在 Intel 真机还是 Rosetta 下。 T5 平台记录
Windows x64 不支持插件。 应用可为 Windows 构建,但插件装载、安装与恢复未在 Windows 验证。 —
Linux 不支持。 无发行矩阵。 —

安装来源

  • 本地归档:.ghostboard-plugin 或 .zip,通过原生文件对话框选择。
  • URL:仅公共 https://。回环与私网地址(包括 DNS 解析或重定向之后)、URL 中的 userinfo、非 ZIP 响应、超大下载与 HTML 页面都会被拒绝。
  • 开发目录:通过原生目录对话框连接;启用时加载,变更时重载。
  • 原生文件 / 目录对话框是 macOS 系统对话框;GhostBoard 不实现自己的选择器。

运行时与数据限制

区域 限制
安装包 256 个文件、8 MiB 未压缩、无符号链接
内容批次 每事务 1–100 项;getMany 最多 500 个 ID
导入器 单批 1–100 条 Notes;分段 2–50 段 × 1–100 条(最多 5,000);100 个可检查的唯一字段
文件 readText 默认 1 MiB(最多 16 MiB)、readBytes 16 MiB、stream 256 MiB、写入 256 MiB、8 个并发写入、每次选择 16 个文件、目录每页 100 项
release 文档 1 MiB、50 条 release、8 KiB notes
存储 JSON 值;除工作区磁盘外无容量保证

GhostBoard 不承诺什么

  • 没有沙箱。 插件在应用渲染进程中以完全访问权限运行。声明的 capabilities 是给用户的信息,不是强制。签名证明作者身份的连续性,不证明安全或真实身份。
  • 不回滚任意副作用。 已注册的命令、面板、订阅、任务与被跟踪的 worker 在停用或重载时清理。挂载点之外的 DOM 改动、直接 fetch、通过 SDK 写入的文件以及任何其他外部效果都不会撤销;GhostBoard 可能提示用户重新加载窗口。
  • 挂载点之外的宿主 DOM 是私有的,任何渲染都可能改变它。修改它不受支持。
  • fake host 不是应用。 作者测试不验证布局、持久化、对话框、安装、签名校验或平台行为。
  • 旧 ES module 闭包可能在反复的开发重载中留在内存里;内存或重复行为成问题时重新加载窗口。
  • 混合撤销历史(原生画布变化与插件批次交错)按工作区与视图存在,不跨重启;按批次 ID 的显式 app.content.undo/redo 可以。
  • 宿主自有的画布结构没有 API。 宿主自带的核心节点类型不对插件开放扩展。具体来说,没有任何公开方式读写主题(Topic)标题、创建子主题、改变分支父级或顺序、干预主题排布,或订阅主题结构变化;主题只会作为 content: null 的 placement 出现在选区中,app.content 也始终只覆盖 Notes。为绕过这一点去读宿主 store 或 DOM 不受支持,且可能在任何版本失效。若将来开放,会作为新 SDK 版本中的加法 API 发布,并在参考中标注 “since host x.y”。
  • 本版本没有 Bun 或原生后端入口、没有逐 capability 审批 UI、没有应用内插件指南、没有市场。