diff --git a/docSite/assets/imgs/ability1.png b/docSite/assets/imgs/ability1.png deleted file mode 100644 index bcab2942d..000000000 Binary files a/docSite/assets/imgs/ability1.png and /dev/null differ diff --git a/docSite/assets/imgs/ability2.png b/docSite/assets/imgs/ability2.png deleted file mode 100644 index b16fc7a44..000000000 Binary files a/docSite/assets/imgs/ability2.png and /dev/null differ diff --git a/docSite/assets/imgs/ability3.png b/docSite/assets/imgs/ability3.png deleted file mode 100644 index 390aa19d0..000000000 Binary files a/docSite/assets/imgs/ability3.png and /dev/null differ diff --git a/docSite/assets/imgs/ability4.png b/docSite/assets/imgs/ability4.png deleted file mode 100644 index 8ff4c1ef0..000000000 Binary files a/docSite/assets/imgs/ability4.png and /dev/null differ diff --git a/docSite/assets/imgs/ability5.png b/docSite/assets/imgs/ability5.png deleted file mode 100644 index 0f6c1c03f..000000000 Binary files a/docSite/assets/imgs/ability5.png and /dev/null differ diff --git a/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image1.jpeg b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image1.jpeg new file mode 100644 index 000000000..b1acdae4b Binary files /dev/null and b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image1.jpeg differ diff --git a/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image2.png b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image2.png new file mode 100644 index 000000000..4df1a846f Binary files /dev/null and b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image2.png differ diff --git a/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image3.png b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image3.png new file mode 100644 index 000000000..46ab8b822 Binary files /dev/null and b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image3.png differ diff --git a/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image4.png b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image4.png new file mode 100644 index 000000000..f4c56a0fd Binary files /dev/null and b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image4.png differ diff --git a/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image5.png b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image5.png new file mode 100644 index 000000000..13212f9c5 Binary files /dev/null and b/docSite/assets/imgs/guide/team_permissions/team_roles_permissions/image5.png differ diff --git a/docSite/assets/imgs/intro/image1.png b/docSite/assets/imgs/intro/image1.png new file mode 100644 index 000000000..3958a7ede Binary files /dev/null and b/docSite/assets/imgs/intro/image1.png differ diff --git a/docSite/assets/imgs/intro/image2.png b/docSite/assets/imgs/intro/image2.png new file mode 100644 index 000000000..6dd5a5b5e Binary files /dev/null and b/docSite/assets/imgs/intro/image2.png differ diff --git a/docSite/assets/imgs/intro/image3.png b/docSite/assets/imgs/intro/image3.png new file mode 100644 index 000000000..c94055d01 Binary files /dev/null and b/docSite/assets/imgs/intro/image3.png differ diff --git a/docSite/assets/imgs/intro/image4.png b/docSite/assets/imgs/intro/image4.png new file mode 100644 index 000000000..881b0209d Binary files /dev/null and b/docSite/assets/imgs/intro/image4.png differ diff --git a/docSite/assets/imgs/intro/image5.png b/docSite/assets/imgs/intro/image5.png new file mode 100644 index 000000000..90e217bb5 Binary files /dev/null and b/docSite/assets/imgs/intro/image5.png differ diff --git a/docSite/assets/imgs/intro/image6.png b/docSite/assets/imgs/intro/image6.png new file mode 100644 index 000000000..c9e8bb9e6 Binary files /dev/null and b/docSite/assets/imgs/intro/image6.png differ diff --git a/docSite/assets/imgs/intro/image7.png b/docSite/assets/imgs/intro/image7.png new file mode 100644 index 000000000..d0770149b Binary files /dev/null and b/docSite/assets/imgs/intro/image7.png differ diff --git a/docSite/assets/imgs/intro/image8.png b/docSite/assets/imgs/intro/image8.png new file mode 100644 index 000000000..03e501309 Binary files /dev/null and b/docSite/assets/imgs/intro/image8.png differ diff --git a/docSite/assets/imgs/intro1.webp b/docSite/assets/imgs/intro1.webp deleted file mode 100644 index d76038c9a..000000000 Binary files a/docSite/assets/imgs/intro1.webp and /dev/null differ diff --git a/docSite/assets/imgs/intro2.png b/docSite/assets/imgs/intro2.png deleted file mode 100644 index a39beb544..000000000 Binary files a/docSite/assets/imgs/intro2.png and /dev/null differ diff --git a/docSite/assets/imgs/intro3.png b/docSite/assets/imgs/intro3.png deleted file mode 100644 index 85fb58dfc..000000000 Binary files a/docSite/assets/imgs/intro3.png and /dev/null differ diff --git a/docSite/assets/imgs/intro4.png b/docSite/assets/imgs/intro4.png deleted file mode 100644 index ea41013a8..000000000 Binary files a/docSite/assets/imgs/intro4.png and /dev/null differ diff --git a/docSite/content/zh-cn/docs/guide/team_permissions/team_roles_permissions.md b/docSite/content/zh-cn/docs/guide/team_permissions/team_roles_permissions.md index f76256a72..6351c0baa 100644 --- a/docSite/content/zh-cn/docs/guide/team_permissions/team_roles_permissions.md +++ b/docSite/content/zh-cn/docs/guide/team_permissions/team_roles_permissions.md @@ -5,4 +5,207 @@ icon: "group" draft: false toc: true weight: 450 ---- \ No newline at end of file +--- + +# 团队 & 成员组 & 权限 + +## 权限系统简介 + +FastGPT +权限系统融合了基于**属性**和基于**角色**的权限管理范式,为团队协作提供精细化的权限控制方案。通过**成员、部门和群组**三种管理模式,您可以灵活配置对团队、应用和知识库等资源的访问权限。 + +## 团队 + +每位用户可以同时归属于多个团队,系统默认为每位用户创建一个初始团队。目前暂不支持用户手动创建额外团队。 + +## 权限管理 + +FastGPT 提供三种权限管理维度: + +**成员权限**:最高优先级,直接赋予个人的权限 + +**部门与群组权限**:采用权限并集原则,优先级低于成员权限 + +权限判定遵循以下逻辑: + +首先检查用户的个人成员权限 + +其次检查用户所属部门和群组的权限(取并集) + +最终权限为上述结果的组合 + +鉴权逻辑如下: + +![](/imgs/guide/team_permissions/team_roles_permissions/image1.jpeg) + +### 资源权限 + +对于不同的**资源**,有不同的权限。 + +这里说的资源,是指应用、知识库、团队等等概念。 + +下表为不同资源,可以进行管理的权限。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
资源可管理权限说明
团队创建应用创建,删除等基础操作
创建知识库创建,删除等基础操作
创建团队 APIKey创建,删除等基础操作
管理成员邀请、移除用户,创建群组等
应用可使用允许进行对话交互
可编辑修改基本信息,进行流程编排等
可管理添加或删除协作者
知识库可使用可以在应用中调用该知识库
可编辑修改知识库的内容
可管理添加或删除协作者
+ +### 协作者 + +必须先添加**协作者**,才能对其进行权限管理: + +![](/imgs/guide/team_permissions/team_roles_permissions/image2.png) + +管理团队权限时,需先选择成员/组织/群组,再进行权限配置。 + +![](/imgs/guide/team_permissions/team_roles_permissions/image3.png) + +对于应用和知识库等资源,可直接修改成员权限。 + +![](/imgs/guide/team_permissions/team_roles_permissions/image4.png) + +团队权限在专门的权限页面进行设置 + +![](/imgs/guide/team_permissions/team_roles_permissions/image5.png) + +## 特殊权限说明 + +### 管理员权限 + +管理员主要负责管理资源的协作关系,但有以下限制: + +- 不能修改或移除自身权限 +- 不能修改或移除其他管理员权限 +-不能将管理员权限赋予其他协作者 + +### Owner 权限 + +每个资源都有唯一的 Owner,拥有该资源的最高权限。Owner +可以转移所有权,但转移后原 Owner 将失去对资源的权限。 + +### Root 权限 + +Root +作为系统唯一的超级管理员账号,对所有团队的所有资源拥有完全访问和管理权限。 + +## 使用技巧 + +### 1. 设置团队默认权限 + +利用\"全员群组\"可快速为整个团队设置基础权限。例如,为应用设置全员可访问权限。 + +**注意**:个人成员权限会覆盖全员组权限。例如,应用 A +设置了全员编辑权限,而用户 M 被单独设置为使用权限,则用户 M +只能使用而无法编辑该应用。 + +### 2. 批量权限管理 + +通过创建群组或组织,可以高效管理多用户的权限配置。先将用户添加到群组,再对群组整体授权。 + +### 开发者参考 +> 以下内容面向开发者,如不涉及二次开发可跳过。 + +#### 权限设计原理 + +FastGPT 权限系统参考 Linux 权限设计,采用二进制方式存储权限位。权限位为 +1 表示拥有该权限,为 0 表示无权限。Owner 权限特殊标记为全 1。 + +#### 权限表 + +权限信息存储在 MongoDB 的 resource_permissions 集合中,其主要字段包括: + +- teamId: 团队标识 +- tmbId/groupId/orgId: 权限主体(三选一) +- resourceType: 资源类型(team/app/dataset) +- permission: 权限值(数字) +- resourceId: 资源ID(团队资源为null) + +系统通过这一数据结构实现了灵活而精确的权限控制。 + +对于这个表的 Schema 定义在 packages/service/support/permission/schema.ts +文件中。定义如下: +```typescript +export const ResourcePermissionSchema = new Schema({ + teamId: { + type: Schema.Types.ObjectId, + ref: TeamCollectionName + }, + tmbId: { + type: Schema.Types.ObjectId, + ref: TeamMemberCollectionName + }, + groupId: { + type: Schema.Types.ObjectId, + ref: MemberGroupCollectionName + }, + orgId: { + type: Schema.Types.ObjectId, + ref: OrgCollectionName + }, + resourceType: { + type: String, + enum: Object.values(PerResourceTypeEnum), + required: true + }, + permission: { + type: Number, + required: true + }, + // Resrouce ID: App or DataSet or any other resource type. + // It is null if the resourceType is team. + resourceId: { + type: Schema.Types.ObjectId + } +}); +``` diff --git a/docSite/content/zh-cn/docs/intro.md b/docSite/content/zh-cn/docs/intro.md index 183e67152..af58862e5 100644 --- a/docSite/content/zh-cn/docs/intro.md +++ b/docSite/content/zh-cn/docs/intro.md @@ -7,76 +7,64 @@ toc: true weight: -10 --- -FastGPT 是一个AI Agent 构建平台,提供开箱即用的数据处理、模型调用等能力,同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的应用场景! +FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,将智能对话与可视化编排完美结合,让 AI 应用开发变得简单自然。无论您是开发者还是业务人员,都能轻松打造专属的 AI 应用。 {{% alert icon="🤖 " context="success" %}} -FastGPT 在线使用:[https://tryfastgpt.ai](https://tryfastgpt.ai) +快速开始体验 +- 海外版:[https://tryfastgpt.ai](https://tryfastgpt.ai) +- 国内版:[https://fastgpt.cn](https://fastgpt.cn) {{% /alert %}} -| | | -| --------------------- | --------------------- | -| ![](/imgs/intro1.webp) | ![](/imgs/intro2.png) | -| ![](/imgs/intro3.png) | ![](/imgs/intro4.png) | +| | | +| --------------------- | --------------------------------- | +| ![](/imgs/intro/image1.png) | ![](/imgs/intro/image2.png) | -## FastGPT 能力 +# FastGPT 的优势 +## 1. 简单灵活,像搭积木一样简单 🧱 +像搭乐高一样简单有趣,FastGPT 提供丰富的功能模块,通过简单拖拽就能搭建出个性化的 AI 应用,零代码也能实现复杂的业务流程。 +## 2. 让数据更智能 🧠 +FastGPT 提供完整的数据智能化解决方案,从数据导入、预处理到知识匹配,再到智能问答,全流程自动化。配合可视化的工作流设计,轻松打造专业级 AI 应用。 +## 3. 开源开放,易于集成 🔗 +FastGPT 基于 Apache 2.0 协议开源,支持二次开发。通过标准 API 即可快速接入,无需修改源码。支持 ChatGPT、Claude、DeepSeek 和文心一言等主流模型,持续迭代优化,始终保持产品活力。 -### 1. 专属 AI 客服 +--- -通过导入文档或已有问答对进行训练,让 AI 模型能根据你的文档以交互式对话方式回答问题。 +# FastGPT 能做什么 +## 1. 全能知识库 +可轻松导入各式各样的文档及数据,能自动对其开展知识结构化处理工作。同时,具备支持多轮上下文理解的智能问答功能,还可为用户带来持续优化的知识库管理体验。 +![](/imgs/intro/image3.png) -![](/imgs/ability1.png) +## 2. 可视化工作流 +FastGPT直观的拖拽式界面设计,可零代码搭建复杂业务流程。还拥有丰富的功能节点组件,能应对多种业务需求,有着灵活的流程编排能力,按需定制业务流程。 +![](/imgs/intro/image4.png) -### 2. 简单易用的可视化界面 +## 3. 数据智能解析 +FastGPT知识库系统对导入数据的处理极为灵活,可以智能处理PDF文档的复杂结构,保留图片、表格和LaTeX公式,自动识别扫描文件,并将内容结构化为清晰的Markdown格式。同时支持图片自动标注和索引,让视觉内容可被理解和检索,确保知识在AI问答中能被完整、准确地呈现和应用。 -FastGPT 采用直观的可视化界面设计,为各种应用场景提供了丰富实用的功能。通过简洁易懂的操作步骤,可以轻松完成 AI 客服的创建和训练流程。 - -![](/imgs/ability5.png) - -### 3. 自动数据预处理 - -提供手动输入、直接分段、LLM 自动处理和 CSV 等多种数据导入途径,其中“直接分段”支持通过 PDF、WORD、Markdown 和 CSV 文档内容作为上下文。FastGPT 会自动对文本数据进行预处理、向量化和 QA 分割,节省手动训练时间,提升效能。 - -![](/imgs/ability2.png) - -### 4. 工作流编排 +![](/imgs/intro/image5.png) +## 4. 工作流编排 基于 Flow 模块的工作流编排,可以帮助你设计更加复杂的问答流程。例如查询数据库、查询库存、预约实验室等。 -![](/imgs/ability3.png) +![](/imgs/intro/image6.png) -### 5. 强大的 API 集成 +## 5. 强大的 API 集成 +FastGPT 完全对齐 OpenAI 官方接口,支持一键接入企业微信、公众号、飞书、钉钉等平台,让 AI 能力轻松融入您的业务场景。 -FastGPT 对外的 API 接口对齐了 OpenAI 官方接口,可以直接接入现有的 GPT 应用,也可以轻松集成到企业微信、公众号、飞书等平台。 +![](/imgs/intro/image7.png) -![](/imgs/ability4.png) +--- -## FastGPT 特点 +# 核心特性 -1. **项目开源** +- 开箱即用的知识库系统 +- 可视化的低代码工作流编排 +- 支持主流大模型 +- 简单易用的 API 接口 +- 灵活的数据处理能力 - FastGPT 遵循**附加条件 Apache License 2.0 开源协议**,你可以 [Fork](https://github.com/labring/FastGPT/fork) 之后进行二次开发和发布。FastGPT 社区版将保留核心功能,商业版仅在社区版基础上使用 API 的形式进行扩展,不影响学习使用。 +--- -2. **独特的 QA 结构** - - 针对客服问答场景设计的 QA 结构,提高在大量数据场景中的问答准确性。 - -3. **可视化工作流** - - 通过 Flow 模块展示了从问题输入到模型输出的完整流程,便于调试和设计复杂流程。 - -4. **无限扩展** - - 基于 API 进行扩展,无需修改 FastGPT 源码,也可快速接入现有的程序中。 - -5. **便于调试** - - 提供搜索测试、引用修改、完整对话预览等多种调试途径。 - -6. **支持多种模型** - - 支持 GPT、Claude、文心一言等多种 LLM 模型,未来也将支持自定义的向量模型。 - -## 知识库核心流程图 - -![](/imgs/functional-arch.webp) +# 知识库核心流程图 +![](/imgs/intro/image8.png)