这是 Wonderland 动态插件的公开起步模板仓库。模板包含最小可运行的 Rust 后端、React UI、严格接口契约、校验与打包工具。插件源码和 Git 历史独立于 Core;模板不把业务默认权限或服务依赖带给新插件。
将本模板仓库检出到 Core checkout 的 plugins/template_plugin。在 Core 根目录运行创建命令,它会复制模板到 plugins/<plugin-id>,同步插件元数据、安装依赖、校验结构并初始化一个新的 Git 仓库。源模板不会被修改,Core 也不会把新插件加入自身的 Cargo 或 pnpm workspace。
pnpm run create:plugin -- --id my_plugin --name "我的插件" --author "作者名"如果模板仓库没有放在默认路径,可以指定本地目录或 Git 仓库地址:
pnpm run create:plugin -- --template .\path\to\template --id my_plugin --name "我的插件" --author "作者名"
pnpm run create:plugin -- --template "https://github.com/<owner>/<repo>.git" --id my_plugin --name "我的插件" --author "作者名"创建命令不会提交初始 Git commit 或配置远端。确认生成内容后,在新插件目录自行提交并按需添加远端。
创建成功后,插件仓库位于 plugins/my_plugin。以下命令从 Core 根目录执行:
pnpm --dir .\plugins\my_plugin run validate
pnpm --dir .\plugins\my_plugin run debugdebug 会构建 UI 和后端,再启动 Core 开发版。Core 只在 debug 构建读取开发包路径;安装时仍校验 manifest、contract、兼容性和包文件,并自动启用和启动开发插件。请先关闭现有 Core 开发版。修改代码后重新运行调试命令;当前不支持插件热重载。
Core 0.1.8 默认提供隔离 iframe 插件 UI,pnpm debug 即可使用。debug:ui 保留为旧命令别名,无需实验开关。
package/manifest.json声明插件身份、兼容范围、UI 入口、贡献点和所需能力。manifest 使用严格 schema,不要添加未定义字段。package/contract.json声明 UI 可调用的后端方法和数据结构;修改接口时同步更新 Rust 实现。src/是独立 Rust 后端,通过wonderland-plugin-sdk接入 Core。标准输出只写协议帧,诊断写到标准错误。src/commands.rs按 contract 分派方法,业务增多后再按领域拆分模块。ui/是独立 React 应用:App.tsx负责宿主生命周期,api/封装 UI Bridge,pages/放页面。不要直接调用 Tauri 命令。- Activity 是 Workspace 主工作区入口;View 是 Core 承载的辅助视图。入口和容器均由 Core 管理。
capabilities声明插件请求的 Core 服务授权。插件后端仍以当前用户权限运行,Core 不提供操作系统沙箱;安装者应审阅插件代码。
详见 PLUGIN_STRUCTURE.md,其中说明目录职责、manifest/contract、权限、用户数据、插件服务以及可选 Agent/MCP 适配器的边界。
环境要求:Windows x86_64 MSVC、Node.js 24、pnpm 11、Rust 1.98.1,以及位于 Core checkout plugins/<plugin-id> 下的插件仓库。模板当前只构建 Windows x86_64 插件。
pnpm typecheck
pnpm build
pnpm run package:pluginpnpm build生成target/dev-package,供 Core 插件管理中的手动安装使用。pnpm run package:plugin生成优化后的.wplug与 SHA-256 校验清单。pnpm run validate检查 manifest、contract、Cargo/npm 元数据、UI Bridge 身份和标准目录的一致性。
插件版本遵循 SemVer。SHA-256 清单用于发现包内容不一致,不代表发布者身份,也不是代码安全证明;模板不使用发布签名。作者信息记录在 Cargo/npm 元数据和 NOTICE.md 中,不写入当前不接受 author 字段的 manifest。
模板内容采用 Apache-2.0 许可。生成插件后请按需要更新插件许可证,并保留模板材料的署名通知。
CI 会先做独立的元数据检查,再从公开的 YueFChen/Wonderland_Assistant 仓库检出 Core,在 Windows 的 plugins/template_plugin 布局中构建和检查插件。需要测试其他 Core 仓库时,将仓库变量 WONDERLAND_CORE_REPOSITORY 设为其 owner/name;私有 Core 仓库还需配置可读取它的 WONDERLAND_CORE_CHECKOUT_TOKEN Secret。
见 CORE-COMPATIBILITY.md,包括最低版本、远程声明和发布顺序。