![[Feature Request]: Make BLOB_STORAGE_SIZE_THRESHOLD configurable via environment variable](https://www.chat-gpts.plus/wp-content/uploads/2026/07/16634-af62caa6.jpg)
[Feature Request]: Make BLOB_STORAGE_SIZE_THRESHOLD configurable via environment variable
快速结论:RAGFlow 中 BLOB_STORAGE_SIZE_THRESHOLD 原本硬编码为 20MB,导致通过 WebDAV、Seafile、S3/R2/GCS 同步大文件时自动跳过。该 Issue 已被采纳并合并 PR,现在可通过环境变量 BLOB_STORAGE_SIZE_THRESHOLD 自定义阈值。
问题场景
用户运行 RAGFlow 进行数据源同步时,尤其是使用 WebDAV (如 OpenMediaVault, Synology, Nextcloud)、Seafile 或 S3/R2/GCS 这类 Blob 存储连接器,处理单文件超过 20MB 的 PDF 或扫描书籍时,文件会被静默跳过,仅在日志中出现 WARNING 级别记录。用户无法通过配置调整此限制,除非手动修改容器内源代码(该修改在镜像更新后失效)。
报错原文
WARNING: ... exceeds size threshold of 20971520. Skipping.
该日志由 blob_connector.py、seafile_connector.py 和 webdav_connector.py 在文件超过 BLOB_STORAGE_SIZE_THRESHOLD(20 * 1024 * 1024 = 20MB)时输出。
原因分析
硬编码限制导致:在 common/data_source/config.py 中,BLOB_STORAGE_SIZE_THRESHOLD 直接被赋值为固定值,不支持环境变量覆盖。RAGFlow 其他连接器(如 Confluence、Google Drive)已支持类似环境变量配置方式,但 Blob 存储相关连接器未统一采用此模式。
环境排查
- RAGFlow 版本:需确认是否已更新到包含 PR #16806 的版本(约 2026年7月14日之后 release)。
- 连接器类型:确认数据源类型是否为 WebDAV、Seafile 或 S3/R2/GCS 等 Blob 存储。
- 日志配置:检查是否开启了 WARNING 级别及以上日志以观察跳过行为。
解决步骤
- 升级 RAGFlow 到包含此功能的版本:拉取最新镜像或更新代码至包含 PR #16806 的 commit。
- 设置环境变量:在
docker/.env文件或容器环境变量中添加BLOB_STORAGE_SIZE_THRESHOLD,以字节为单位指定新阈值。例如设为 50MB:
BLOB_STORAGE_SIZE_THRESHOLD=52428800 - 重启服务:应用环境变量后重启 RAGFlow 容器或相关服务。
- (可选)若未升级,可尝试临时方案:手动修改
common/data_source/config.py后通过 bind mount 覆盖容器内文件,但该方案不适用于升级场景。
验证方法
尝试同步一个略大于原 20MB 阈值的文件(例如 25MB PDF),检查日志中是否不再出现 “exceeds size threshold” 的 WARNING 记录,且文件成功同步。也可通过 env | grep THRESHOLD 确认环境变量已正确加载。



