用途
Sealos App Builder 是一个面向 Sealos Desktop 应用的开发技能,用于把通用 Web 应用改造成能在 Sealos Desktop 内运行的 Sealos 应用,或从零搭建新的 Sealos 应用,也可用于产出相关文档或教程。它的重点放在可复用的环节:SDK 初始化、会话访问、语言同步、业务数据集成、通过 Desktop 测试应用进行本地调试,以及发布准备。
该技能更适合简单、可教学、便于初学者理解和扩展的实现方式。
主要能力
技能将每次请求先分类为四种路径之一:
- 从零创建新的 Sealos 应用。
- 将现有 Web 应用适配到 Sealos Desktop 内运行。
- 为已经能渲染的应用添加 Sealos 身份与业务数据集成。
- 产出文档或教程,而不是修改代码。
在集成方面,技能要求把 Sealos Desktop 集成当作根级关注点处理,使用官方 SDK 包,并遵循以下要点:在客户端根组件中只调用一次 createSealosApp(),尽早获取 getSession() 与 getLanguage(),把会话、语言、加载状态和 Desktop 可用性放入共享上下文或 store,需要在运行时同步语言时监听 EVENT_NAME.CHANGE_I18N,并为在 Sealos Desktop 之外打开应用时提供优雅降级。
身份与业务数据方面,技能建议使用 session.user.id 作为应用层稳定用户标识,按需持久化 name、avatar、k8sUsername、nsid 等展示字段,业务数据保留在应用自身的数据库与 API 路由中。
使用方式
SKILL.md 给出的安装命令为:
pnpm add @labring/sealos-desktop-sdk
项目使用其他包管理器时可改用:
npm install @labring/sealos-desktop-sdk
或:
yarn add @labring/sealos-desktop-sdk
技能提供了起步模板:React 使用 assets/templates/react/sealos-provider.tsx,Vue 使用 assets/templates/vue/use-sealos.ts。实施根集成前建议先阅读 references/minimal-app-template.md;若使用 Next.js App Router,还应阅读 references/nextjs-app-router.md。
技能强调按需加载参考文件:references/sdk-capabilities.md 用于了解可用 SDK API 与运行时行为,references/data-integration-patterns.md 用于用户映射、数据库 schema 与 API 形态,references/local-debug-and-test-app.md 用于 iframe 调试与 Desktop 测试应用搭建,references/publish-checklist.md 用于发布就绪步骤。
若仓库中已存在 Sealos 相关代码,应先检查本地源码,例如 packages/client-sdk 或等价 SDK 源码,以及 providers/ 或类似目录下的已有 provider 应用,并复用仓库既有框架与路由模式。本地 SDK 源码与已有 provider 应用优先于通用包参考,只有当本地源码不存在时才以官方包作为回退。
适用场景
- 需要新建一个运行在 Sealos Desktop 内的应用。
- 需要把已有 Web 应用适配进 Sealos Desktop。
- 需要为应用接入 Sealos 会话身份并映射到自身业务数据。
- 需要编写关于 Sealos 应用构建流程的教程或文档。
- 需要为发布做准备,核对环境变量、数据库连通性、迁移、Desktop 启动表现与跨应用导航或事件使用。
限制与边界
- SDK 初始化必须仅在客户端进行,服务端 SDK 初始化会中止请求。
- 缺少非 Desktop 环境降级行为会中止请求。
- 未经验证的 Desktop iframe 会中止请求。
- 代码与教程之间的歧义会在分支专属编辑前停止。
- 会话值、凭据以及完整环境值不得出现在结果文本中,需保持脱敏。
- 发布主张只有在具备 Desktop 证据后才成立;教程结果只能携带教程证据,浏览器渲染只能携带浏览器证据。
- 结果需记录 terminal_state(success|stopped|error)、branch、evidence、redaction(passed|failed)与 next_action。
- 部署交接目标是 sealos-deploy,仅在应用验证通过后才允许部署动作。
暂未提供
资料未提供收费、价格、平台支持范围、性能指标或具体效果数据。