架构
一个自托管实例由少量相互配合的组件构成。
各部分
- Web 应用:一个 Next.js 应用程序,用于提供控制台、API 以及在
/editor路径下的编辑器。这是您运行的服务。 - 数据库:带有 pgvector 扩展的 Postgres。它存储您的数据,同时为 AI 向量搜索提供支持,因此您不需要单独的向量数据库。
- 对象存储:一个兼容 S3 的媒体存储。默认的自托管设置使用 MinIO,您也可以将其指向自己的 S3 存储桶。
- 身份验证:基于会话的身份验证层,支持电子邮件和密码,以及可选的 Google 和 GitHub 登录。
请求流程
浏览器加载 Web 应用程序。该应用在 Postgres 中读写您的数据,在 S3 存储中存储和提供媒体服务,并在您使用 AI 时从服务器调用您的 AI 提供商。编辑器在浏览器中运行,并通过同一应用保存数据。
单一代码库
同一代码库同时驱动托管服务和自托管。配置决定差异:在自托管中,计费功能关闭,存储使用 MinIO,并且默认情况下实例是单租户的。请参阅配置。