插件开发指南
认识插件体系:沙箱安全模型、window.toolbox API 全览、生命周期
插件开发指南
宇宙核的插件是沙箱内运行的 Web 页面(HTML/CSS/JS),通过 window.toolbox 桥接访问系统能力。插件不会获得本机文件系统或网络直连权限。
安全模型
- 插件运行在独立 WebView 沙箱,无系统权限
- 所有能力经
window.toolbox显式申请,权限在「设置 → 权限管理」中逐项控制 - 插件
toolId固定为插件自身 id(plugin:<uuid>),忽略插件传入的参数——防止插件冒领其它工具的派生密钥 - 加密数据通道由宿主侧提供(见「插件格式说明」)
window.toolbox API
| API | 说明 |
|---|---|
window.toolbox.storage.set(key, value) |
存储键值(加密通道) |
window.toolbox.storage.get(key) |
读取键值 |
window.toolbox.storage.remove(key) |
删除键值 |
window.toolbox.getKey() |
获取派生密钥(base64,需解锁) |
window.toolbox.getOldKey() |
改密迁移窗口的旧密钥(retainedOldKey,用于重包装数据) |
注意:
getKey()返回的派生密钥用于插件自身数据加密。改安全密码后,宿主会把旧密钥随getOldKey()下发,插件应据此无感重包装自己的数据密钥——这是插件数据在改密后仍可解的关键。
生命周期
- 安装:打包
.cbplugin→ 导入 → 沙箱部署 - 启动:WebView 加载入口 HTML →
toolbox注入 - 数据:
storage.*读写(加密) - 卸载:清理插件数据目录
开发建议
- 数据量小的场景直接
storage.*即可 - 需要大文件/复杂结构时,参考「插件数据管理」的目录约定
- 发布前用「插件打包器」校验清单与签名