Skip to content

Dev#1290

Open
Classic298 wants to merge 18 commits into
open-webui:devfrom
Classic298:dev
Open

Dev#1290
Classic298 wants to merge 18 commits into
open-webui:devfrom
Classic298:dev

Conversation

@Classic298

Copy link
Copy Markdown
Collaborator

No description provided.

Classic298 and others added 18 commits June 6, 2026 18:58
IFRAME_CSP (a Content-Security-Policy injected into artifact and
preview srcdoc iframes) is already covered in the env reference and
the hardening guide. This fills the user-facing gap: an artifact-CSP
section and a blank-preview troubleshooting entry on the Artifacts
page, linking to both, with the correct variable name, scope, and
prepend-first-wins behaviour. Based on the intent of PR open-webui#1249.

Co-Authored-By: michaellrowley <13807564+michaellrowley@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Moves the "up-to-date with release" line + its tag link, the
database-schema "up to vX" note, and the pinned docker-image examples
from v0.9.6 to v0.9.7. Historical feature markers (added in / since /
fixed in / requires v0.9.6) are intentionally left, those features
shipped in 0.9.6 and still work there.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… to Legacy

Documents the v0.9.7 breaking change: Native (Agentic) Mode is now the
default for every chat and model that has not explicitly chosen a mode,
and the old prompt-based mode is renamed from "Default" to "Legacy", the
unsupported opt-out. Updates the authoritative Tool Calling Modes section
and the beginner essentials guide, and preserves the
#tool-calling-modes-default-vs-native anchor that ~15 pages link to.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ling essential

Follows the v0.9.7 change (Native is now the default, "Default" renamed "Legacy"):
- Rename "Default Mode" to "Legacy Mode" across rag, performance, agentic-search,
  code-execution, knowledge, the tool-development guide, and the env reference.
- Fix the function_calling value in the tool-development guide: the legacy value
  is now "legacy", not "default".
- Reword the "you must enable native" framings to reflect that native is the
  default now (knowledge.md, rag.mdx entry 13).
- Remove the now-obsolete "Tool calling" section from the getting-started
  essentials (native is automatic; nothing to set up).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replaces the removed tool-calling section. Web Search is the must-have most
new users reach for: live web access beyond the model's training cutoff. The
section links to the provider category so users pick their own backend
(self-hosted SearXNG, free DuckDuckGo, or a commercial API), and notes that
with native function calling now the default the model runs search itself.

Also gives the web-search category an explicit generated-index slug
(/features/chat-conversations/web-search), matching its siblings (audio,
image-generation), so it has a clean linkable path instead of the default
/category/web-search/ route; updated the one existing reference in
url-params.md accordingly.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…x native-default framing

- essentials: remove the "Day one / within the first week" timeframe labels from
  the "What to do next" list (now a plain ordered list of actions).
- tools/development.mdx: collapse the ~8 repeated function-calling-mode checks into
  a single "Detecting the Mode in Your Tool" section. The check now keys on
  is_legacy_mode() (== "legacy"): Native is the default and an unset model no longer
  carries "native", so the old == "native" / "default" checks misclassify the
  now-default case as Legacy. Added that caveat. Removed three near-identical
  both-mode demo tools (replaced with pointers to the canonical section), fixed the
  diagnostic tool and the two Legacy-only guards, and swept leftover "Default Mode"
  terminology.
- Reframe "you must switch to Native" guidance now that Native is the default:
  agentic web search, Open Terminal (index + connecting step 8), code-execution/python.
- code-execution: clarify the older XML-based code path is itself the legacy mechanism.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ndex route

Drop the explicit `slug` added to the web-search `_category_.json`; the category
goes back to the default generated-index route `/category/web-search/`. Re-point
the two links that targeted the slug (essentials "Web Search providers", url-params
web-search) back to that default route. Also drops a stray em-dash in essentials.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ks, add Firecrawl page

