Skip to content

feat(onboarding): 引导首次模型渠道配置【已审核 PR】 - #1553

Open
Andreaseszhang wants to merge 1 commit into
proma-ai:mainfrom
Andreaseszhang:feat/model-provider-onboarding-202608112215
Open

feat(onboarding): 引导首次模型渠道配置【已审核 PR】#1553
Andreaseszhang wants to merge 1 commit into
proma-ai:mainfrom
Andreaseszhang:feat/model-provider-onboarding-202608112215

Conversation

@Andreaseszhang

Copy link
Copy Markdown
Contributor

概述

首次完成基础 onboarding 的新用户,在没有任何已保存模型渠道时,进入主界面后会被一个不可跳过的「添加模型渠道」Dialog 覆盖:保存至少一个渠道后才能开始使用 Proma。同时允许先保存空模型渠道(模型可稍后再补充),避免用户因暂时没有可用模型被卡住。渠道创建表单中还加入了 Proma 商业版官方模型渠道的介绍与下载入口,帮助用户了解官方托管渠道。

改动

  • apps/electron/src/renderer/App.tsx — 初始化时读取渠道列表,新增 requiresInitialModelSetup 判断;onboarding 完成后若仍需首配则展示 InitialModelSetupView,并复用既有创建欢迎对话逻辑进入主界面。
  • apps/electron/src/renderer/components/onboarding/InitialModelSetupView.tsx(新增)— 覆盖在主界面上的非关闭 Dialog,禁用 Esc、遮罩点击与右上角关闭,保存渠道成功后解除。
  • apps/electron/src/renderer/lib/model-setup.ts(新增)— 首配判定:没有任何已保存渠道时要求配置;已有渠道(即使停用或无模型)不再拦截,确保存量用户升级不受影响。
  • apps/electron/src/renderer/components/settings/ChannelForm.tsx — 新增 initialSetup 模式:隐藏返回按钮;创建时允许保存空模型渠道;新增「Proma 商业版」官方渠道卡片(黑色描边主视觉、5 个官方模型图标、三列宽屏布局与下载 CTA)。
  • apps/electron/src/renderer/assets/models/official/*.png(新增)— OpenAI、Claude、DeepSeek、Moonshot、智谱 5 个官方模型图标。
  • apps/electron/package.json — 版本递增至 0.17.16

测试方法

  1. 全新开发实例(~/.proma-dev)清除已保存渠道后启动,完成基础 onboarding,确认出现「添加模型渠道」Dialog 且无法通过 Esc / 点击遮罩 / 关闭按钮跳过。
  2. 在 Dialog 中直接保存一个不含模型的渠道,确认可保存并进入主界面。
  3. 重启应用,确认有已保存渠道时不再出现该 Dialog(存量用户不被拦截)。
  4. 在常规「模型配置」页面确认商业版卡片与「下载 Proma 商业版」入口正常,宽屏下官方渠道三列展示。
  5. 通过全仓 bun run typecheckbun run --filter='@proma/electron' build:renderer

备注

  • 首配要求的是「已保存渠道」而非「可用模型」,与产品约定一致;模型条目可在进入后随时补充。
  • 商业版渠道清单为当期静态文案,后续模型/权益调整需同步维护。

Made with Proma · GitHub

首次完成 onboarding 后,若没有保存过任何模型渠道,在已加载的主界面上
强制展示渠道配置 Dialog:只有保存至少一个渠道后才能开始使用,但允许先
保存空模型渠道。渠道表单内置 Proma 商业版官方模型渠道介绍与下载入口,
并附带 5 个官方模型图标。Electron 版本递增到 0.17.16。

Made-with: Proma
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant