mirror of
https://github.com/open-webui/open-webui.git
synced 2026-05-21 17:13:00 -05:00
[PR #17433] [CLOSED] refactor: split legacy config file into smaller chunks (3/4) #24429
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/17433
Author: @luxass
Created: 9/14/2025
Status: ❌ Closed
Base:
dev← Head:refactor/split-legacy-config📝 Commits (10+)
5ee3521refactor: move config.py into config/ package structure61ce6c4refactor(logging): move logging setup to a dedicated modulec9639ddrefactor(config): reorganize configuration modules and enhance structured300bdfchore: format5efefcbMerge branch 'dev' into refactor/move-to-config-module8b67a4aMerge branch 'dev' into refactor/move-to-config-module5d1ae32chore: format56bfb79Merge branch 'refactor/move-to-config-module' into refactor/extract-core-config3b71b86refactor(config): reorganize imports and create llm modulee0a2faafeat(config): add authentication configuration module📊 Changes
36 files changed (+3737 additions, -3505 deletions)
View changed files
➖
backend/open_webui/config.py(+0 -3483)➕
backend/open_webui/config/__init__.py(+8 -0)➕
backend/open_webui/config/core/__init__.py(+8 -0)➕
backend/open_webui/config/core/auth.py(+638 -0)➕
backend/open_webui/config/core/base.py(+171 -0)➕
backend/open_webui/config/core/database.py(+80 -0)➕
backend/open_webui/config/core/logging.py(+15 -0)➕
backend/open_webui/config/features/__init__.py(+11 -0)➕
backend/open_webui/config/features/admin.py(+36 -0)➕
backend/open_webui/config/features/features.py(+72 -0)➕
backend/open_webui/config/features/misc.py(+98 -0)➕
backend/open_webui/config/features/permissions.py(+211 -0)➕
backend/open_webui/config/features/static.py(+113 -0)➕
backend/open_webui/config/features/tasks.py(+311 -0)➕
backend/open_webui/config/features/ui.py(+134 -0)➕
backend/open_webui/config/integrations/__init__.py(+10 -0)➕
backend/open_webui/config/integrations/code_interpreter.py(+133 -0)➕
backend/open_webui/config/integrations/llm.py(+127 -0)➕
backend/open_webui/config/integrations/media.py(+455 -0)➕
backend/open_webui/config/integrations/retrieval.py(+865 -0)...and 16 more files
📄 Description
⚠️ DEPENDS ON PR #17431
This PR builds on the changes from PR #17431. The diff currently shows cumulative changes from both PRs. Once PR #17431 is merged, I will rebase this branch and the diff will show only the changes specific to this PR.
Part 3/4 of the config refactoring series.
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
Complete the modularization of configuration by organizing remaining components from
config/legacy.pyinto a hierarchical structure withcore/,features/, andintegrations/subdirectories. This improved organization provides better logical separation than the original flat structure, making the codebase more maintainable and easier to navigate. This is part 3 of 4 in the config.py refactoring series.Added
config/core/package: Fundamental system componentsauth.py: Authentication, OAuth, security settings, and user management configurationsconfig/features/package: Application feature configurationsadmin.py: Administrative settings and controlsfeatures.py: Feature toggles and experimental functionality controlsmisc.py: Miscellaneous application settings and general configurationspermissions.py: User permissions, role management, and access control settingsstatic.py: Static file serving, paths, and asset configurationtasks.py: Background task configuration, scheduling, and processing settingsui.py: User interface customization, themes, and presentation settingsconfig/integrations/package: External service integrationscode_interpreter.py: Code execution and interpretation service configurationsllm.py: Large Language Model configurations (Ollama, OpenAI, etc.)media.py: Image generation (AUTOMATIC1111, ComfyUI), STT, TTS configurationsretrieval.py: RAG (Retrieval Augmented Generation) and document processing settingsstorage.py: File storage, data persistence, and backup configurationsvector.py: Vector database (Qdrant, etc.) and embedding configurationsChanged
__init__.pyDeprecated
Removed
config/legacy.py(distributed across the new hierarchical structure)Fixed
Security
Breaking Changes
Additional Information
Improved File Structure
The new hierarchical organization provides clear logical separation:
Screenshots or Videos
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.