写作与公文
在 Sealos Desktop 中构建或改造应用并接入…
当需要新建 Sealos 应用、把现有 Web 应用接入 Sealos Desktop、接入会话身份与业务数据、准备本地 iframe 调试或编写入门教程时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在 Sealos Desktop 中构建特定
解决思路
- 先对请求分类:1) 从零创建新的 Sealos 应用;2) 改造现有 Web 应用使其运行在 Sealos Desktop 内;3) 为已能渲染的应用添加 Sealos 身份与业务数据集成;4) 只产出文档或教程而不改代码。
- 若仓库中已有 Sealos 相关代码,先检查本地源码:查找 `packages/client-sdk` 或等价的 SDK 源码;查找 `providers/` 或类似目录下已有的 provider 应用;若仓库已有既定框架与路由模式则复用。
- 若仓库没有本地 Sealos 源码,则使用本技能内置的参考文件作为基线。
- 在使用任何 starter 模板前先安装 SDK:`pnpm add @labring/sealos-desktop-sdk`;若项目使用其他包管理器则用 `npm install @labring/sealos-desktop-sdk` 或 `yarn add @labring/sealos-desktop-sdk`。
- 在仅客户端运行的根组件中调用一次 `createSealosApp()`。
- 尽早获取 `getSession()` 和 `getLanguage()`。
- 把 session、language、loading 状态和 desktop 可用性存入共享 context 或 store。
- 当应用需要运行时语言同步时,通过 `EVENT_NAME.CHANGE_I18N` 监听语言变化。
- 为应用在 Sealos Desktop 之外打开时添加优雅降级(fallback)。
- 实现根集成前先阅读 `references/minimal-app-template.md`;若应用使用 Next.js App Router,再阅读 `references/nextjs-app-router.md`。
- 使用 starter 模板:React 用 `assets/templates/react/sealos-provider.tsx`,Vue 用 `assets/templates/vue/use-sealos.ts`。
- 用 `session.user.id` 作为稳定的应用级用户标识。
- 在有用时持久化展示用字段,如 `name`、`avatar`、`k8sUsername`、`nsid`。
- 把业务数据保存在应用自己的数据库和 API 路由中。
- 把 Sealos 用户身份建模为业务逻辑的输入,而不是整个后端。
- 需要 schema 或 API 指导时阅读 `references/data-integration-patterns.md`。
- 不要假设浏览器渲染成功就代表 Sealos 集成可用;`getSession()` 等 SDK 调用通常需要应用被 Sealos Desktop 以 iframe 方式打开才能成功。
- 当任务包含本地调试时阅读 `references/local-debug-and-test-app.md`。
- 明确提示页面何时处于 Sealos Desktop 之外。
- 端到端验证优先使用 Sealos Desktop 内的测试应用。
- 避免在服务端调用 SDK。
- 准备发布时:验证环境变量;验证数据库连通性与迁移;确认从 Sealos Desktop 启动时应用可用;确认任何跨应用导航或事件使用合法;总结剩余的手动注册或平台配置步骤。
- 使用 `references/publish-checklist.md` 作为发布检查清单。
- 默认采用最小可行的 Sealos 集成:一个根 provider 或 store、一种业务身份映射模式、一条非 Desktop 访问的 fallback 路径;避免把 SDK 初始化分散到多个页面或组件。
- 若当前工作区包含真实的 Sealos SDK 源码或已有 Sealos 应用:检查这些源码,遵循真实导出的 API 与类型,并指出与通用示例不同的仓库特有差异。
- 生成的示例与 starter 代码默认使用官方包名 `@labring/sealos-desktop-sdk`;仅当目标仓库已有既定本地 workspace 别名且用户明确要求保留时才偏离。
- 若用户问“如何构建 Sealos 应用”:给出运行时模型的简短说明、最小 SDK 集成示例、业务数据映射示例、通过 Sealos Desktop 测试应用进行本地调试的指导。
- 若用户要求修改现有应用:按顺序检查当前应用入口点、添加或重构单一根 Sealos provider、把业务 API 接到 `session.user.id`、验证 Desktop 之外的 fallback 行为。
- 若用户要求文档或教程:围绕以下结构组织输出——什么是 Sealos 应用、如何初始化 SDK、如何获取并使用 session、如何集成业务数据、如何通过 Desktop 测试应用调试、如何发布与验证。
- 按需只阅读相关参考文件:`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`(上线准备步骤)。
适用边界 · 注意事项
- 需要服务端初始化 SDK 的场景(服务端 SDK 调用会中止请求)。
- 缺少非 Desktop 访问 fallback 的场景。
- 未经真实 Sealos Desktop iframe 验证就声称可发布或集成成功的场景。