mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-17 08:21:12 -05:00
[PR #16072] feat: google drive folder sync #10820
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/open-webui/open-webui/pull/16072
Author: @riez
Created: 7/27/2025
Status: 🔄 Open
Base:
dev← Head:feat/google-drive-folder-sync📝 Commits (5)
708c065feat: google drive folder sync4fdb9c6fix: wrong field existing sync configurations426df23chore: Revert package.json and package-lock.json changes to match main branch65aa8b5refactor: google drive service in knowledge base route into generic content sources standalone foldersc620d5fchore: remove unused helper function📊 Changes
32 files changed (+5820 additions, -294 deletions)
View changed files
📝
backend/open_webui/config.py(+13 -0)➕
backend/open_webui/content_sources/__init__.py(+24 -0)➕
backend/open_webui/content_sources/base.py(+245 -0)➕
backend/open_webui/content_sources/factory.py(+84 -0)➕
backend/open_webui/content_sources/providers/__init__.py(+1 -0)➕
backend/open_webui/content_sources/providers/google_drive/__init__.py(+4 -0)➕
backend/open_webui/content_sources/providers/google_drive/client.py(+587 -0)➕
backend/open_webui/content_sources/providers/google_drive/provider.py(+460 -0)➕
backend/open_webui/content_sources/registry.py(+125 -0)➕
backend/open_webui/content_sources/scheduler.py(+261 -0)➕
backend/open_webui/content_sources/syncer.py(+1385 -0)📝
backend/open_webui/main.py(+32 -0)📝
backend/open_webui/models/files.py(+126 -2)➕
backend/open_webui/routers/content_sources.py(+279 -0)📝
backend/open_webui/routers/knowledge.py(+251 -5)📝
backend/open_webui/routers/retrieval.py(+37 -0)➕
backend/open_webui/utils/content_sources.py(+38 -0)📝
backend/requirements.txt(+1 -0)📝
src/lib/apis/knowledge/index.ts(+128 -0)📝
src/lib/components/admin/Settings/Documents.svelte(+136 -1)...and 12 more files
📄 Description
Pull Request Checklist
Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.
Before submitting, make sure you've checked the following:
devbranch.Changelog Entry
Description
This PR introduces Google Drive folder synchronization for Open WebUI's knowledge base system. Users can now sync entire Google Drive folders (including nested folders) with their knowledge bases, with automatic periodic synchronization. The implementation uses Google Drive service account authentication for secure server-side access without requiring OAuth flows.
Added
Changed
Deprecated
Removed
Fixed
Security
Breaking Changes
Notes
I'm not sure the about the contributing flow whether I should also create PR in the docs repository while this open or not. I will create the changes in that repo after getting insight on how things usually goes on this PR.
Additional Information
Opened discussion is here: https://github.com/open-webui/open-webui/discussions/14257. I think few people including myself needs this features those I created here.
Local Testing
Some of the local testing log:
Screenshots or Videos
Settings UI
Knowledge Base UI
Contributor License Agreement
By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.