用途
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,除非目标仓库已有既定的本地工作区别名且用户明确希望保留。
- 关于具体收费、价格、平台支持范围等信息,资料中暂未提供。