用途
iblai-vibe-house-journeys 是一个用于实现 ibl.ai 官方应用首次运行体验的技能。它定义了三种已登录用户(仅属于社区组织的用户、非所属组织的访客、组织管理员与成员)在应用首次访问时看到的界面和流程,并确保这些流程以操作系统(OS)的方式运行。该技能仅应在用户明确表示应用是 ibl.ai 官方应用时使用;其他应用应继续使用 vibe-starter 的默认首次运行流程(/setup 和空状态)。
主要能力
- 社区组织用户的只读示例体验:仅属于社区组织(main)的用户会在应用的只读示例数据上运行。所有读取操作从示例数据返回,任何修改操作会打开升级对话框,页面顶部有示例提示。侧边栏显示受试用限制的管理集群,点击会打开 SDK 升级对话框(“Subscribe to unlock full features” · Upgrade for free),这是一个 $0 Stripe 结账流程,可为用户创建自己的组织并返回应用成为其管理员。顶栏显示信用徽章(“Free” · Upgrade Plan)。
- 非所属组织访客预览:当用户通过链接进入 /platform/<org> 但不属于该组织时,会显示预览页面,包含组织 logo 和名称、Join(加入)、Create your own organization(创建自己的组织,同样 $0 结账)、Back to my organization(返回我的组织)。应用在底层运行在用户自己的组织上。
- 管理员首次运行设置流程:管理员首次访问会打开 SDK 的 OnboardingWizard 设置流程(组织 → 行业 → 邀请团队 → 完成),每个会话一次,直到完成为止。之后显示 Stripe 路径:信用徽章(计划、升级、添加信用、管理账单)和账户对话框的 Billing 标签页,402 响应会落在那里。
- 成员表单:成员会看到管理员在 Management › Onboarding 中编写的表单,最后一步包含代理,路径为 /platform/<org>/onboarding,直到他们回答;未设置时无内容。
使用方式
技能提供 assets/ 下的真实文件,这些文件仅导入 SDK、React、Next、next-intl、@/lib/iblai/config 和 @/components/loading-screen,因此可以原样放入任何 house-shell 应用。核心文件包括:
lib/iblai/house-journeys.ts:纯规则,包含 decideEntry、ownOrg、isTrialUser、createOrganizationUrl、loginReturnUrl、onboardingFlow、firstRunTarget。__tests__/house-journeys.test.ts:覆盖所有规则分支的测试。components/house/organization-preview.tsx:访客预览组件。components/house/upgrade-modal.tsx:SDK UpgradePackageModal,由 setOpenPricingModal(true) 打开。lib/iblai/sample-seam.ts:withSample(baseQuery, respond),在社区组织上读取示例数据,其他操作打开升级对话框。components/house/sample-notice.tsx:示例提示行。components/house/credit-badge.tsx:顶栏信用徽章。components/house/first-run-gate.tsx:首次运行门控。components/house/onboarding-page.tsx:SDK OnboardingWizard 在壳内的页面。e2e/journeys/house.journey.spec.ts:检查点 H1–H11。messages/house-journeys.{en,es,fr,zh}.json:四种语言的消息。
使用步骤包括:复制 assets 文件、合并消息、进行八处应用编辑(providers、平台布局、侧边栏、顶栏、账单、e2e 种子、基础查询)、在社区组织上配置示例数据、添加项目笔记,并运行验证(typecheck、lint、test、e2e)。
适用场景
适用于用户明确称为 ibl.ai 官方应用的项目,需要实现操作系统级别的首次运行体验:社区组织用户的只读示例模式、非所属组织访客预览、管理员设置流程、成员表单等。不适用于其他应用(应使用 vibe-starter 默认流程)、消费者问卷漏斗(应使用 /iblai-vibe-onboard)、向自有用户收费(应使用 /iblai-vibe-pricing 或 /iblai-vibe-monetization-app-paywall)。
限制
- 仅适用于多组织应用,运行在 house shell 上,需要 /platform/[tenantKey] 路由、SDK PlatformSidebar 和 PlatformAccountSheet、包含 requestedTenant 的 providers、next-intl 及 messages/{en,es,fr,zh}.json。
- 需要 @iblai/iblai-js 2.59.0 或更高版本(UpgradePackageModal 的 checkoutUrl 在该版本引入)。
- 信用徽章仅在组织设置了 show_paywall 时显示,且对于社区组织,仅对不属于其他组织的用户显示。
- 真实加入和真实 $0 结账流程不由该技能的端到端测试证明(属于平台侧);徽章在真实仅 main 会话上的表现也未证明。
- 部分安装器可能剥离 assets/ 目录,此时相同内容在 references/app-files.md 中。