open-webui/open-webui
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
How open-webui is put together
Open WebUI is an extensible, self-hosted AI platform providing a chat/RAG interface over LLM runners (Ollama, OpenAI-compatible APIs). The backend is a Python FastAPI application (backend/open_webui) organized into models (SQLAlchemy ORM), routers (REST endpoints), sockets (real-time), retrieval, storage, tools, and utils; the frontend is a SvelteKit/Svelte 5 SPA built with Vite and Tailwind, served as static assets. Data flows from the Svelte client via REST and Socket.IO to FastAPI routers, which persist to SQLite or PostgreSQL via SQLAlchemy/Alembic and route RAG/vector operations to one of several vector databases. It supports enterprise auth (LDAP, OAuth, SCIM, trusted headers), Redis-backed horizontal scaling, and pluggable storage (local, S3, GCS, Azure Blob).
Languages
Frameworks
Datastores
Infrastructure
Major components
Backend API routers (backend/open_webui/routers)
FastAPI REST endpoints for chats, auth, files, models, retrieval, audio, images, tools, users, groups, SCIM, and more.
Data models (backend/open_webui/models)
SQLAlchemy ORM definitions and access logic for users, auths, chats, knowledge, files, groups, oauth_sessions, and related entities.
Authentication & authorization (backend/open_webui/utils/auth.py, routers/auths.py, routers/scim.py)
Handles login, JWT/session tokens, RBAC, LDAP, OAuth, trusted-header SSO, and SCIM 2.0 provisioning.
Retrieval / RAG (backend/open_webui/retrieval)
Document loading, embedding, vector-database integration, hybrid search, and web-search-based retrieval augmentation.
Real-time socket layer (backend/open_webui/socket)
Socket.IO server for chat streaming, channels, presence, and Redis-backed multi-worker session/state management.
Storage provider abstraction (backend/open_webui/storage/provider.py)
Pluggable file storage backend supporting local disk, S3, Google Cloud Storage, and Azure Blob.
Tools & functions runtime (backend/open_webui/tools, functions.py)
Executes user/plugin filters, actions, pipes, tools, and skills, including sandboxed Python via RestrictedPython.
SvelteKit frontend (src)
Static SPA client providing the chat UI, editor, admin dashboards, and PWA experience communicating with the backend over REST and Socket.IO.
A quiet, refactor-heavy week with targeted accessibility, performance, and security fixes.
Over these two weeks the team focused heavily on polish and hardening rather than big new features: a large wave of accessibility fixes made the interface fully keyboard- and screen-reader-friendly, alongside numerous performance optimizations that make chat, file uploads, and web search faster. A steady stream of small bug fixes tightened security and reliability, while a few new capabilities landed like self-hosted web search and more configuration options.
Week by week
2026-07-27A quiet, refactor-heavy week with targeted accessibility, performance, and security fixes.latest6 changes
Refactor
Optional faster JSON handling
Added an opt-in setting to use a faster library for reading and writing data, improving speed.
Fix
Preserve admin access to connections
Admins keep access to connections even when a stricter access-control mode is turned on.
Fix
Prevent knowledge search from stalling
Limited how knowledge-base searches match text so a single query can't hang the system.
Fix
Highlight the current chat for screen readers
The open chat is now clearly marked in the sidebar for assistive technology users.
Fix
Keyboard-friendly sidebar folders
Folder rows in the sidebar can now be operated with a keyboard.
Chore
Ongoing code cleanup and formatting
A large batch of internal tidying and reformatting with no user-facing change.
2026-07-20A busy week combining major accessibility improvements, several speed optimizations, and new configuration and search options.6 changes
Feature
Self-hosted web search backend
Added support for OpenSERP so organizations can run their own web search.
Feature
Master toggle for OAuth/OIDC login
Admins get a single switch to enable or disable external sign-in in Authentication settings.
Refactor
Faster chat responses and web page parsing
Chat replies are built without wasteful data copying, and scraped web pages are parsed faster and off the main loop.
Fix
Keep OAuth sessions alive
Login sessions refresh before they expire so users aren't unexpectedly signed out.
Fix
Correct transcription assembly
Multi-part audio transcriptions now keep their pieces in the right order.
Fix
Sortable admin and knowledge tables
User and knowledge lists can now be sorted by columns, including via keyboard.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 1500 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required