首页/开发者文档/插件开发指南

插件开发指南

认识插件体系:沙箱安全模型、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() 下发,插件应据此无感重包装自己的数据密钥——这是插件数据在改密后仍可解的关键。

生命周期

  1. 安装:打包 .cbplugin → 导入 → 沙箱部署
  2. 启动:WebView 加载入口 HTML → toolbox 注入
  3. 数据storage.* 读写(加密)
  4. 卸载:清理插件数据目录

开发建议

  • 数据量小的场景直接 storage.* 即可
  • 需要大文件/复杂结构时,参考「插件数据管理」的目录约定
  • 发布前用「插件打包器」校验清单与签名
MATRIX MODE: ON — 再输入一次或按 ESC 退出