菜单

AI 功能

相关源文件

本页面介绍了 AFFiNE 的 AI 功能,包括后端架构、前端组件和支持的 AI 功能。它概述了 AFFiNE 如何与 OpenAI、Google Gemini 和 FAL AI 等 AI 提供商集成以提供各种 AI 驱动的功能。有关编辑器中特定 AI 实现的信息,请参阅编辑器系统

AI 系统架构

AFFiNE 的 AI 系统(“Copilot”)构建于一个全面的客户端-服务器架构之上,该架构处理各种 AI 功能。后端与外部 AI 提供商集成,管理会话并处理请求,而前端则提供了与这些 AI 服务交互的用户界面。

后端架构

来源

前端架构

来源

后端组件

Copilot 控制器

CopilotController 是 AI API 端点的主入口点。它处理 HTTP 请求、管理流式响应并协调不同服务。

来源

关键方法

  • chat: 处理非流式文本生成请求
  • chatStream: 处理流式文本生成请求
  • chatWorkflow: 处理复杂工作流执行
  • chatImagesStream: 处理图像生成或修改请求

聊天会话服务

ChatSessionService 管理聊天会话及其消息,提供创建、检索和操作会话的方法。

来源

该服务管理两个主要类

  • ChatSessionService:高层管理会话,处理创建、检索、分叉和清理
  • ChatSession:表示单个聊天会话,并具有用于操作消息和准备提示的方法

提供商工厂

CopilotProviderFactory 集成了各种 AI 提供商,并根据能力和模型要求选择合适的提供商。

每个提供商都实现了特定功能的接口

提供商功能
OpenAI 提供商文本到文本、文本到嵌入、文本到图像、图像到文本
Gemini 提供商文本到文本
Fal 提供商文本到图像、图像到图像、图像到文本
Perplexity 提供商文本到文本、文本到嵌入

来源

提示词服务

PromptService 管理 AI 提示词,即 AI 交互的模板。提示词包括系统指令、示例消息和配置参数,用于指导 AI 的响应。

来源

提示词按用途分类

  • 常规聊天提示词:用于一般性对话
  • 动作提示词:用于特定的单次任务(总结、解释、翻译等)
  • 工作流提示词:用于涉及不同模型或提供商的多步流程

工作流服务

CopilotWorkflowService 管理复杂 AI 工作流,这些工作流涉及多个步骤和不同的 AI 提供商。工作流表示为带有不同处理步骤节点的图形。

来源

工作流系统支持复杂的多步 AI 流程,其中每一步都可以使用不同的模型或提供商。示例包括:

  • 演示文稿生成:检测语言、生成结构化内容、检查格式
  • 头脑风暴:创建具有层级结构的思维导图
  • 图像滤镜:通过多个处理步骤应用艺术风格

GraphQL 解析器

CopilotResolver 提供用于前端通信的 GraphQL 端点,处理会话管理、消息创建和上下文操作等操作。

来源

前端组件

聊天面板

ChatPanel 是与 AFFiNE AI 交互的主要 UI 组件。它显示聊天历史记录,管理用户输入,并显示 AI 响应。

来源

ChatPanel 通过以下方式与编辑器集成

  • 按需提取选定内容
  • 为文档创建新的聊天会话
  • 管理文档内容的嵌入进度
  • 以适当的格式显示 AI 生成的内容

AI 提供商

AIProvider 是一个客户端服务,用于与后端 AI API 进行交互。它提供聊天会话、历史记录检索和特殊操作的方法。

来源

AIProvider 实现为单例,在应用程序启动期间初始化。它将前端请求映射到后端 API 端点,处理身份验证并处理响应。

聊天 UI 组件

AFFiNE 为 AI 聊天体验提供了专门的 UI 组件。

聊天消息组件

ChatPanelMessages 组件显示聊天历史记录并管理消息渲染。

来源

聊天输入组件

AIChatInput 组件提供用户输入功能,支持文件上传和输入。

来源

上下文芯片

ChatPanelChips 组件管理为 AI 提供额外信息的上下文项。

来源

AI 功能

AFFiNE AI 通过集成各种 AI 模型和提供商,支持广泛的功能。

模型和提供商

提供商模型功能
OpenAIGPT-4o、GPT-4.1、GPT-4.1-mini、DALL-E 3、文本嵌入文本生成、图像生成、嵌入
GoogleGemini 2.5 Pro、Gemini 2.0 Flash文本生成、音频转录
FAL AISDXL、LCM SD15、各种专业模型图像生成、图像编辑、风格迁移
PerplexityPerplexity 模型文本生成、嵌入

来源

文本生成

AFFiNE 支持各种文本生成功能

功能描述
对话与 AI 助手进行交互式对话
总结生成文本内容的简洁摘要
解释解释概念、代码或图像
翻译在语言之间翻译内容
代码分析解释和分析代码片段
网页内容分析总结和提取网页中的见解

来源

图像生成与编辑

AFFiNE 提供多种图像功能

功能描述
文本到图像根据文本描述生成图像
图像到图像根据文本提示转换图像
风格滤镜应用艺术风格(黏土、素描、动漫、像素)
图像处理放大、移除背景、转换为贴纸
图像字幕生成为图像生成字幕
图像解释分析和解释图像内容

来源

音频转录

AFFiNE提供音频转录功能

来源

上下文与嵌入

AFFiNE实现了上下文系统,用于语义理解内容

来源

AI工作流

AFFiNE为专门任务实现了复杂AI工作流,结合了多个AI模型和处理步骤。

演示文稿生成器

演示文稿工作流生成带有标题、章节和图像建议的幻灯片内容

来源

头脑风暴思维导图

头脑风暴工作流生成层级式思维导图

来源

图像风格滤镜

AFFiNE实现了多个图像风格滤镜工作流

来源

与编辑器的集成

AFFiNE AI通过几个组件与编辑器集成

侧边栏聊天面板

EditorChatPanel组件将聊天面板集成到编辑器侧边栏中

来源

AI聊天块

AIChatBlockPeekView组件为编辑器中的AI聊天块提供预览视图

来源

AI组件注册

effects.ts文件将所有AI组件注册到编辑器中

来源

AI Provider设置

setupAIProvider函数在应用程序启动时初始化AIProvider

来源

结论

AFFiNE的AI功能为内容创作、分析和增强提供了一整套全面的能力。该系统集成了多个AI提供商和模型,提供广泛的功能,所有这些功能都集成在编辑器的界面中,以提供无缝的用户体验。

该架构设计为可扩展的,允许根据需要添加新的AI功能和提供商。前端和后端组件之间的分离使得AI功能能够高效地处理和交付,并妥善处理流式响应和复杂工作流。