- DDGS is a metasearch aggregator (Dux Distributed Global Search), not DuckDuckGo;
  DuckDuckGo is only one of its selectable backends. Relabel it correctly in the
  essentials Web Search section instead of calling it "DuckDuckGo (DDGS)".
- Drop Google PSE from the recommended examples (Programmable Search Engine is being
  retired). Add Perplexity Search and Firecrawl in its place.
- Add a Firecrawl provider page: a real web-search engine (engine value `firecrawl`),
  hosted at api.firecrawl.dev or self-hostable via FIRECRAWL_API_BASE_URL.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
"Supports tool calling" is not enough for a terminal: it is a multi-step
agentic loop (call, read, decide, repeat over many turns), which small models
cannot sustain. Spell that out and give the concrete bar (a 4B to 9B model will
not cut it, even if it nominally supports tools).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Now that DDGS is correctly described as a metasearch aggregator, "free, no
sign-up" reads as an odd middle category. Remove the bullet and leave the two
clean groups (self-hosted, commercial); DDGS is still one click away on the
providers page for anyone who wants it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…owser" app

New /features/computer page for open-webui/computer (cptr), verified against the
local repo: CLI flags, env/data dir, the AI tool system, auth, the cross-platform
PTY terminal, security model and licence.

It leads with a cptr-vs-Open-Terminal comparison because the two are easily
confused. Open Terminal is a shell tool the Open WebUI chat AI drives; cptr is a
separate, human-operated computer (files, editor, terminal, git, mobile-first)
with optional bring-your-own-key AI, not connected to Open WebUI at all. Covers
install/run (pip + Docker), the feature set, the SSH-equivalent security model
and the Open Use License. Cross-linked from the Open Terminal page and the
features landing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
cptr changed the `cptr run --host` default from 0.0.0.0 to 127.0.0.1, so the
server is now reachable only from the local machine unless you opt in with
`--host 0.0.0.0`. State that default in the install section and fold it into the
security model (network exposure is now opt-in). Docker still works unchanged:
the image's CMD binds 0.0.0.0 inside the container.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PR open-webui/open-webui#25218 (released in v0.9.6) removed the hardcoded
`t0p-s3cr3t` fallback. The env reference still described that fallback and said
direct uvicorn / `open-webui dev` "uses the code-level fallback". That is no
longer true: with authentication enabled and no key set, the backend now exits
at startup and asks you to set WEBUI_SECRET_KEY. Auto-generation via start.sh /
`open-webui serve` is unchanged, so the supported paths still need no manual key.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ET_KEY

The table row already conveys that dev / direct uvicorn is unsupported and that
you set the key yourself there. Remove the extra explanatory paragraph.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
cptr v0.1.6 added "plan mode" (the AI drafts an implementation plan for review
before making changes) and made its file tools and search block `.env` / `.env.*`
files. Reflect both in the AI-agent feature description. v0.1.5/0.1.7-0.1.9 were
packaging and race-condition fixes with no doc impact.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The "also on the community site" link actually points to a GitHub discussion,
not the community site. Reword to "see the Show-and-tell discussion".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ENABLE_FORWARD_USER_INFO_HEADERS claimed all six headers go to OpenAI, Ollama,
MCP and tool servers alike. Verified against source (utils/headers.py, the
openai/ollama/anthropic routers, utils/tools.py): the four user-info headers go
to nearly all outbound backends, X-OpenWebUI-Chat-Id goes to OpenAI/Ollama/tool
servers (not Anthropic), and X-OpenWebUI-Message-Id is set only on tool-server
calls (OpenAPI + MCP), not on OpenAI/Ollama/Anthropic/Pipelines connections.
Replace the flat list with an accurate per-destination table, matching the
behaviour reported in discussion #23384.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Previous edit over-emphasized the exceptions and read as if OpenAI barely
receives headers. Lead instead with what is forwarded: the four user-info
headers go to nearly every backend, and OpenAI/Ollama/Pipelines requests get
five of the six headers (user info + Chat-Id). Only Message-Id is
tool-server-specific.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant