Purely additive section in docs/reference/https/caddy.md for operators who
run Open WebUI behind a shared reverse proxy or managed hosting without
app-layer env-var access. Includes a single-layer-only warning (duplicate
headers), the five unambiguous headers with an HSTS caveat, and a pointer to
the hardening docs; CSP is intentionally left to the CONTENT_SECURITY_POLICY
env var.
- Promote oikb to a standalone "Knowledge Base Sync" feature
(features/knowledge-base-sync/), move it out of workspace/, and
cross-link it from Knowledge, the Features index and the OpenAPI
tool-servers guide. Add large-corpus guidance (prefer oikb over the
in-app Sync Directory at scale).
- Recommend ENABLE_KB_EXEC for an enhanced agentic RAG experience in
the env reference, beginner essentials, RAG guide, RAG
troubleshooting and Knowledge. Add a "guiding tool choice across
mixed knowledge bases" section (kb_exec vs query_knowledge_files via
a system prompt).
- Stop recommending RAG_SYSTEM_CONTEXT: drop the KV-cache tip from the
performance and RAG guides and neutralise the env reference.
- Convert the Redis tutorial to actually use Redis (was Valkey
throughout) and add a separate Valkey tutorial for those who want it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Clarify that Native (Agentic) Mode is configured via the Admin Panel (recommended) and, for env-var-managed instances, via the `function_calling` key inside `DEFAULT_MODEL_PARAMS`. Explicitly note there is no standalone `FUNCTION_CALLING_MODE` variable, a common misconception. Adds a notice to the central tools guide and a pointer from the agentic-search page.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Python tab linked [Docker image](#docker), but the page's Docker content is
a TabItem with no heading anchor, so the Docusaurus build flagged it. Made it
plain emphasis instead.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New env var (upstream PR #25476 / 83890f1). Caps the byte length of inline
data:image base64 profile images (user avatars + model icons) to bound
Postgres/Redis bloat; unset by default (no cap), startup-only.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New env var (upstream ee47c9c). RAG retrieval now verifies the user can read a
file/collection before searching its vectors; this flag (default False) only
restores the old permissive behavior. Default is correct for essentially all
deployments.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New ConfigVar (upstream d4030a8a) — MinerU was hardcoded to PDF only; admins
can now route additional extensions (default `pdf`) to the MinerU extraction
engine via env var, the RAG config API, or the Documents admin settings.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New Workspace page introducing oikb (open-webui/oikb), the official companion
CLI/daemon that mirrors external sources into Knowledge Bases via the v0.9.6
incremental /sync/diff + /sync/cleanup endpoints. Covers quick start, the 44
connectors, exposing the daemon as an OpenAPI tool server, and how the sync
loop maps to the server-side endpoints. Cross-linked from the Knowledge sync
section. Corrects the tool-server location (External Tools / Settings → Tools,
not Settings → Connections).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Per-user MCP servers are deliberately not supported (issue #24620 closed as
intended): an MCP server is a stateful, capability-rich endpoint running inside
the trust boundary with the user's full scope, unlike a stateless OpenAPI URL.
Adds a dedicated section + FAQ entry explaining the admin-only design and why.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Updates the ENV configuration description for `ENABLE_RAG_HYBRID_SEARCH`:
- Change "ensemble search" to "hybrid search" to match env variable name
- Generalize "ChromaDB" to "configured vector store" since hybrid search is not ChromaDB specific
- Generalize `sentence_transformers` since hybrid search works on more than just the default `sentence_transformers` models.
- Since reranking is optional (the code passes `reranking_function=None` when `RERANKING_FUNCTION` isn't configured), and it can be any encoder (not just `sentence_transformers`, generalizes reference.