SuperAPI AI 工具集

sealos-app-builder

编程与开发

查看项目

更新于 10-16 02:23

技能介绍

用途

Sealos App Builder 用于把通用 Web 应用改造成运行在 Sealos Desktop 内的 Sealos 应用,或从零搭建一个新的 Sealos 应用。它聚焦于可重复的部分:SDK 初始化、会话访问、语言同步、业务数据集成、通过 Desktop 测试应用进行本地调试,以及发布准备。整体上倾向于简单、可教学、初学者能理解和扩展的实现。

主要能力

  • 识别起点:将请求归类为从零创建新 Sealos 应用、适配已有 Web 应用、为已能渲染的应用添加 Sealos 身份与业务数据集成,或产出文档/教程而非代码改动。
  • 集成 Sealos 应用 SDK:将 Sealos Desktop 集成视为根级关注点,在客户端根组件中初始化 SDK,尽早获取 getSession() 与 getLanguage(),把会话、语言、加载状态和桌面可用性存入共享上下文或 store,并在需要运行时语言同步时监听 EVENT_NAME.CHANGE_I18N。
  • 连接 Sealos 身份与业务数据:使用 session.user.id 作为稳定的应用级用户标识,按需持久化 name、avatar、k8sUsername、nsid 等展示字段,业务数据保留在应用自己的数据库和 API 路由中。
  • 本地调试:应用通常需要由 Sealos Desktop 在 iframe 中打开,getSession() 等 SDK 调用才能成功;应说明页面何时处于 Sealos Desktop 之外,优先使用 Sealos Desktop 内的测试应用做端到端验证,避免服务端 SDK 调用。
  • 发布准备:验证环境变量、数据库连接与迁移,确认应用从 Sealos Desktop 启动时可用,确认跨应用导航或事件使用有效,并总结剩余的手动注册或平台配置步骤。

使用方式

在实现根集成前,先安装 SDK:

pnpm add @labring/sealos-desktop-sdk

若项目使用其他包管理器,可用 npm install @labring/sealos-desktop-sdk 或 yarn add @labring/sealos-desktop-sdk。

可使用以下起步模板:

  • assets/templates/react/sealos-provider.tsx(React)
  • assets/templates/vue/use-sealos.ts(Vue)

若仓库已包含 Sealos 相关代码,应先检查本地源码,例如 packages/client-sdk 或等价 SDK 源码,以及 providers/ 或类似目录下的现有 provider 应用,并复用仓库既有的框架与路由模式。若仓库不含本地 Sealos 源码,则使用该技能内置的参考文档作为基线。

按需阅读参考文档:

  • references/sdk-capabilities.md:可用 SDK API 与运行时行为。
  • references/minimal-app-template.md:推荐的根集成模式。
  • references/nextjs-app-router.md:Next.js App Router 的具体放置示例。
  • references/data-integration-patterns.md:用户映射、数据库 schema 与 API 形态。
  • references/local-debug-and-test-app.md:基于 iframe 的调试与 Desktop 测试应用设置。
  • references/publish-checklist.md:发布就绪步骤。

适用场景

  • 从零创建新的 Sealos 应用。
  • 将已有 Web 应用适配到 Sealos Desktop 内运行。
  • 为已能渲染的应用添加 Sealos 身份与业务数据集成。
  • 编写关于如何构建 Sealos 应用的文档或教程。
  • 需要本地调试 Sealos 集成、准备发布上线时。

限制

  • 应用通常需要由 Sealos Desktop 在 iframe 中打开,SDK 调用才能成功;普通浏览器渲染成功不代表 Sealos 集成可用。
  • 应避免服务端 SDK 调用。
  • 应避免把 SDK 初始化分散到多个页面或组件中。
  • 默认使用官方 SDK 包名 @labring/sealos-desktop-sdk,除非目标仓库已有既定的本地工作区别名且用户明确希望保留。
  • 关于具体收费、价格、平台支持范围等信息,资料中暂未提供。