AFFiNE 的后端架构提供了驱动协作文档编辑、AI 能力、用户管理和工作区管理功能的服务器端基础设施。本文档概述了后端系统的核心组件、它们之间的交互以及实现细节。
AFFiNE 的后端基于现代 NodeJS 栈,并使用 NestJS 作为应用框架。它使用 GraphQL 进行 API 交互,使用 Prisma ORM 进行数据库访问,并集成基于 Rust 的原生模块以实现性能关键型操作。
来源
后端实现为一个 NestJS 应用,具有模块化架构。它提供 GraphQL 和 RESTful API 端点,管理身份验证,处理工作区和文档权限,并与 AI 服务集成。
后端依赖于几个关键依赖项
来源
AFFiNE 使用 PostgreSQL 和 Prisma ORM。Schema 包含用户、工作区、文档、AI 会话等实体。主要实体包括:
来源
Copilot AI 系统是 AFFiNE 的一项关键功能,可在应用程序中提供 AI 辅助。它包含多个组件:
来源
Copilot 系统集成了多个 AI 服务提供商,各有不同的能力。
来源
聊天会话系统管理 AI 对话,包括:
来源
工作流系统支持复杂 AI 处理管道。
来源
AFFiNE 的后端同时提供 GraphQL 和 REST API 端点。
GraphQL API 是客户端-服务器交互的主要接口。主要解析器包括:
来源
除了 GraphQL 之外,后端还为特定功能提供 REST 端点。
/api/copilot/chat/:sessionId:非流式聊天补全/api/copilot/chat/:sessionId/stream:流式聊天补全/api/copilot/chat/:sessionId/workflow:复杂工作流执行来源
后端包含基于 Rust 的原生模块,用于性能关键型操作。
来源
AFFiNE 后端旨在支持在多种环境下的部署
关键的部署考量包括
来源
AFFiNE 后端的架构为协作式文档编辑平台提供了坚实的基础,关键组件包括
该架构使 AFFiNE 能够提供丰富的特性集,包括实时协作、AI 助手、用户和工作区管理以及文档处理。
来源
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(1ae36d)