百积木文档
开发指南平台应用、模块与 Bundle 开发

百积木平台开发

从普通资源组合开始开发 Bundle,只在需要管理外部资源时使用高级 Bundle 管理器。

百积木平台开发面向需要进入工作区、Runtime、Bundle 或百积木客户端的扩展能力。Bundle 是工作区产品的组合交付单元。Bundle Service 在数据库中维护统一的 BundleDefinition,编辑内容与不可变版本都使用 23.0.0 结构。新 Bundle 不创建或绑定 Git 仓库;发布时按明确的定义修订校验资源精确版本并创建不可变版本。 前端源代码、后端二进制和管理器服务程序都不直接打进 Bundle。

资源作者入口

Bundle 内资源的创建、编辑、查询、删除和不可变版本操作统一通过 Bundle Service;CLI 命令保持各资源的命名。Module、Agent、Skill 和平台应用的作者 API 使用 /partner/v1/bundle-service/api/**,不再直连资源定义服务。平台应用统一使用 create,重复的 create-with-project 入口退役。

作者权限在 Bundle 上统一决定。草稿编辑和更新数据库定义的资源选择不会检查整个 Bundle 是否可发布;创建资源不可变版本时校验该资源,创建 Bundle 不可变版本时校验完整交付内容。新增、修改或删除 Timer 定义后,仍需创建准确资源版本并通过 Bundle 版本安装或升级才能改变 Runtime。

独立项目、Type Definition、Issue Definition Package、应用目录与 Runtime 调用保留各自权限合同;资源定义可编辑不表示已经获得运行权限。

Bundle 中的开发对象

后端应用保持独立,通过 BuildJob、Artifact 和 Hosted Service 部署。大多数 Bundle 到这里 就已经完整,不需要开发管理器服务。

核心资源

业务 Bundle 的当前定义由数据库维护,其中 resources 统一引用:

  • Module、Platform Application、Workflow、Timer 等精确资源版本
  • 独立 PERMISSION、ROLE 等精确资源版本

Bundle 管理器不属于 resources,也不在作者清单中声明。需要管理外部业务状态时, 按Bundle 管理器设置来源 Bundle 的固定关系。管理器负责该安装中的全部本包资源及属性。

Module 的 Type Definition 精确导入属于编译期合同,由 Module 创建版本时展开和校验,不是 Bundle 安装依赖。Bundle 不声明其他 Bundle 的版本依赖,不自动安装外部提供方;跨 Bundle 服务协作通过本包 Module 的 Interface 属性显式绑定。定义可独立安装,不代表所有集成功能已经配置完成。 完整边界见安装与资源绑定。

Bundle 可以组合工作流、定时任务、独立 PERMISSION 和独立 ROLE。每个角色通过完整权限 Locator 声明 grants;Bundle 负责集合与交付,不再增加权限定义集或角色模板集。工作区成员分配与自定义角色属于运行数据。 单资源能力须由目标环境完成登记、消费者升级和引用迁移后启用,不能从文档或 CLI 版本推断部署状态。

所有 Bundle 资源遵循同一条边界:资源 Owner 只维护草稿并创建原子、不可变的精确版本;资源版本没有 DRAFT、FROZEN 或 PUBLISHED 生命周期,也没有独立审核、上架和发布命令。只有 Bundle Version 负责组合这些精确资源版本;需要公开分发时,再由 bundle market publish 提交整个 Bundle 的市场审核。

选择开发层级

层级适用情况是否需要 Bundle 管理器
普通 Bundle组合模块、平台应用、工作流、定时任务等平台资源否
可配置 Bundle安装时由用户填写 API Key、区域、已有租户编号等参数否
高级 Bundle安装、升级或卸载时需要创建、迁移、验证或回收平台外部资源是

用户手工填写已有第三方租户编号,并不等于需要管理器。只有平台必须代替用户管理外部资源 生命周期时,才进入 高级开发,并按 首次接入流程与验收完成管理器授权、启动握手与业务联调。 已有管理器的 Bundle 使用者复用登记身份,不因安装到新 Runtime 再次注册。

生命周期

在数据库中创建 Bundle
  -> 在 Bundle 内创建模块等不可变资源版本
  -> 更新统一 BundleDefinition,取得新 revision
  -> 从准确 definitionRevision 创建 Bundle Version
  -> 按精确版本选择 OWNER_ONLY、TARGETED 或 PUBLIC_DIRECT
     或独立提交 Bundle 市场审核
  -> 安装到工作区
  -> 查询资源台账
  -> 升级或卸载

继续阅读:

  1. Bundle 定义与资源边界
  2. 版本创建、市场与交付
  3. 高级 Bundle 开发

交付前按交付完整性与验收证据分别核对资源定义、后端部署和真实业务结果。

本页内容