// PLUGIN DEV

插件开发文档

会写 HTML,就会写插件。

快速开始

插件本质上就是一个网页(HTML / CSS / JS)。写好网页后,在「宇宙核」内用插件打包器一键打包成 .cbplugin 文件,发给任何用户即可安装运行。

更快的路径:AI 一键生成——在 AI 对话里描述需求("做一个电子木鱼"),AI 直接产出可安装的插件。

目录结构

插件可以是单文件,也可以是多文件目录(.cbplugin 本质是 zip 包):

my-plugin/ — 插件包结构
my-plugin/
├── manifest.json      // 插件清单(必需)
├── index.html         // 入口页面(entry 指向它)
├── style.css          // 可选资源
└── app.js             // 可选脚本

manifest.json 字段

manifest.json — 完整示例
{
  "pluginId": "a3f8c1d2-9b4e-4f6a-8c5d-1e2f3a4b5c6d",  // UUID v4 唯一标识(推荐系统自动生成)
  "id": "mobi.reader",            // 旧式短 ID(兼容)
  "name": "MOBI 阅读器",
  "version": "1.2.0",
  "author": "YuzhouHe",
  "description": "阅读 MOBI / AZW3 电子书",
  "icon": "📖",                    // Emoji / 图片 URL / Base64
  "entry": "index.html",
  "permissions": ["file.read", "storage"],
  "fileTypes": ["mobi", "azw3"]      // 文件路由:外部文件按类型自动打开
}
字段必填说明
pluginIdUUID v4 唯一标识,系统级防冲突;推荐让打包器自动生成
id旧式短 ID(如 mobi.reader),新插件建议省略,仅作兼容
name插件显示名称(中文即可)
version语义化版本号,如 1.2.0
author作者名
description一句话功能说明,用于插件市场展示
iconEmoji、图片 URL 或 Base64 图片
entry入口文件相对路径(通常 index.html
permissions权限声明(如 file.read / storage),权限中心逐项授权
fileTypes声明的文件扩展名列表,接入文件路由(外部打开自动匹配)

打包流程

  1. 选择插件类型:单文件 / 多文件目录
  2. 填写代码:粘贴 HTML 或选择文件夹
  3. 配置 manifest.json:名称 / 版本 / 入口 / 权限 / 文件类型
  4. 选择是否加密:公开插件 → .cbplugin;付费/私有插件 → .encplugin(AES 加密 + 密码两次确认防输错)
  5. 生成插件包:一键产出,可直接分享 / 导入安装
🛠️
批量打包:开发环境提供 pack_plugins.ps1 脚本,改完插件跑一次即可重新生成全部 .cbplugin(自动跳过 .git / node_modules / build 等目录)。

加密插件 .encplugin

.cbplugin.encplugin
用途公开分享付费 / 私有分发
内容明文 zipAES 加密
导入直接安装输入密码(外部打开自动弹密码框)

⚠️ 加密插件密码无法找回——忘记密码意味着插件无法解密,请妥善保管。

沙箱与权限

插件运行在沙箱 WebView 中,开放与安全兼得:

机制说明
CSP 安全头注入meta 标签 + HTTP 头双路径,限制外部脚本加载
禁用 eval / FunctionObject.defineProperty 全覆盖,禁止动态代码执行
网络限速插件网络请求限速 60 次/分钟,防滥用
路径隔离插件只能读写自己的沙盒目录(路径穿越防护)
权限中心permissions 声明 + 逐项授权,行为全程可审计
JS 桥接通过桥接 API 调用原生能力(存储 / 剪贴板 / 文件等),基础库由宿主自动注入

插件唯一标识(UUID v4)

插件 ID 使用 UUID v4(122 位随机熵),碰撞概率可忽略不计——即使用户侧 ID 重复,也不会互相覆盖或误删。推荐由打包器自动生成;手动指定时请用完整 UUID 格式(8-4-4-4-12),打包器会做格式校验。

AI 一键生成插件

在「宇宙核」的 AI 对话中直接描述需求:

AI 对话
你 → 做一个电子木鱼,点击敲击,要带声音和动画
AI → ✅ 已生成插件「电子木鱼」,可一键安装运行

AI 生成的插件自动注入基础库(存储 / 剪贴板 / 深色模式适配),生成后即可在插件中心安装使用;不满意随时在编辑页让 AI 继续改。

📤
开发了自己的插件?欢迎通过 插件投稿 让它进入插件市场(投稿通道即将上线)。
MATRIX MODE: ON — 再输入一次或按 ESC 退出