生成、加密与登记

区分普通开发者交付与授权发行环境的操作。

扩展 API v1按当前源码核对
本页目录

先区分三种交付物#

交付物 用途 交给谁
开发源码目录 / ZIP 阅读、编辑、逻辑和桌面测试 开发者与维护者
发行准备目录 与目标运行时匹配的准备内容和元数据 授权发行环境
正式加密组件包 在正式宿主中导入、校验和运行 最终用户

普通开发者完成源码与测试,不需要持有服务器密钥或发行私钥。正式打包、签名与发布登记由具备授权的发行方完成。

开发者提交什么#

  1. 清晰的组件源码目录及 manifest,ID、版本、类别保持一致。
  2. 功能说明、支持格式、输入与输出位置、模型或工具依赖。
  3. 最低宿主版本,以及实际测试过的宿主和系统组合。
  4. 自动化测试结果、桌面验收记录和可以公开的最小示例输入。
  5. 本次变更说明、旧项目兼容与迁移策略。
  6. 图标和资源的合法使用信息,以及需要的发行授权范围。

不要把测试账号、日志、缓存、真实调用凭证、私钥或完整用户项目混进源码交付。

授权发行方的准备操作#

以下命令在对应的授权维护环境、宿主项目根目录中执行。准备目录位于组件源码以外,并使用独立的新目录:

powershell
node scripts/prepare-component.cjs "D:/dev/my-example-task" "D:/release/prepared/my-example-task"

该工具使用项目 Electron 运行时处理源码,并生成 mrite-component-runtime.json 等发行元数据。它不是普通 ZIP 压缩命令;涉及后端字节码时,必须与目标运行环境匹配。

当前准备工具会跳过点开头目录、node_modules 以及部分密钥、映射等文件;这不是完整内容审计。仍需人工核对准备目录,尤其不能把不必要的大文件和本地配置带入正式包。

生成分类加密包#

准备与核对完成后,由已配置发行权限和连接方式的维护者执行:

powershell
# category: task
node scripts/component-publisher.cjs package "D:/release/prepared/my-example-task" "D:/release/my-example-task-1.0.0.mrite-task"

# category: tool
node scripts/component-publisher.cjs package "D:/release/prepared/my-example-tool" "D:/release/my-example-tool-1.0.0.mrite-component"

示例是两种类别的替代命令,不是要求为同一个组件各生成一份。先创建输出父目录,确认使用的准备目录和扩展名与清单类别一致。

当前工具会登记组件描述、加密内容、取得签名并核对生成文件。发行权和服务器连接由维护环境管理;普通开发者不能只在自己的机器安装一个 npm 包就获得该权限。

授权范围和发布状态#

当前工具的内部 packagePrepared 支持 scope 和 changelog 等发行选项,但上面的简化 CLI 并未提供任意范围的命令行参数。需要基础版、专业版或指定版本等限制时,维护者应使用配套发行入口或实际支持这些字段的调用,不能凭空添加不存在的 CLI 旗标。

登记内容应与当前要分发的文件一致,记录 release ID、组件 ID、版本、类别、摘要、大小和宿主要求。状态从准备、可发布到正式发布,按当前后台支持的操作完成,不修改数据库或同名覆盖来绕开校验。

生成后核对什么#

  • 本地文件摘要与登记记录一致。
  • task / tool 类别、最低宿主版本和运行元数据准确。
  • 包中只有运行需要的文件,未携带测试和敏感资料。
  • 发行范围符合业务要求,不把本次简化命令的默认范围误当成定制范围。
  • 记录的是本次最终文件,没有在登记后再次修改内容。

进入上线验收#

将最终包交给独立测试环境,按发布与上线验收验证。不要因为命令没有报错,就跳过正式宿主导入、合法授权、失败提示和旧版本更新测试。

下载本页 Markdown