Skip to content

Feature Setup wizard zh

SkimMail docs edited this page Sep 15, 2026 · 1 revision

English · Tiếng Việt · 中文

首次运行的 setup wizard 与 Setup Hub

0.1.3 起,在 1.9.0 重新设计。这一页讲的是向导本身——它的步骤, 以及取代了一个很长的线性流程的「Setup Hub」界面。它开头的 claim code 已经 在安装安全里详细讲过;这一页不再重复。

解决什么问题

从「刚装好」走到「能读邮件」,需要安全地做出一些决定(这个实例归谁所有、用 哪个数据库、公网地址是什么),既不能绕过某个不可逆的决定,也不能让一个全新 的运维者在还没连上一个邮箱之前,就直接被扔进一个有十几个标签页的设置界面。

位置

第一次没有人完成它时会自动运行。之后随时可以从 Settings ▸ About ▸ Re-run setup 再次打开——它不是一次性的关卡,完成或跳过它都不会阻止产品被 使用。

两个部分,以登录为界

登录之前(这里的任何一步都不能放在登录后面,因为此时还没有会话):

  • Claim —— 通过从日志或 CLI 读取一个一次性代码,证明坐在键盘前的人有权 访问这台主机。完整内容见安全
  • Database —— 只有在这个选择真的由你来做时才会出现:如果 DB_DRIVER 被环境变量锁定,或者数据库已经配置好了(包括切换到外部数据库重启后回到这 一步的情况),这一步会被跳过。这背后的三平面模型见配置
  • Sign-in —— 创建真正的凭证(一个 passphrase,或者第一个管理员用户,取 决于 AUTH_MODE)。claim code 在这里只需输入一次,向导会在需要的地方自 动重新发送它——早期版本要问两次,一次用来解锁数据库相关端点,一次用来创 建凭证,这两个服务端关卡今天仍然各自独立;只是 UI 不再问两次了。

登录之后,一个必须完成的步骤,然后是 hub:

  • Identity —— 实例的公网地址(BASE_URL),之所以在这里问,是因为 OAuth 的重定向 URI、WebSocket 的 origin,以及 PWA manifest 都是由它推导 出来的。
  • Setup Hub。

Setup Hub

一组状态卡片,同一个界面的两种呈现方式:

  • 首次运行只显示三张卡片——Identity、连接一个 Gmail 或 Outlook 账户 (OAuth)、添加你的第一个邮箱——刻意保持精简。一个步骤只有在产品离了它就 不能用、现在做比以后做便宜得多、或者没人能自己摸索到它的情况下,才有资格 出现在这里。其余的一切都留给你在 Settings 里自己发现。
  • Settings ▸ About 显示完整的一套——上面三个加上登录模式、storage、数据 库、connections、backup、plugins、license 和 appearance——作为一个常驻的 「这个实例到底配置好了没有」检查清单。一张对应已有 Settings 界面的卡片 (Storage、Connections、Backup、Plugins、License)会打开那个真实的界面, 而不是再实现一遍。

每张卡片显示五种状态之一——donetodoattentionblocked, 或 env(值被一个环境变量锁定,仅供了解,不能操作)。attention 是琥珀 色,刻意不用红色:它背后的东西没有坏,只是还有件事在等你去做。「添加你 的第一个账户」这张卡片是唯一的例外,即使你已经看过它,它也会一直保持琥珀 色而不会安定为「可选」,因为在连接一个邮箱之前,产品确实做不了任何有用的 事。OAuth 卡片是 blocked,而不只是「todo」,直到 BASE_URL 被设置为 止——没有它就算不出重定向 URI。

Finish 会在服务器上记录完成状态(仅限所有者),这样 hub 就不会再自动出 现。Skip 则刻意记录任何东西,所以下次还会再次提供这个 hub——这是 一个工作流上的选择,不是 bug:跳过一次 setup,和宣布它已经完成,不是一回 事。

限制

起始版本 0.1.3(first-run 流程);Setup Hub 在 1.9.0 重新设计
角色 登录前的步骤完全不需要角色;Finish 仅限所有者
重新运行 随时可以,从 Settings ▸ About
首次运行的卡片 3 张(Identity、OAuth、第一个账户)
Settings ▸ About 的卡片 完整一套——identity、登录模式、OAuth、storage、
数据库、connections、backup、plugins、license、appearance、第一个账户

它不做什么

  • 不会把产品锁住。 跳过它,或者永远不完成它,都不会妨碍 SkimMail 被使 用——它是一份检查清单,不是一把锁。
  • 不会重复其他设置界面。 一张对应已有真实 Settings 标签页的卡片,只会 打开那个标签页;storage、connections、backup、plugins 或 license 相关的 内容都不会在这里被重新实现一遍。
  • OAuth 卡片在 BASE_URL 设置之前无法操作——这是唯一真正处于 blocked 状态、而不只是「还没做」的卡片。

另请参阅

  • 安装 —— 按安装方式划分的 claim code,以及如何验证首 次启动
  • 安全 —— claim code 的详细内容
  • 配置 —— 三平面模型,以及向导 Database 步骤背后的数据 库选择
  • Accounts —— 「添加第一个账户」面板用的正是其他地 方通用的那个 Add Account 表单

SkimMail · skimmail@base101.app · 2026-09-15 · commit dffbb18

Clone this wiki locally