mirror of
https://github.com/open-webui/open-webui.git
synced 2026-07-17 17:02:01 -05:00
[PR #16072] feat: google drive folder sync #111333
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 (4)
6e69da3feat: google drive folder sync3cc1c70fix: wrong field existing sync configurations40e8011refactor: google drive service in knowledge base route into generic content sources standalone folders4346605chore: remove unused helper function📊 Changes
31 files changed (+5645 additions, -282 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(+31 -0)📝
backend/open_webui/models/files.py(+87 -0)➕
backend/open_webui/routers/content_sources.py(+279 -0)📝
backend/open_webui/routers/knowledge.py(+196 -2)📝
backend/open_webui/routers/retrieval.py(+37 -0)➕
backend/open_webui/utils/content_sources.py(+38 -0)📝
src/lib/apis/knowledge/index.ts(+128 -0)📝
src/lib/components/admin/Settings/Documents.svelte(+137 -1)📝
src/lib/components/workspace/Knowledge/KnowledgeBase.svelte(+45 -18)...and 11 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.