OpenRAG云存储连接器配置指南:AWS S3、Google Drive、OneDrive、SharePoint全教程
【免费下载链接】openragOpenRAG is a comprehensive, single package Retrieval-Augmented Generation platform built on Langflow, Docling, and Opensearch.项目地址: https://gitcode.com/GitHub_Trending/open/openrag
OpenRAG 是一款基于 Langflow、Docling 和 OpenSearch 构建的开源自托管 RAG(检索增强生成)平台。通过云存储连接器配置,你可以把存放在AWS S3、Google Drive、Microsoft OneDrive、SharePoint中的文档自动同步进知识库,实现"云盘即语料库",让 AI 直接回答你云端文档中的问题。本教程面向新手,带你从零完成 OpenRAG 连接器的 OAuth 凭证准备、环境配置到 Web 界面管理的全流程。
为什么需要云存储连接器?
传统做法是手动把 PDF、Word 上传到知识库,文件一多就很痛苦。OpenRAG 的云存储连接器改变了这个流程:
- 📁批量同步:一次性把整个云端文件夹(如 S3 桶、共享网盘目录)纳入知识库
- 🔄增量更新:基于文件修改时间检测变化,只重新处理被修改过的文件
- 🔐权限继承:自动保留云端文档的 ACL 访问控制,谁有权限看,谁才能被 AI 引用
- 🔔Webhook 自动摄取:云端文件一变动,自动触发重新索引
所有连接器都统一注册在 src/connectors/registry.py 中,内置 4 个,并通过 enhancements/ 目录扩展了 Azure Blob 和 IBM COS 等更多存储。
四大连接器一览
| 连接器 | 类型 | 认证方式 | 凭证 | 源码位置 |
|---|---|---|---|---|
| Amazon S3 | 桶型(bucket) | HMAC 密钥对 | Access Key + Secret Key | src/connectors/aws_s3/ |
| Google Drive | OAuth | OAuth 2.0 | Client ID + Client Secret | src/connectors/google_drive/ |
| Microsoft OneDrive | OAuth | Microsoft Graph | 与 SharePoint 共用一套凭证 | src/connectors/onedrive/ |
| SharePoint | OAuth | Microsoft Graph | 与 OneDrive 共用一套凭证 | src/connectors/sharepoint/ |
💡 注意:OneDrive 和 SharePoint 走同一个 Microsoft Graph 应用注册,只需配一套凭证即可同时启用两者。
第一步:注册 OAuth 应用并生成凭证
每个云服务商都需要先在对方平台注册应用。以下是各家需要的凭证清单:
Google Drive 凭证
在 Google Cloud Console 中创建 OAuth 客户端,得到Client ID和Client Secret。
⚠️重要:Google 是 OpenRAG 唯一支持的登录 OAuth 提供方。提供 Google 凭证不仅启用 Google Drive 连接器,还会同时开启 OpenRAG 和 OpenSearch 知识库的 OAuth 登录模式。
Microsoft(OneDrive / SharePoint)凭证
在 Azure 应用注册中为 SharePoint 和 OneDrive 创建应用,填写Microsoft OAuth Client ID和Client Secret。这两个凭证仅用于授权云存储连接器,不提供 Microsoft 登录。
AWS S3 凭证
S3 走的是HMAC 密钥认证而非 OAuth,只需要一对拥有 S3 访问权限的AWS Access Key ID和AWS Secret Access Key。S3 连接器甚至兼容 MinIO、Cloudflare R2 等任何 S3 协议存储(见 src/connectors/aws_s3/connector.py 中的端点覆盖逻辑)。
第二步:把凭证写入 OpenRAG 配置
OpenRAG 提供两种配置方式,任选其一。官方文档见 docs/docs/core-components/knowledge-connectors.mdx。
方式一:终端 TUI 交互式配置(推荐新手)
如果你用 OpenRAG 的终端会话管理服务,在Cloud connectors and advanced settings(云连接器与高级设置)提示处直接输入各家凭证即可。服务已在运行时:
- 在终端选择Stop services停止服务
- 选择Reconfigure重新配置
- 保留管理员密码和 AI 提供商配置,在云连接器提示处按
Y - 依次输入 Google / Microsoft / AWS 的凭证
- 可选地设置Webhook Base URL(启用自动摄取所需)
- 看到
Configuration saved后按Y启动服务
方式二:自行管理容器时编辑.env文件
Docker 自部署的用户直接编辑 OpenRAG 的.env文件,追加对应环境变量:
GOOGLE_OAUTH_CLIENT_ID= GOOGLE_OAUTH_CLIENT_SECRET= MICROSOFT_GRAPH_OAUTH_CLIENT_ID= MICROSOFT_GRAPH_OAUTH_CLIENT_SECRET= AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY=这些变量在 src/config/settings.py 中被读取。配置完成后重启容器,访问localhost:3000即可。
第三步:注册重定向 URI(容易漏掉!)
凭证填完还没结束——必须把 OpenRAG 的重定向地址登记到各 OAuth 应用中,否则授权会失败:
- 本地部署:
http://localhost:3000/auth/callback - 生产部署:
https://your-domain.com/auth/callback
TUI 方式下,终端会直接显示需要注册的回调地址,照抄即可。对 Google 而言,这个地址还负责把用户登录后跳回 OpenRAG。
第四步:在 Web 界面连接并同步
服务启动后,进入Settings(设置)页面,就可以对每个云存储连接器执行连接、断开、重连、编辑配置等操作。之后在知识摄取入口选择对应连接器,勾选文件即可同步。
增量同步与变更检测
OpenRAG 的连接器基类 src/connectors/base.py 定义了变更检测策略:桶型连接器(S3)使用timestamp模式,只重新摄取远端修改时间更新的 Blob;OAuth 连接器默认replace_always模式,同步时覆盖已索引的副本,确保云端修改能传播到知识库。
开启 Webhook 自动摄取
设置WEBHOOK_BASE_URL后,OAuth 连接器的 Webhook 地址将构造为WEBHOOK_BASE_URL/connectors/${provider}/webhook。云端文件一有变更,OpenRAG 就能自动感知并重新索引,真正做到"零手动"同步。
工作原理:文档如何进入 OpenSearch
连接器拉取到文档后,整条流水线是:连接器 → Docling 文档解析 → 分块嵌入 → OpenSearch 索引 → Langflow Agent 检索问答。下面这张图展示了 OpenRAG 中 Agent 流程编排的方式:
每条文档都会携带 DocumentACL 访问控制信息,检索时按当前用户权限过滤,保证"云端的权限边界"在 AI 问答中同样生效。
常见问题排查
| 问题 | 原因与解决 |
|---|---|
| 连接器在界面上不出现 | 检查.env中对应凭证是否完整并重启容器 |
| Google 登录失败 | Google 凭证同时是登录凭证,确认已填且重定向 URI 已注册 |
| S3 桶列不出来 | 检查 Access Key 的 S3 权限;OSS 版本中 S3 连接器还受功能开关控制(见 src/connectors/aws_s3/connector.py) |
| 云盘改了文件但知识库没更新 | 未配置WEBHOOK_BASE_URL,或需手动触发一次 Sync |
| 想看更多云存储(Azure Blob 等) | 扩展连接器位于 enhancements/connectors/,含 Azure Blob 与 IBM COS 实现 |
总结
配置 OpenRAG 云存储连接器只需四步:注册 OAuth 应用 → 凭证写入配置 → 登记重定向 URI → 界面连接同步。配好之后,你的 AWS S3、Google Drive、OneDrive 和 SharePoint 就都变成了 AI 可以直接提问的知识库,而且权限控制和增量同步开箱即用。
- 📖 连接器官方文档:docs/docs/core-components/knowledge-connectors.mdx
- 📥 摄取流程参考:docs/docs/core-components/ingestion.mdx
- 🔌 连接器注册表源码:src/connectors/registry.py
- ⚙️ 配置参考:docs/docs/reference/configuration.mdx
【免费下载链接】openragOpenRAG is a comprehensive, single package Retrieval-Augmented Generation platform built on Langflow, Docling, and Opensearch.项目地址: https://gitcode.com/GitHub_Trending/open/openrag
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考